From d01cd7af319195ad632bd1d3c601344c11984a3b Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 16 2015 17:13:19 +0000
Subject: [PATCH 1/254] Add latest bootstrap.


---

diff --git a/hubs/static/bootstrap b/hubs/static/bootstrap
index e9aafbd..41ec0f8 120000
--- a/hubs/static/bootstrap
+++ b/hubs/static/bootstrap
@@ -1 +1 @@
-bootstrap-3.1.1-fedora
\ No newline at end of file
+bootstrap-3.3.4-fedora
\ No newline at end of file
diff --git a/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap-theme.css b/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap-theme.css
new file mode 100644
index 0000000..5365111
--- /dev/null
+++ b/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap-theme.css
@@ -0,0 +1,587 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+.btn-default,
+.btn-primary,
+.btn-success,
+.btn-info,
+.btn-warning,
+.btn-danger {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
+          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
+}
+.btn-default:active,
+.btn-primary:active,
+.btn-success:active,
+.btn-info:active,
+.btn-warning:active,
+.btn-danger:active,
+.btn-default.active,
+.btn-primary.active,
+.btn-success.active,
+.btn-info.active,
+.btn-warning.active,
+.btn-danger.active {
+  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+}
+.btn-default.disabled,
+.btn-primary.disabled,
+.btn-success.disabled,
+.btn-info.disabled,
+.btn-warning.disabled,
+.btn-danger.disabled,
+.btn-default[disabled],
+.btn-primary[disabled],
+.btn-success[disabled],
+.btn-info[disabled],
+.btn-warning[disabled],
+.btn-danger[disabled],
+fieldset[disabled] .btn-default,
+fieldset[disabled] .btn-primary,
+fieldset[disabled] .btn-success,
+fieldset[disabled] .btn-info,
+fieldset[disabled] .btn-warning,
+fieldset[disabled] .btn-danger {
+  -webkit-box-shadow: none;
+          box-shadow: none;
+}
+.btn-default .badge,
+.btn-primary .badge,
+.btn-success .badge,
+.btn-info .badge,
+.btn-warning .badge,
+.btn-danger .badge {
+  text-shadow: none;
+}
+.btn:active,
+.btn.active {
+  background-image: none;
+}
+.btn-default {
+  text-shadow: 0 1px 0 #fff;
+  background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
+  background-image:      -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
+  background-image:         linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  background-repeat: repeat-x;
+  border-color: #dbdbdb;
+  border-color: #ccc;
+}
+.btn-default:hover,
+.btn-default:focus {
+  background-color: #e0e0e0;
+  background-position: 0 -15px;
+}
+.btn-default:active,
+.btn-default.active {
+  background-color: #e0e0e0;
+  border-color: #dbdbdb;
+}
+.btn-default.disabled,
+.btn-default[disabled],
+fieldset[disabled] .btn-default,
+.btn-default.disabled:hover,
+.btn-default[disabled]:hover,
+fieldset[disabled] .btn-default:hover,
+.btn-default.disabled:focus,
+.btn-default[disabled]:focus,
+fieldset[disabled] .btn-default:focus,
+.btn-default.disabled.focus,
+.btn-default[disabled].focus,
+fieldset[disabled] .btn-default.focus,
+.btn-default.disabled:active,
+.btn-default[disabled]:active,
+fieldset[disabled] .btn-default:active,
+.btn-default.disabled.active,
+.btn-default[disabled].active,
+fieldset[disabled] .btn-default.active {
+  background-color: #e0e0e0;
+  background-image: none;
+}
+.btn-primary {
+  background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
+  background-image:      -o-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#2d6ca2));
+  background-image:         linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  background-repeat: repeat-x;
+  border-color: #2b669a;
+}
+.btn-primary:hover,
+.btn-primary:focus {
+  background-color: #2d6ca2;
+  background-position: 0 -15px;
+}
+.btn-primary:active,
+.btn-primary.active {
+  background-color: #2d6ca2;
+  border-color: #2b669a;
+}
+.btn-primary.disabled,
+.btn-primary[disabled],
+fieldset[disabled] .btn-primary,
+.btn-primary.disabled:hover,
+.btn-primary[disabled]:hover,
+fieldset[disabled] .btn-primary:hover,
+.btn-primary.disabled:focus,
+.btn-primary[disabled]:focus,
+fieldset[disabled] .btn-primary:focus,
+.btn-primary.disabled.focus,
+.btn-primary[disabled].focus,
+fieldset[disabled] .btn-primary.focus,
+.btn-primary.disabled:active,
+.btn-primary[disabled]:active,
+fieldset[disabled] .btn-primary:active,
+.btn-primary.disabled.active,
+.btn-primary[disabled].active,
+fieldset[disabled] .btn-primary.active {
+  background-color: #2d6ca2;
+  background-image: none;
+}
+.btn-success {
+  background-image: -webkit-linear-gradient(top, #79db32 0%, #5cb11f 100%);
+  background-image:      -o-linear-gradient(top, #79db32 0%, #5cb11f 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#79db32), to(#5cb11f));
+  background-image:         linear-gradient(to bottom, #79db32 0%, #5cb11f 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff79db32', endColorstr='#ff5cb11f', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  background-repeat: repeat-x;
+  border-color: #58a81e;
+}
+.btn-success:hover,
+.btn-success:focus {
+  background-color: #5cb11f;
+  background-position: 0 -15px;
+}
+.btn-success:active,
+.btn-success.active {
+  background-color: #5cb11f;
+  border-color: #58a81e;
+}
+.btn-success.disabled,
+.btn-success[disabled],
+fieldset[disabled] .btn-success,
+.btn-success.disabled:hover,
+.btn-success[disabled]:hover,
+fieldset[disabled] .btn-success:hover,
+.btn-success.disabled:focus,
+.btn-success[disabled]:focus,
+fieldset[disabled] .btn-success:focus,
+.btn-success.disabled.focus,
+.btn-success[disabled].focus,
+fieldset[disabled] .btn-success.focus,
+.btn-success.disabled:active,
+.btn-success[disabled]:active,
+fieldset[disabled] .btn-success:active,
+.btn-success.disabled.active,
+.btn-success[disabled].active,
+fieldset[disabled] .btn-success.active {
+  background-color: #5cb11f;
+  background-image: none;
+}
+.btn-info {
+  background-image: -webkit-linear-gradient(top, #a07cbc 0%, #8255a6 100%);
+  background-image:      -o-linear-gradient(top, #a07cbc 0%, #8255a6 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#a07cbc), to(#8255a6));
+  background-image:         linear-gradient(to bottom, #a07cbc 0%, #8255a6 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa07cbc', endColorstr='#ff8255a6', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  background-repeat: repeat-x;
+  border-color: #7d519f;
+}
+.btn-info:hover,
+.btn-info:focus {
+  background-color: #8255a6;
+  background-position: 0 -15px;
+}
+.btn-info:active,
+.btn-info.active {
+  background-color: #8255a6;
+  border-color: #7d519f;
+}
+.btn-info.disabled,
+.btn-info[disabled],
+fieldset[disabled] .btn-info,
+.btn-info.disabled:hover,
+.btn-info[disabled]:hover,
+fieldset[disabled] .btn-info:hover,
+.btn-info.disabled:focus,
+.btn-info[disabled]:focus,
+fieldset[disabled] .btn-info:focus,
+.btn-info.disabled.focus,
+.btn-info[disabled].focus,
+fieldset[disabled] .btn-info.focus,
+.btn-info.disabled:active,
+.btn-info[disabled]:active,
+fieldset[disabled] .btn-info:active,
+.btn-info.disabled.active,
+.btn-info[disabled].active,
+fieldset[disabled] .btn-info.active {
+  background-color: #8255a6;
+  background-image: none;
+}
+.btn-warning {
+  background-image: -webkit-linear-gradient(top, #e59728 0%, #b97616 100%);
+  background-image:      -o-linear-gradient(top, #e59728 0%, #b97616 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#e59728), to(#b97616));
+  background-image:         linear-gradient(to bottom, #e59728 0%, #b97616 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe59728', endColorstr='#ffb97616', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  background-repeat: repeat-x;
+  border-color: #b07015;
+}
+.btn-warning:hover,
+.btn-warning:focus {
+  background-color: #b97616;
+  background-position: 0 -15px;
+}
+.btn-warning:active,
+.btn-warning.active {
+  background-color: #b97616;
+  border-color: #b07015;
+}
+.btn-warning.disabled,
+.btn-warning[disabled],
+fieldset[disabled] .btn-warning,
+.btn-warning.disabled:hover,
+.btn-warning[disabled]:hover,
+fieldset[disabled] .btn-warning:hover,
+.btn-warning.disabled:focus,
+.btn-warning[disabled]:focus,
+fieldset[disabled] .btn-warning:focus,
+.btn-warning.disabled.focus,
+.btn-warning[disabled].focus,
+fieldset[disabled] .btn-warning.focus,
+.btn-warning.disabled:active,
+.btn-warning[disabled]:active,
+fieldset[disabled] .btn-warning:active,
+.btn-warning.disabled.active,
+.btn-warning[disabled].active,
+fieldset[disabled] .btn-warning.active {
+  background-color: #b97616;
+  background-image: none;
+}
+.btn-danger {
+  background-image: -webkit-linear-gradient(top, #db3279 0%, #b11f5c 100%);
+  background-image:      -o-linear-gradient(top, #db3279 0%, #b11f5c 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#db3279), to(#b11f5c));
+  background-image:         linear-gradient(to bottom, #db3279 0%, #b11f5c 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdb3279', endColorstr='#ffb11f5c', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  background-repeat: repeat-x;
+  border-color: #a81e58;
+}
+.btn-danger:hover,
+.btn-danger:focus {
+  background-color: #b11f5c;
+  background-position: 0 -15px;
+}
+.btn-danger:active,
+.btn-danger.active {
+  background-color: #b11f5c;
+  border-color: #a81e58;
+}
+.btn-danger.disabled,
+.btn-danger[disabled],
+fieldset[disabled] .btn-danger,
+.btn-danger.disabled:hover,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger:hover,
+.btn-danger.disabled:focus,
+.btn-danger[disabled]:focus,
+fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled.focus,
+.btn-danger[disabled].focus,
+fieldset[disabled] .btn-danger.focus,
+.btn-danger.disabled:active,
+.btn-danger[disabled]:active,
+fieldset[disabled] .btn-danger:active,
+.btn-danger.disabled.active,
+.btn-danger[disabled].active,
+fieldset[disabled] .btn-danger.active {
+  background-color: #b11f5c;
+  background-image: none;
+}
+.thumbnail,
+.img-thumbnail {
+  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
+          box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
+}
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus {
+  background-color: #e8e8e8;
+  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+  background-image:      -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
+  background-image:         linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
+  background-repeat: repeat-x;
+}
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+  background-color: #357ebd;
+  background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
+  background-image:      -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
+  background-image:         linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
+  background-repeat: repeat-x;
+}
+.navbar-default {
+  background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
+  background-image:      -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
+  background-image:         linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  background-repeat: repeat-x;
+  border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
+          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
+}
+.navbar-default .navbar-nav > .open > a,
+.navbar-default .navbar-nav > .active > a {
+  background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
+  background-image:      -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
+  background-image:         linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
+  background-repeat: repeat-x;
+  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
+          box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
+}
+.navbar-brand,
+.navbar-nav > li > a {
+  text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
+}
+.navbar-inverse {
+  background-image: -webkit-linear-gradient(top, #365698 0%, #294172 100%);
+  background-image:      -o-linear-gradient(top, #365698 0%, #294172 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#365698), to(#294172));
+  background-image:         linear-gradient(to bottom, #365698 0%, #294172 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff365698', endColorstr='#ff294172', GradientType=0);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  background-repeat: repeat-x;
+}
+.navbar-inverse .navbar-nav > .open > a,
+.navbar-inverse .navbar-nav > .active > a {
+  background-image: -webkit-linear-gradient(top, #1c2c4c 0%, #1f3156 100%);
+  background-image:      -o-linear-gradient(top, #1c2c4c 0%, #1f3156 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#1c2c4c), to(#1f3156));
+  background-image:         linear-gradient(to bottom, #1c2c4c 0%, #1f3156 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1c2c4c', endColorstr='#ff1f3156', GradientType=0);
+  background-repeat: repeat-x;
+  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
+          box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
+}
+.navbar-inverse .navbar-brand,
+.navbar-inverse .navbar-nav > li > a {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
+}
+.navbar-static-top,
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+  border-radius: 0;
+}
+@media (max-width: 767px) {
+  .navbar .navbar-nav .open .dropdown-menu > .active > a,
+  .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
+  .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
+    color: #fff;
+    background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
+    background-image:      -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
+    background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
+    background-image:         linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
+    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
+    background-repeat: repeat-x;
+  }
+}
+.alert {
+  text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
+          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
+}
+.alert-success {
+  background-image: -webkit-linear-gradient(top, #dcf6ca 0%, #c7f0a9 100%);
+  background-image:      -o-linear-gradient(top, #dcf6ca 0%, #c7f0a9 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#dcf6ca), to(#c7f0a9));
+  background-image:         linear-gradient(to bottom, #dcf6ca 0%, #c7f0a9 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdcf6ca', endColorstr='#ffc7f0a9', GradientType=0);
+  background-repeat: repeat-x;
+  border-color: #b2ea89;
+}
+.alert-info {
+  background-image: -webkit-linear-gradient(top, #f6f2f8 0%, #e3d9eb 100%);
+  background-image:      -o-linear-gradient(top, #f6f2f8 0%, #e3d9eb 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f2f8), to(#e3d9eb));
+  background-image:         linear-gradient(to bottom, #f6f2f8 0%, #e3d9eb 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6f2f8', endColorstr='#ffe3d9eb', GradientType=0);
+  background-repeat: repeat-x;
+  border-color: #d1bfdf;
+}
+.alert-warning {
+  background-image: -webkit-linear-gradient(top, #f8e4c7 0%, #f4d4a5 100%);
+  background-image:      -o-linear-gradient(top, #f8e4c7 0%, #f4d4a5 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#f8e4c7), to(#f4d4a5));
+  background-image:         linear-gradient(to bottom, #f8e4c7 0%, #f4d4a5 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff8e4c7', endColorstr='#fff4d4a5', GradientType=0);
+  background-repeat: repeat-x;
+  border-color: #f0c383;
+}
+.alert-danger {
+  background-image: -webkit-linear-gradient(top, #f6cadc 0%, #f0a9c7 100%);
+  background-image:      -o-linear-gradient(top, #f6cadc 0%, #f0a9c7 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#f6cadc), to(#f0a9c7));
+  background-image:         linear-gradient(to bottom, #f6cadc 0%, #f0a9c7 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6cadc', endColorstr='#fff0a9c7', GradientType=0);
+  background-repeat: repeat-x;
+  border-color: #ea89b2;
+}
+.progress {
+  background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
+  background-image:      -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
+  background-image:         linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
+  background-repeat: repeat-x;
+}
+.progress-bar {
+  background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
+  background-image:      -o-linear-gradient(top, #428bca 0%, #3071a9 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3071a9));
+  background-image:         linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
+  background-repeat: repeat-x;
+}
+.progress-bar-success {
+  background-image: -webkit-linear-gradient(top, #79db32 0%, #61b921 100%);
+  background-image:      -o-linear-gradient(top, #79db32 0%, #61b921 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#79db32), to(#61b921));
+  background-image:         linear-gradient(to bottom, #79db32 0%, #61b921 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff79db32', endColorstr='#ff61b921', GradientType=0);
+  background-repeat: repeat-x;
+}
+.progress-bar-info {
+  background-image: -webkit-linear-gradient(top, #a07cbc 0%, #885aab 100%);
+  background-image:      -o-linear-gradient(top, #a07cbc 0%, #885aab 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#a07cbc), to(#885aab));
+  background-image:         linear-gradient(to bottom, #a07cbc 0%, #885aab 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa07cbc', endColorstr='#ff885aab', GradientType=0);
+  background-repeat: repeat-x;
+}
+.progress-bar-warning {
+  background-image: -webkit-linear-gradient(top, #e59728 0%, #c27c18 100%);
+  background-image:      -o-linear-gradient(top, #e59728 0%, #c27c18 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#e59728), to(#c27c18));
+  background-image:         linear-gradient(to bottom, #e59728 0%, #c27c18 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe59728', endColorstr='#ffc27c18', GradientType=0);
+  background-repeat: repeat-x;
+}
+.progress-bar-danger {
+  background-image: -webkit-linear-gradient(top, #db3279 0%, #b92161 100%);
+  background-image:      -o-linear-gradient(top, #db3279 0%, #b92161 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#db3279), to(#b92161));
+  background-image:         linear-gradient(to bottom, #db3279 0%, #b92161 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdb3279', endColorstr='#ffb92161', GradientType=0);
+  background-repeat: repeat-x;
+}
+.progress-bar-striped {
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.list-group {
+  border-radius: 4px;
+  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
+          box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
+}
+.list-group-item.active,
+.list-group-item.active:hover,
+.list-group-item.active:focus {
+  text-shadow: 0 -1px 0 #3071a9;
+  background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
+  background-image:      -o-linear-gradient(top, #428bca 0%, #3278b3 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3278b3));
+  background-image:         linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
+  background-repeat: repeat-x;
+  border-color: #3278b3;
+}
+.list-group-item.active .badge,
+.list-group-item.active:hover .badge,
+.list-group-item.active:focus .badge {
+  text-shadow: none;
+}
+.panel {
+  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
+          box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
+}
+.panel-default > .panel-heading {
+  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+  background-image:      -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
+  background-image:         linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
+  background-repeat: repeat-x;
+}
+.panel-primary > .panel-heading {
+  background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
+  background-image:      -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
+  background-image:         linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
+  background-repeat: repeat-x;
+}
+.panel-success > .panel-heading {
+  background-image: -webkit-linear-gradient(top, #dcf6ca 0%, #cef2b4 100%);
+  background-image:      -o-linear-gradient(top, #dcf6ca 0%, #cef2b4 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#dcf6ca), to(#cef2b4));
+  background-image:         linear-gradient(to bottom, #dcf6ca 0%, #cef2b4 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdcf6ca', endColorstr='#ffcef2b4', GradientType=0);
+  background-repeat: repeat-x;
+}
+.panel-info > .panel-heading {
+  background-image: -webkit-linear-gradient(top, #f6f2f8 0%, #e9e1f0 100%);
+  background-image:      -o-linear-gradient(top, #f6f2f8 0%, #e9e1f0 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f2f8), to(#e9e1f0));
+  background-image:         linear-gradient(to bottom, #f6f2f8 0%, #e9e1f0 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6f2f8', endColorstr='#ffe9e1f0', GradientType=0);
+  background-repeat: repeat-x;
+}
+.panel-warning > .panel-heading {
+  background-image: -webkit-linear-gradient(top, #f8e4c7 0%, #f6d9b0 100%);
+  background-image:      -o-linear-gradient(top, #f8e4c7 0%, #f6d9b0 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#f8e4c7), to(#f6d9b0));
+  background-image:         linear-gradient(to bottom, #f8e4c7 0%, #f6d9b0 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff8e4c7', endColorstr='#fff6d9b0', GradientType=0);
+  background-repeat: repeat-x;
+}
+.panel-danger > .panel-heading {
+  background-image: -webkit-linear-gradient(top, #f6cadc 0%, #f2b4ce 100%);
+  background-image:      -o-linear-gradient(top, #f6cadc 0%, #f2b4ce 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#f6cadc), to(#f2b4ce));
+  background-image:         linear-gradient(to bottom, #f6cadc 0%, #f2b4ce 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6cadc', endColorstr='#fff2b4ce', GradientType=0);
+  background-repeat: repeat-x;
+}
+.well {
+  background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
+  background-image:      -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
+  background-image:         linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
+  background-repeat: repeat-x;
+  border-color: #dcdcdc;
+  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
+          box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
+}
+/*# sourceMappingURL=bootstrap-theme.css.map */
diff --git a/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap-theme.css.map b/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap-theme.css.map
new file mode 100644
index 0000000..1fade89
--- /dev/null
+++ b/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap-theme.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","bootstrap-theme.css","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"AAcA;;;;;;EAME,0CAAA;ECgDA,6FAAA;EACQ,qFAAA;EC5DT;AFgBC;;;;;;;;;;;;EC2CA,0DAAA;EACQ,kDAAA;EC7CT;AFMC;;;;;;;;;;;;;;;;;;ECsCA,0BAAA;EACQ,kBAAA;ECxBT;AF/BD;;;;;;EAuBI,mBAAA;EEgBH;AFyBC;;EAEE,wBAAA;EEvBH;AF4BD;EGhEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJuCA,6BAAA;EACA,uBAAA;EAuC2C,2BAAA;EAA2B,oBAAA;EEjBvE;AFpBC;;EAEE,2BAAA;EACA,8BAAA;EEsBH;AFnBC;;EAEE,2BAAA;EACA,uBAAA;EEqBH;AFfG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACA,wBAAA;EE6BL;AFbD;EGjEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJuCA,6BAAA;EACA,uBAAA;EE8DD;AF5DC;;EAEE,2BAAA;EACA,8BAAA;EE8DH;AF3DC;;EAEE,2BAAA;EACA,uBAAA;EE6DH;AFvDG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACA,wBAAA;EEqEL;AFpDD;EGlEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJuCA,6BAAA;EACA,uBAAA;EEsGD;AFpGC;;EAEE,2BAAA;EACA,8BAAA;EEsGH;AFnGC;;EAEE,2BAAA;EACA,uBAAA;EEqGH;AF/FG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACA,wBAAA;EE6GL;AF3FD;EGnEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJuCA,6BAAA;EACA,uBAAA;EE8ID;AF5IC;;EAEE,2BAAA;EACA,8BAAA;EE8IH;AF3IC;;EAEE,2BAAA;EACA,uBAAA;EE6IH;AFvIG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACA,wBAAA;EEqJL;AFlID;EGpEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJuCA,6BAAA;EACA,uBAAA;EEsLD;AFpLC;;EAEE,2BAAA;EACA,8BAAA;EEsLH;AFnLC;;EAEE,2BAAA;EACA,uBAAA;EEqLH;AF/KG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACA,wBAAA;EE6LL;AFzKD;EGrEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJuCA,6BAAA;EACA,uBAAA;EE8ND;AF5NC;;EAEE,2BAAA;EACA,8BAAA;EE8NH;AF3NC;;EAEE,2BAAA;EACA,uBAAA;EE6NH;AFvNG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACA,wBAAA;EEqOL;AF1MD;;EC7BE,oDAAA;EACQ,4CAAA;EC2OT;AFrMD;;EGtFI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHqFF,2BAAA;EE2MD;AFzMD;;;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH2FF,2BAAA;EE+MD;AFtMD;EGxGI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EJ0HA,oBAAA;EC5DA,6FAAA;EACQ,qFAAA;ECyQT;AFjND;;EGxGI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,0DAAA;EACQ,kDAAA;ECmRT;AF9MD;;EAEE,gDAAA;EEgND;AF5MD;EG3HI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EF8VD;AFpND;;EG3HI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,yDAAA;EACQ,iDAAA;ECyST;AF9ND;;EAYI,2CAAA;EEsNH;AFjND;;;EAGE,kBAAA;EEmND;AF9LD;EAfI;;;IAGE,aAAA;IGxJF,0EAAA;IACA,qEAAA;IACA,+FAAA;IAAA,wEAAA;IACA,6BAAA;IACA,wHAAA;IDyWD;EACF;AF1MD;EACE,+CAAA;ECtHA,4FAAA;EACQ,oFAAA;ECmUT;AFlMD;EGjLI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHyKF,uBAAA;EE8MD;AFzMD;EGlLI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHyKF,uBAAA;EEsND;AFhND;EGnLI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHyKF,uBAAA;EE8ND;AFvND;EGpLI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHyKF,uBAAA;EEsOD;AFvND;EG5LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDsZH;AFpND;EGtMI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED6ZH;AF1ND;EGvMI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDoaH;AFhOD;EGxMI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED2aH;AFtOD;EGzMI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDkbH;AF5OD;EG1MI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDybH;AF/OD;EG7KI,+MAAA;EACA,0MAAA;EACA,uMAAA;ED+ZH;AF3OD;EACE,oBAAA;ECzKA,oDAAA;EACQ,4CAAA;ECuZT;AF5OD;;;EAGE,+BAAA;EG9NE,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4NF,uBAAA;EEkPD;AFvPD;;;EAQI,mBAAA;EEoPH;AF1OD;EC9LE,mDAAA;EACQ,2CAAA;EC2aT;AFpOD;EGvPI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED8dH;AF1OD;EGxPI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDqeH;AFhPD;EGzPI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED4eH;AFtPD;EG1PI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDmfH;AF5PD;EG3PI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED0fH;AFlQD;EG5PI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDigBH;AFlQD;EGnQI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHiQF,uBAAA;ECtNA,2FAAA;EACQ,mFAAA;EC+dT","file":"bootstrap-theme.css","sourcesContent":["\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n  text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n  @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n  .box-shadow(@shadow);\n\n  // Reset the shadow\n  &:active,\n  &.active {\n    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    .box-shadow(none);\n  }\n\n  .badge {\n    text-shadow: none;\n  }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n  #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n  .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n  background-repeat: repeat-x;\n  border-color: darken(@btn-color, 14%);\n\n  &:hover,\n  &:focus  {\n    background-color: darken(@btn-color, 12%);\n    background-position: 0 -15px;\n  }\n\n  &:active,\n  &.active {\n    background-color: darken(@btn-color, 12%);\n    border-color: darken(@btn-color, 14%);\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    &,\n    &:hover,\n    &:focus,\n    &.focus,\n    &:active,\n    &.active {\n      background-color: darken(@btn-color, 12%);\n      background-image: none;\n    }\n  }\n}\n\n// Common styles\n.btn {\n  // Remove the gradient for the pressed/active state\n  &:active,\n  &.active {\n    background-image: none;\n  }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info    { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger  { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n  .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n  background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n  background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n  #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n  border-radius: @navbar-border-radius;\n  @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n  .box-shadow(@shadow);\n\n  .navbar-nav > .open > a,\n  .navbar-nav > .active > a {\n    #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n    .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n  }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n  text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n  #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n\n  .navbar-nav > .open > a,\n  .navbar-nav > .active > a {\n    #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n    .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n  }\n\n  .navbar-brand,\n  .navbar-nav > li > a {\n    text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n  }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n  .navbar .navbar-nav .open .dropdown-menu > .active > a {\n    &,\n    &:hover,\n    &:focus {\n      color: #fff;\n      #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n    }\n  }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n  text-shadow: 0 1px 0 rgba(255,255,255,.2);\n  @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n  .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n  border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success    { .alert-styles(@alert-success-bg); }\n.alert-info       { .alert-styles(@alert-info-bg); }\n.alert-warning    { .alert-styles(@alert-warning-bg); }\n.alert-danger     { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n  #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar            { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success    { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info       { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning    { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger     { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n  #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n  border-radius: @border-radius-base;\n  .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n  #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n  border-color: darken(@list-group-active-border, 7.5%);\n\n  .badge {\n    text-shadow: none;\n  }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n  .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading   { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading   { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading   { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading      { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading   { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading    { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n  #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n  border-color: darken(@well-bg, 10%);\n  @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n  .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n  -webkit-animation: @animation;\n       -o-animation: @animation;\n          animation: @animation;\n}\n.animation-name(@name) {\n  -webkit-animation-name: @name;\n          animation-name: @name;\n}\n.animation-duration(@duration) {\n  -webkit-animation-duration: @duration;\n          animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n  -webkit-animation-timing-function: @timing-function;\n          animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n  -webkit-animation-delay: @delay;\n          animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n  -webkit-animation-iteration-count: @iteration-count;\n          animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n  -webkit-animation-direction: @direction;\n          animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n  -webkit-animation-fill-mode: @fill-mode;\n          animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n  -webkit-backface-visibility: @visibility;\n     -moz-backface-visibility: @visibility;\n          backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n          box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n  -webkit-box-sizing: @boxmodel;\n     -moz-box-sizing: @boxmodel;\n          box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n  -webkit-column-count: @column-count;\n     -moz-column-count: @column-count;\n          column-count: @column-count;\n  -webkit-column-gap: @column-gap;\n     -moz-column-gap: @column-gap;\n          column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n  word-wrap: break-word;\n  -webkit-hyphens: @mode;\n     -moz-hyphens: @mode;\n      -ms-hyphens: @mode; // IE10+\n       -o-hyphens: @mode;\n          hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n  // Firefox\n  &::-moz-placeholder {\n    color: @color;\n    opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n  }\n  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n  -webkit-transform: scale(@ratio);\n      -ms-transform: scale(@ratio); // IE9 only\n       -o-transform: scale(@ratio);\n          transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n  -webkit-transform: scale(@ratioX, @ratioY);\n      -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n       -o-transform: scale(@ratioX, @ratioY);\n          transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n  -webkit-transform: scaleX(@ratio);\n      -ms-transform: scaleX(@ratio); // IE9 only\n       -o-transform: scaleX(@ratio);\n          transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n  -webkit-transform: scaleY(@ratio);\n      -ms-transform: scaleY(@ratio); // IE9 only\n       -o-transform: scaleY(@ratio);\n          transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n  -webkit-transform: skewX(@x) skewY(@y);\n      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n       -o-transform: skewX(@x) skewY(@y);\n          transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n  -webkit-transform: translate(@x, @y);\n      -ms-transform: translate(@x, @y); // IE9 only\n       -o-transform: translate(@x, @y);\n          transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n  -webkit-transform: translate3d(@x, @y, @z);\n          transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n  -webkit-transform: rotate(@degrees);\n      -ms-transform: rotate(@degrees); // IE9 only\n       -o-transform: rotate(@degrees);\n          transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n  -webkit-transform: rotateX(@degrees);\n      -ms-transform: rotateX(@degrees); // IE9 only\n       -o-transform: rotateX(@degrees);\n          transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n  -webkit-transform: rotateY(@degrees);\n      -ms-transform: rotateY(@degrees); // IE9 only\n       -o-transform: rotateY(@degrees);\n          transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n  -webkit-perspective: @perspective;\n     -moz-perspective: @perspective;\n          perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n  -webkit-perspective-origin: @perspective;\n     -moz-perspective-origin: @perspective;\n          perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n  -webkit-transform-origin: @origin;\n     -moz-transform-origin: @origin;\n      -ms-transform-origin: @origin; // IE9 only\n          transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n  -webkit-transition: @transition;\n       -o-transition: @transition;\n          transition: @transition;\n}\n.transition-property(@transition-property) {\n  -webkit-transition-property: @transition-property;\n          transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n  -webkit-transition-delay: @transition-delay;\n          transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n  -webkit-transition-duration: @transition-duration;\n          transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n  -webkit-transition-timing-function: @timing-function;\n          transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n  -webkit-transition: -webkit-transform @transition;\n     -moz-transition: -moz-transform @transition;\n       -o-transition: -o-transform @transition;\n          transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n  -webkit-user-select: @select;\n     -moz-user-select: @select;\n      -ms-user-select: @select; // IE10+\n          user-select: @select;\n}\n",".btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n  text-shadow: none;\n}\n.btn:active,\n.btn.active {\n  background-image: none;\n}\n.btn-default {\n  background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n  background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n  background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #dbdbdb;\n  text-shadow: 0 1px 0 #fff;\n  border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n  background-color: #e0e0e0;\n  background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n  background-color: #e0e0e0;\n  border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n  background-color: #e0e0e0;\n  background-image: none;\n}\n.btn-primary {\n  background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);\n  background-image: -o-linear-gradient(top, #428bca 0%, #2d6ca2 100%);\n  background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #2b669a;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n  background-color: #2d6ca2;\n  background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n  background-color: #2d6ca2;\n  border-color: #2b669a;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n  background-color: #2d6ca2;\n  background-image: none;\n}\n.btn-success {\n  background-image: -webkit-linear-gradient(top, #79db32 0%, #5cb11f 100%);\n  background-image: -o-linear-gradient(top, #79db32 0%, #5cb11f 100%);\n  background-image: linear-gradient(to bottom, #79db32 0%, #5cb11f 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff79db32', endColorstr='#ff5cb11f', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #58a81e;\n}\n.btn-success:hover,\n.btn-success:focus {\n  background-color: #5cb11f;\n  background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n  background-color: #5cb11f;\n  border-color: #58a81e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n  background-color: #5cb11f;\n  background-image: none;\n}\n.btn-info {\n  background-image: -webkit-linear-gradient(top, #a07cbc 0%, #8255a6 100%);\n  background-image: -o-linear-gradient(top, #a07cbc 0%, #8255a6 100%);\n  background-image: linear-gradient(to bottom, #a07cbc 0%, #8255a6 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa07cbc', endColorstr='#ff8255a6', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #7d519f;\n}\n.btn-info:hover,\n.btn-info:focus {\n  background-color: #8255a6;\n  background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n  background-color: #8255a6;\n  border-color: #7d519f;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n  background-color: #8255a6;\n  background-image: none;\n}\n.btn-warning {\n  background-image: -webkit-linear-gradient(top, #e59728 0%, #b97616 100%);\n  background-image: -o-linear-gradient(top, #e59728 0%, #b97616 100%);\n  background-image: linear-gradient(to bottom, #e59728 0%, #b97616 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe59728', endColorstr='#ffb97616', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #b07015;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n  background-color: #b97616;\n  background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n  background-color: #b97616;\n  border-color: #b07015;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n  background-color: #b97616;\n  background-image: none;\n}\n.btn-danger {\n  background-image: -webkit-linear-gradient(top, #db3279 0%, #b11f5c 100%);\n  background-image: -o-linear-gradient(top, #db3279 0%, #b11f5c 100%);\n  background-image: linear-gradient(to bottom, #db3279 0%, #b11f5c 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdb3279', endColorstr='#ffb11f5c', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #a81e58;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n  background-color: #b11f5c;\n  background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n  background-color: #b11f5c;\n  border-color: #a81e58;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n  background-color: #b11f5c;\n  background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n  background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);\n  background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);\n  background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);\n  background-color: #357ebd;\n}\n.navbar-default {\n  background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n  background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n  background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n  background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n  background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n  background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n  background-image: -webkit-linear-gradient(top, #365698 0%, #294172 100%);\n  background-image: -o-linear-gradient(top, #365698 0%, #294172 100%);\n  background-image: linear-gradient(to bottom, #365698 0%, #294172 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff365698', endColorstr='#ff294172', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n  background-image: -webkit-linear-gradient(top, #1c2c4c 0%, #1f3156 100%);\n  background-image: -o-linear-gradient(top, #1c2c4c 0%, #1f3156 100%);\n  background-image: linear-gradient(to bottom, #1c2c4c 0%, #1f3156 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1c2c4c', endColorstr='#ff1f3156', GradientType=0);\n  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n  box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  border-radius: 0;\n}\n@media (max-width: 767px) {\n  .navbar .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);\n    background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);\n    background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);\n    background-repeat: repeat-x;\n    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);\n  }\n}\n.alert {\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n  background-image: -webkit-linear-gradient(top, #dcf6ca 0%, #c7f0a9 100%);\n  background-image: -o-linear-gradient(top, #dcf6ca 0%, #c7f0a9 100%);\n  background-image: linear-gradient(to bottom, #dcf6ca 0%, #c7f0a9 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdcf6ca', endColorstr='#ffc7f0a9', GradientType=0);\n  border-color: #b2ea89;\n}\n.alert-info {\n  background-image: -webkit-linear-gradient(top, #f6f2f8 0%, #e3d9eb 100%);\n  background-image: -o-linear-gradient(top, #f6f2f8 0%, #e3d9eb 100%);\n  background-image: linear-gradient(to bottom, #f6f2f8 0%, #e3d9eb 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6f2f8', endColorstr='#ffe3d9eb', GradientType=0);\n  border-color: #d1bfdf;\n}\n.alert-warning {\n  background-image: -webkit-linear-gradient(top, #f8e4c7 0%, #f4d4a5 100%);\n  background-image: -o-linear-gradient(top, #f8e4c7 0%, #f4d4a5 100%);\n  background-image: linear-gradient(to bottom, #f8e4c7 0%, #f4d4a5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff8e4c7', endColorstr='#fff4d4a5', GradientType=0);\n  border-color: #f0c383;\n}\n.alert-danger {\n  background-image: -webkit-linear-gradient(top, #f6cadc 0%, #f0a9c7 100%);\n  background-image: -o-linear-gradient(top, #f6cadc 0%, #f0a9c7 100%);\n  background-image: linear-gradient(to bottom, #f6cadc 0%, #f0a9c7 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6cadc', endColorstr='#fff0a9c7', GradientType=0);\n  border-color: #ea89b2;\n}\n.progress {\n  background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n  background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n  background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n  background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);\n  background-image: -o-linear-gradient(top, #428bca 0%, #3071a9 100%);\n  background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);\n}\n.progress-bar-success {\n  background-image: -webkit-linear-gradient(top, #79db32 0%, #61b921 100%);\n  background-image: -o-linear-gradient(top, #79db32 0%, #61b921 100%);\n  background-image: linear-gradient(to bottom, #79db32 0%, #61b921 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff79db32', endColorstr='#ff61b921', GradientType=0);\n}\n.progress-bar-info {\n  background-image: -webkit-linear-gradient(top, #a07cbc 0%, #885aab 100%);\n  background-image: -o-linear-gradient(top, #a07cbc 0%, #885aab 100%);\n  background-image: linear-gradient(to bottom, #a07cbc 0%, #885aab 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa07cbc', endColorstr='#ff885aab', GradientType=0);\n}\n.progress-bar-warning {\n  background-image: -webkit-linear-gradient(top, #e59728 0%, #c27c18 100%);\n  background-image: -o-linear-gradient(top, #e59728 0%, #c27c18 100%);\n  background-image: linear-gradient(to bottom, #e59728 0%, #c27c18 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe59728', endColorstr='#ffc27c18', GradientType=0);\n}\n.progress-bar-danger {\n  background-image: -webkit-linear-gradient(top, #db3279 0%, #b92161 100%);\n  background-image: -o-linear-gradient(top, #db3279 0%, #b92161 100%);\n  background-image: linear-gradient(to bottom, #db3279 0%, #b92161 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdb3279', endColorstr='#ffb92161', GradientType=0);\n}\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  text-shadow: 0 -1px 0 #3071a9;\n  background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);\n  background-image: -o-linear-gradient(top, #428bca 0%, #3278b3 100%);\n  background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);\n  border-color: #3278b3;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n  text-shadow: none;\n}\n.panel {\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);\n  background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);\n  background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);\n}\n.panel-success > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #dcf6ca 0%, #cef2b4 100%);\n  background-image: -o-linear-gradient(top, #dcf6ca 0%, #cef2b4 100%);\n  background-image: linear-gradient(to bottom, #dcf6ca 0%, #cef2b4 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdcf6ca', endColorstr='#ffcef2b4', GradientType=0);\n}\n.panel-info > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #f6f2f8 0%, #e9e1f0 100%);\n  background-image: -o-linear-gradient(top, #f6f2f8 0%, #e9e1f0 100%);\n  background-image: linear-gradient(to bottom, #f6f2f8 0%, #e9e1f0 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6f2f8', endColorstr='#ffe9e1f0', GradientType=0);\n}\n.panel-warning > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #f8e4c7 0%, #f6d9b0 100%);\n  background-image: -o-linear-gradient(top, #f8e4c7 0%, #f6d9b0 100%);\n  background-image: linear-gradient(to bottom, #f8e4c7 0%, #f6d9b0 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff8e4c7', endColorstr='#fff6d9b0', GradientType=0);\n}\n.panel-danger > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #f6cadc 0%, #f2b4ce 100%);\n  background-image: -o-linear-gradient(top, #f6cadc 0%, #f2b4ce 100%);\n  background-image: linear-gradient(to bottom, #f6cadc 0%, #f2b4ce 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6cadc', endColorstr='#fff2b4ce', GradientType=0);\n}\n.well {\n  background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n  background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n  background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n  border-color: #dcdcdc;\n  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// Gradients\n\n#gradient {\n\n  // Horizontal gradient, from left to right\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n    background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  // Vertical gradient, from top to bottom\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12\n    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n    background-repeat: repeat-x;\n    background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n    background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n  }\n  .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .radial(@inner-color: #555; @outer-color: #333) {\n    background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n    background-image: radial-gradient(circle, @inner-color, @outer-color);\n    background-repeat: no-repeat;\n  }\n  .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n    background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n  }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n  filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]}
\ No newline at end of file
diff --git a/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap-theme.min.css b/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap-theme.min.css
new file mode 100644
index 0000000..2222295
--- /dev/null
+++ b/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap-theme.min.css
@@ -0,0 +1,5 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-o-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#2d6ca2));background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#2b669a}.btn-primary:focus,.btn-primary:hover{background-color:#2d6ca2;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.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.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#2d6ca2;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#79db32 0,#5cb11f 100%);background-image:-o-linear-gradient(top,#79db32 0,#5cb11f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#79db32),to(#5cb11f));background-image:linear-gradient(to bottom,#79db32 0,#5cb11f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff79db32', endColorstr='#ff5cb11f', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#58a81e}.btn-success:focus,.btn-success:hover{background-color:#5cb11f;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#5cb11f;border-color:#58a81e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.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.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb11f;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#a07cbc 0,#8255a6 100%);background-image:-o-linear-gradient(top,#a07cbc 0,#8255a6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#a07cbc),to(#8255a6));background-image:linear-gradient(to bottom,#a07cbc 0,#8255a6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa07cbc', endColorstr='#ff8255a6', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#7d519f}.btn-info:focus,.btn-info:hover{background-color:#8255a6;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#8255a6;border-color:#7d519f}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.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.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#8255a6;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#e59728 0,#b97616 100%);background-image:-o-linear-gradient(top,#e59728 0,#b97616 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e59728),to(#b97616));background-image:linear-gradient(to bottom,#e59728 0,#b97616 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe59728', endColorstr='#ffb97616', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b07015}.btn-warning:focus,.btn-warning:hover{background-color:#b97616;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#b97616;border-color:#b07015}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.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.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#b97616;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#db3279 0,#b11f5c 100%);background-image:-o-linear-gradient(top,#db3279 0,#b11f5c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#db3279),to(#b11f5c));background-image:linear-gradient(to bottom,#db3279 0,#b11f5c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdb3279', endColorstr='#ffb11f5c', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#a81e58}.btn-danger:focus,.btn-danger:hover{background-color:#b11f5c;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#b11f5c;border-color:#a81e58}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.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.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#b11f5c;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#365698 0,#294172 100%);background-image:-o-linear-gradient(top,#365698 0,#294172 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#365698),to(#294172));background-image:linear-gradient(to bottom,#365698 0,#294172 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff365698', endColorstr='#ff294172', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#1c2c4c 0,#1f3156 100%);background-image:-o-linear-gradient(top,#1c2c4c 0,#1f3156 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#1c2c4c),to(#1f3156));background-image:linear-gradient(to bottom,#1c2c4c 0,#1f3156 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1c2c4c', endColorstr='#ff1f3156', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dcf6ca 0,#c7f0a9 100%);background-image:-o-linear-gradient(top,#dcf6ca 0,#c7f0a9 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dcf6ca),to(#c7f0a9));background-image:linear-gradient(to bottom,#dcf6ca 0,#c7f0a9 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdcf6ca', endColorstr='#ffc7f0a9', GradientType=0);background-repeat:repeat-x;border-color:#b2ea89}.alert-info{background-image:-webkit-linear-gradient(top,#f6f2f8 0,#e3d9eb 100%);background-image:-o-linear-gradient(top,#f6f2f8 0,#e3d9eb 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f6f2f8),to(#e3d9eb));background-image:linear-gradient(to bottom,#f6f2f8 0,#e3d9eb 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6f2f8', endColorstr='#ffe3d9eb', GradientType=0);background-repeat:repeat-x;border-color:#d1bfdf}.alert-warning{background-image:-webkit-linear-gradient(top,#f8e4c7 0,#f4d4a5 100%);background-image:-o-linear-gradient(top,#f8e4c7 0,#f4d4a5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f8e4c7),to(#f4d4a5));background-image:linear-gradient(to bottom,#f8e4c7 0,#f4d4a5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff8e4c7', endColorstr='#fff4d4a5', GradientType=0);background-repeat:repeat-x;border-color:#f0c383}.alert-danger{background-image:-webkit-linear-gradient(top,#f6cadc 0,#f0a9c7 100%);background-image:-o-linear-gradient(top,#f6cadc 0,#f0a9c7 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f6cadc),to(#f0a9c7));background-image:linear-gradient(to bottom,#f6cadc 0,#f0a9c7 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6cadc', endColorstr='#fff0a9c7', GradientType=0);background-repeat:repeat-x;border-color:#ea89b2}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-o-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#3071a9));background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#79db32 0,#61b921 100%);background-image:-o-linear-gradient(top,#79db32 0,#61b921 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#79db32),to(#61b921));background-image:linear-gradient(to bottom,#79db32 0,#61b921 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff79db32', endColorstr='#ff61b921', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#a07cbc 0,#885aab 100%);background-image:-o-linear-gradient(top,#a07cbc 0,#885aab 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#a07cbc),to(#885aab));background-image:linear-gradient(to bottom,#a07cbc 0,#885aab 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa07cbc', endColorstr='#ff885aab', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#e59728 0,#c27c18 100%);background-image:-o-linear-gradient(top,#e59728 0,#c27c18 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e59728),to(#c27c18));background-image:linear-gradient(to bottom,#e59728 0,#c27c18 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe59728', endColorstr='#ffc27c18', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#db3279 0,#b92161 100%);background-image:-o-linear-gradient(top,#db3279 0,#b92161 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#db3279),to(#b92161));background-image:linear-gradient(to bottom,#db3279 0,#b92161 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdb3279', endColorstr='#ffb92161', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-o-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#3278b3));background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);background-repeat:repeat-x;border-color:#3278b3}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dcf6ca 0,#cef2b4 100%);background-image:-o-linear-gradient(top,#dcf6ca 0,#cef2b4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dcf6ca),to(#cef2b4));background-image:linear-gradient(to bottom,#dcf6ca 0,#cef2b4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdcf6ca', endColorstr='#ffcef2b4', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#f6f2f8 0,#e9e1f0 100%);background-image:-o-linear-gradient(top,#f6f2f8 0,#e9e1f0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f6f2f8),to(#e9e1f0));background-image:linear-gradient(to bottom,#f6f2f8 0,#e9e1f0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6f2f8', endColorstr='#ffe9e1f0', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#f8e4c7 0,#f6d9b0 100%);background-image:-o-linear-gradient(top,#f8e4c7 0,#f6d9b0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f8e4c7),to(#f6d9b0));background-image:linear-gradient(to bottom,#f8e4c7 0,#f6d9b0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff8e4c7', endColorstr='#fff6d9b0', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f6cadc 0,#f2b4ce 100%);background-image:-o-linear-gradient(top,#f6cadc 0,#f2b4ce 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f6cadc),to(#f2b4ce));background-image:linear-gradient(to bottom,#f6cadc 0,#f2b4ce 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff6cadc', endColorstr='#fff2b4ce', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
\ No newline at end of file
diff --git a/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap.css b/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap.css
new file mode 100644
index 0000000..f463649
--- /dev/null
+++ b/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap.css
@@ -0,0 +1,6764 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+html {
+  font-family: sans-serif;
+  -webkit-text-size-adjust: 100%;
+      -ms-text-size-adjust: 100%;
+}
+body {
+  margin: 0;
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+  display: block;
+}
+audio,
+canvas,
+progress,
+video {
+  display: inline-block;
+  vertical-align: baseline;
+}
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+[hidden],
+template {
+  display: none;
+}
+a {
+  background-color: transparent;
+}
+a:active,
+a:hover {
+  outline: 0;
+}
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+b,
+strong {
+  font-weight: bold;
+}
+dfn {
+  font-style: italic;
+}
+h1 {
+  margin: .67em 0;
+  font-size: 2em;
+}
+mark {
+  color: #000;
+  background: #ff0;
+}
+small {
+  font-size: 80%;
+}
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+sup {
+  top: -.5em;
+}
+sub {
+  bottom: -.25em;
+}
+img {
+  border: 0;
+}
+svg:not(:root) {
+  overflow: hidden;
+}
+figure {
+  margin: 1em 40px;
+}
+hr {
+  height: 0;
+  -webkit-box-sizing: content-box;
+     -moz-box-sizing: content-box;
+          box-sizing: content-box;
+}
+pre {
+  overflow: auto;
+}
+code,
+kbd,
+pre,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em;
+}
+button,
+input,
+optgroup,
+select,
+textarea {
+  margin: 0;
+  font: inherit;
+  color: inherit;
+}
+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 {
+  padding: 0;
+  border: 0;
+}
+input {
+  line-height: normal;
+}
+input[type="checkbox"],
+input[type="radio"] {
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          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-box-sizing: content-box;
+     -moz-box-sizing: content-box;
+          box-sizing: content-box;
+  -webkit-appearance: textfield;
+}
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+fieldset {
+  padding: .35em .625em .75em;
+  margin: 0 2px;
+  border: 1px solid #c0c0c0;
+}
+legend {
+  padding: 0;
+  border: 0;
+}
+textarea {
+  overflow: auto;
+}
+optgroup {
+  font-weight: bold;
+}
+table {
+  border-spacing: 0;
+  border-collapse: collapse;
+}
+td,
+th {
+  padding: 0;
+}
+/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+@media print {
+  *,
+  *:before,
+  *:after {
+    color: #000 !important;
+    text-shadow: none !important;
+    background: transparent !important;
+    -webkit-box-shadow: none !important;
+            box-shadow: none !important;
+  }
+  a,
+  a:visited {
+    text-decoration: underline;
+  }
+  a[href]:after {
+    content: " (" attr(href) ")";
+  }
+  abbr[title]:after {
+    content: " (" attr(title) ")";
+  }
+  a[href^="#"]:after,
+  a[href^="javascript:"]:after {
+    content: "";
+  }
+  pre,
+  blockquote {
+    border: 1px solid #999;
+
+    page-break-inside: avoid;
+  }
+  thead {
+    display: table-header-group;
+  }
+  tr,
+  img {
+    page-break-inside: avoid;
+  }
+  img {
+    max-width: 100% !important;
+  }
+  p,
+  h2,
+  h3 {
+    orphans: 3;
+    widows: 3;
+  }
+  h2,
+  h3 {
+    page-break-after: avoid;
+  }
+  .navbar {
+    display: none;
+  }
+  .btn > .caret,
+  .dropup > .btn > .caret {
+    border-top-color: #000 !important;
+  }
+  .label {
+    border: 1px solid #000;
+  }
+  .table {
+    border-collapse: collapse !important;
+  }
+  .table td,
+  .table th {
+    background-color: #fff !important;
+  }
+  .table-bordered th,
+  .table-bordered td {
+    border: 1px solid #ddd !important;
+  }
+}
+@font-face {
+  font-family: 'Glyphicons Halflings';
+
+  src: url('../fonts/glyphicons-halflings-regular.eot');
+  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
+}
+.glyphicon {
+  position: relative;
+  top: 1px;
+  display: inline-block;
+  font-family: 'Glyphicons Halflings';
+  font-style: normal;
+  font-weight: normal;
+  line-height: 1;
+
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+.glyphicon-asterisk:before {
+  content: "\2a";
+}
+.glyphicon-plus:before {
+  content: "\2b";
+}
+.glyphicon-euro:before,
+.glyphicon-eur:before {
+  content: "\20ac";
+}
+.glyphicon-minus:before {
+  content: "\2212";
+}
+.glyphicon-cloud:before {
+  content: "\2601";
+}
+.glyphicon-envelope:before {
+  content: "\2709";
+}
+.glyphicon-pencil:before {
+  content: "\270f";
+}
+.glyphicon-glass:before {
+  content: "\e001";
+}
+.glyphicon-music:before {
+  content: "\e002";
+}
+.glyphicon-search:before {
+  content: "\e003";
+}
+.glyphicon-heart:before {
+  content: "\e005";
+}
+.glyphicon-star:before {
+  content: "\e006";
+}
+.glyphicon-star-empty:before {
+  content: "\e007";
+}
+.glyphicon-user:before {
+  content: "\e008";
+}
+.glyphicon-film:before {
+  content: "\e009";
+}
+.glyphicon-th-large:before {
+  content: "\e010";
+}
+.glyphicon-th:before {
+  content: "\e011";
+}
+.glyphicon-th-list:before {
+  content: "\e012";
+}
+.glyphicon-ok:before {
+  content: "\e013";
+}
+.glyphicon-remove:before {
+  content: "\e014";
+}
+.glyphicon-zoom-in:before {
+  content: "\e015";
+}
+.glyphicon-zoom-out:before {
+  content: "\e016";
+}
+.glyphicon-off:before {
+  content: "\e017";
+}
+.glyphicon-signal:before {
+  content: "\e018";
+}
+.glyphicon-cog:before {
+  content: "\e019";
+}
+.glyphicon-trash:before {
+  content: "\e020";
+}
+.glyphicon-home:before {
+  content: "\e021";
+}
+.glyphicon-file:before {
+  content: "\e022";
+}
+.glyphicon-time:before {
+  content: "\e023";
+}
+.glyphicon-road:before {
+  content: "\e024";
+}
+.glyphicon-download-alt:before {
+  content: "\e025";
+}
+.glyphicon-download:before {
+  content: "\e026";
+}
+.glyphicon-upload:before {
+  content: "\e027";
+}
+.glyphicon-inbox:before {
+  content: "\e028";
+}
+.glyphicon-play-circle:before {
+  content: "\e029";
+}
+.glyphicon-repeat:before {
+  content: "\e030";
+}
+.glyphicon-refresh:before {
+  content: "\e031";
+}
+.glyphicon-list-alt:before {
+  content: "\e032";
+}
+.glyphicon-lock:before {
+  content: "\e033";
+}
+.glyphicon-flag:before {
+  content: "\e034";
+}
+.glyphicon-headphones:before {
+  content: "\e035";
+}
+.glyphicon-volume-off:before {
+  content: "\e036";
+}
+.glyphicon-volume-down:before {
+  content: "\e037";
+}
+.glyphicon-volume-up:before {
+  content: "\e038";
+}
+.glyphicon-qrcode:before {
+  content: "\e039";
+}
+.glyphicon-barcode:before {
+  content: "\e040";
+}
+.glyphicon-tag:before {
+  content: "\e041";
+}
+.glyphicon-tags:before {
+  content: "\e042";
+}
+.glyphicon-book:before {
+  content: "\e043";
+}
+.glyphicon-bookmark:before {
+  content: "\e044";
+}
+.glyphicon-print:before {
+  content: "\e045";
+}
+.glyphicon-camera:before {
+  content: "\e046";
+}
+.glyphicon-font:before {
+  content: "\e047";
+}
+.glyphicon-bold:before {
+  content: "\e048";
+}
+.glyphicon-italic:before {
+  content: "\e049";
+}
+.glyphicon-text-height:before {
+  content: "\e050";
+}
+.glyphicon-text-width:before {
+  content: "\e051";
+}
+.glyphicon-align-left:before {
+  content: "\e052";
+}
+.glyphicon-align-center:before {
+  content: "\e053";
+}
+.glyphicon-align-right:before {
+  content: "\e054";
+}
+.glyphicon-align-justify:before {
+  content: "\e055";
+}
+.glyphicon-list:before {
+  content: "\e056";
+}
+.glyphicon-indent-left:before {
+  content: "\e057";
+}
+.glyphicon-indent-right:before {
+  content: "\e058";
+}
+.glyphicon-facetime-video:before {
+  content: "\e059";
+}
+.glyphicon-picture:before {
+  content: "\e060";
+}
+.glyphicon-map-marker:before {
+  content: "\e062";
+}
+.glyphicon-adjust:before {
+  content: "\e063";
+}
+.glyphicon-tint:before {
+  content: "\e064";
+}
+.glyphicon-edit:before {
+  content: "\e065";
+}
+.glyphicon-share:before {
+  content: "\e066";
+}
+.glyphicon-check:before {
+  content: "\e067";
+}
+.glyphicon-move:before {
+  content: "\e068";
+}
+.glyphicon-step-backward:before {
+  content: "\e069";
+}
+.glyphicon-fast-backward:before {
+  content: "\e070";
+}
+.glyphicon-backward:before {
+  content: "\e071";
+}
+.glyphicon-play:before {
+  content: "\e072";
+}
+.glyphicon-pause:before {
+  content: "\e073";
+}
+.glyphicon-stop:before {
+  content: "\e074";
+}
+.glyphicon-forward:before {
+  content: "\e075";
+}
+.glyphicon-fast-forward:before {
+  content: "\e076";
+}
+.glyphicon-step-forward:before {
+  content: "\e077";
+}
+.glyphicon-eject:before {
+  content: "\e078";
+}
+.glyphicon-chevron-left:before {
+  content: "\e079";
+}
+.glyphicon-chevron-right:before {
+  content: "\e080";
+}
+.glyphicon-plus-sign:before {
+  content: "\e081";
+}
+.glyphicon-minus-sign:before {
+  content: "\e082";
+}
+.glyphicon-remove-sign:before {
+  content: "\e083";
+}
+.glyphicon-ok-sign:before {
+  content: "\e084";
+}
+.glyphicon-question-sign:before {
+  content: "\e085";
+}
+.glyphicon-info-sign:before {
+  content: "\e086";
+}
+.glyphicon-screenshot:before {
+  content: "\e087";
+}
+.glyphicon-remove-circle:before {
+  content: "\e088";
+}
+.glyphicon-ok-circle:before {
+  content: "\e089";
+}
+.glyphicon-ban-circle:before {
+  content: "\e090";
+}
+.glyphicon-arrow-left:before {
+  content: "\e091";
+}
+.glyphicon-arrow-right:before {
+  content: "\e092";
+}
+.glyphicon-arrow-up:before {
+  content: "\e093";
+}
+.glyphicon-arrow-down:before {
+  content: "\e094";
+}
+.glyphicon-share-alt:before {
+  content: "\e095";
+}
+.glyphicon-resize-full:before {
+  content: "\e096";
+}
+.glyphicon-resize-small:before {
+  content: "\e097";
+}
+.glyphicon-exclamation-sign:before {
+  content: "\e101";
+}
+.glyphicon-gift:before {
+  content: "\e102";
+}
+.glyphicon-leaf:before {
+  content: "\e103";
+}
+.glyphicon-fire:before {
+  content: "\e104";
+}
+.glyphicon-eye-open:before {
+  content: "\e105";
+}
+.glyphicon-eye-close:before {
+  content: "\e106";
+}
+.glyphicon-warning-sign:before {
+  content: "\e107";
+}
+.glyphicon-plane:before {
+  content: "\e108";
+}
+.glyphicon-calendar:before {
+  content: "\e109";
+}
+.glyphicon-random:before {
+  content: "\e110";
+}
+.glyphicon-comment:before {
+  content: "\e111";
+}
+.glyphicon-magnet:before {
+  content: "\e112";
+}
+.glyphicon-chevron-up:before {
+  content: "\e113";
+}
+.glyphicon-chevron-down:before {
+  content: "\e114";
+}
+.glyphicon-retweet:before {
+  content: "\e115";
+}
+.glyphicon-shopping-cart:before {
+  content: "\e116";
+}
+.glyphicon-folder-close:before {
+  content: "\e117";
+}
+.glyphicon-folder-open:before {
+  content: "\e118";
+}
+.glyphicon-resize-vertical:before {
+  content: "\e119";
+}
+.glyphicon-resize-horizontal:before {
+  content: "\e120";
+}
+.glyphicon-hdd:before {
+  content: "\e121";
+}
+.glyphicon-bullhorn:before {
+  content: "\e122";
+}
+.glyphicon-bell:before {
+  content: "\e123";
+}
+.glyphicon-certificate:before {
+  content: "\e124";
+}
+.glyphicon-thumbs-up:before {
+  content: "\e125";
+}
+.glyphicon-thumbs-down:before {
+  content: "\e126";
+}
+.glyphicon-hand-right:before {
+  content: "\e127";
+}
+.glyphicon-hand-left:before {
+  content: "\e128";
+}
+.glyphicon-hand-up:before {
+  content: "\e129";
+}
+.glyphicon-hand-down:before {
+  content: "\e130";
+}
+.glyphicon-circle-arrow-right:before {
+  content: "\e131";
+}
+.glyphicon-circle-arrow-left:before {
+  content: "\e132";
+}
+.glyphicon-circle-arrow-up:before {
+  content: "\e133";
+}
+.glyphicon-circle-arrow-down:before {
+  content: "\e134";
+}
+.glyphicon-globe:before {
+  content: "\e135";
+}
+.glyphicon-wrench:before {
+  content: "\e136";
+}
+.glyphicon-tasks:before {
+  content: "\e137";
+}
+.glyphicon-filter:before {
+  content: "\e138";
+}
+.glyphicon-briefcase:before {
+  content: "\e139";
+}
+.glyphicon-fullscreen:before {
+  content: "\e140";
+}
+.glyphicon-dashboard:before {
+  content: "\e141";
+}
+.glyphicon-paperclip:before {
+  content: "\e142";
+}
+.glyphicon-heart-empty:before {
+  content: "\e143";
+}
+.glyphicon-link:before {
+  content: "\e144";
+}
+.glyphicon-phone:before {
+  content: "\e145";
+}
+.glyphicon-pushpin:before {
+  content: "\e146";
+}
+.glyphicon-usd:before {
+  content: "\e148";
+}
+.glyphicon-gbp:before {
+  content: "\e149";
+}
+.glyphicon-sort:before {
+  content: "\e150";
+}
+.glyphicon-sort-by-alphabet:before {
+  content: "\e151";
+}
+.glyphicon-sort-by-alphabet-alt:before {
+  content: "\e152";
+}
+.glyphicon-sort-by-order:before {
+  content: "\e153";
+}
+.glyphicon-sort-by-order-alt:before {
+  content: "\e154";
+}
+.glyphicon-sort-by-attributes:before {
+  content: "\e155";
+}
+.glyphicon-sort-by-attributes-alt:before {
+  content: "\e156";
+}
+.glyphicon-unchecked:before {
+  content: "\e157";
+}
+.glyphicon-expand:before {
+  content: "\e158";
+}
+.glyphicon-collapse-down:before {
+  content: "\e159";
+}
+.glyphicon-collapse-up:before {
+  content: "\e160";
+}
+.glyphicon-log-in:before {
+  content: "\e161";
+}
+.glyphicon-flash:before {
+  content: "\e162";
+}
+.glyphicon-log-out:before {
+  content: "\e163";
+}
+.glyphicon-new-window:before {
+  content: "\e164";
+}
+.glyphicon-record:before {
+  content: "\e165";
+}
+.glyphicon-save:before {
+  content: "\e166";
+}
+.glyphicon-open:before {
+  content: "\e167";
+}
+.glyphicon-saved:before {
+  content: "\e168";
+}
+.glyphicon-import:before {
+  content: "\e169";
+}
+.glyphicon-export:before {
+  content: "\e170";
+}
+.glyphicon-send:before {
+  content: "\e171";
+}
+.glyphicon-floppy-disk:before {
+  content: "\e172";
+}
+.glyphicon-floppy-saved:before {
+  content: "\e173";
+}
+.glyphicon-floppy-remove:before {
+  content: "\e174";
+}
+.glyphicon-floppy-save:before {
+  content: "\e175";
+}
+.glyphicon-floppy-open:before {
+  content: "\e176";
+}
+.glyphicon-credit-card:before {
+  content: "\e177";
+}
+.glyphicon-transfer:before {
+  content: "\e178";
+}
+.glyphicon-cutlery:before {
+  content: "\e179";
+}
+.glyphicon-header:before {
+  content: "\e180";
+}
+.glyphicon-compressed:before {
+  content: "\e181";
+}
+.glyphicon-earphone:before {
+  content: "\e182";
+}
+.glyphicon-phone-alt:before {
+  content: "\e183";
+}
+.glyphicon-tower:before {
+  content: "\e184";
+}
+.glyphicon-stats:before {
+  content: "\e185";
+}
+.glyphicon-sd-video:before {
+  content: "\e186";
+}
+.glyphicon-hd-video:before {
+  content: "\e187";
+}
+.glyphicon-subtitles:before {
+  content: "\e188";
+}
+.glyphicon-sound-stereo:before {
+  content: "\e189";
+}
+.glyphicon-sound-dolby:before {
+  content: "\e190";
+}
+.glyphicon-sound-5-1:before {
+  content: "\e191";
+}
+.glyphicon-sound-6-1:before {
+  content: "\e192";
+}
+.glyphicon-sound-7-1:before {
+  content: "\e193";
+}
+.glyphicon-copyright-mark:before {
+  content: "\e194";
+}
+.glyphicon-registration-mark:before {
+  content: "\e195";
+}
+.glyphicon-cloud-download:before {
+  content: "\e197";
+}
+.glyphicon-cloud-upload:before {
+  content: "\e198";
+}
+.glyphicon-tree-conifer:before {
+  content: "\e199";
+}
+.glyphicon-tree-deciduous:before {
+  content: "\e200";
+}
+.glyphicon-cd:before {
+  content: "\e201";
+}
+.glyphicon-save-file:before {
+  content: "\e202";
+}
+.glyphicon-open-file:before {
+  content: "\e203";
+}
+.glyphicon-level-up:before {
+  content: "\e204";
+}
+.glyphicon-copy:before {
+  content: "\e205";
+}
+.glyphicon-paste:before {
+  content: "\e206";
+}
+.glyphicon-alert:before {
+  content: "\e209";
+}
+.glyphicon-equalizer:before {
+  content: "\e210";
+}
+.glyphicon-king:before {
+  content: "\e211";
+}
+.glyphicon-queen:before {
+  content: "\e212";
+}
+.glyphicon-pawn:before {
+  content: "\e213";
+}
+.glyphicon-bishop:before {
+  content: "\e214";
+}
+.glyphicon-knight:before {
+  content: "\e215";
+}
+.glyphicon-baby-formula:before {
+  content: "\e216";
+}
+.glyphicon-tent:before {
+  content: "\26fa";
+}
+.glyphicon-blackboard:before {
+  content: "\e218";
+}
+.glyphicon-bed:before {
+  content: "\e219";
+}
+.glyphicon-apple:before {
+  content: "\f8ff";
+}
+.glyphicon-erase:before {
+  content: "\e221";
+}
+.glyphicon-hourglass:before {
+  content: "\231b";
+}
+.glyphicon-lamp:before {
+  content: "\e223";
+}
+.glyphicon-duplicate:before {
+  content: "\e224";
+}
+.glyphicon-piggy-bank:before {
+  content: "\e225";
+}
+.glyphicon-scissors:before {
+  content: "\e226";
+}
+.glyphicon-bitcoin:before {
+  content: "\e227";
+}
+.glyphicon-btc:before {
+  content: "\e227";
+}
+.glyphicon-xbt:before {
+  content: "\e227";
+}
+.glyphicon-yen:before {
+  content: "\00a5";
+}
+.glyphicon-jpy:before {
+  content: "\00a5";
+}
+.glyphicon-ruble:before {
+  content: "\20bd";
+}
+.glyphicon-rub:before {
+  content: "\20bd";
+}
+.glyphicon-scale:before {
+  content: "\e230";
+}
+.glyphicon-ice-lolly:before {
+  content: "\e231";
+}
+.glyphicon-ice-lolly-tasted:before {
+  content: "\e232";
+}
+.glyphicon-education:before {
+  content: "\e233";
+}
+.glyphicon-option-horizontal:before {
+  content: "\e234";
+}
+.glyphicon-option-vertical:before {
+  content: "\e235";
+}
+.glyphicon-menu-hamburger:before {
+  content: "\e236";
+}
+.glyphicon-modal-window:before {
+  content: "\e237";
+}
+.glyphicon-oil:before {
+  content: "\e238";
+}
+.glyphicon-grain:before {
+  content: "\e239";
+}
+.glyphicon-sunglasses:before {
+  content: "\e240";
+}
+.glyphicon-text-size:before {
+  content: "\e241";
+}
+.glyphicon-text-color:before {
+  content: "\e242";
+}
+.glyphicon-text-background:before {
+  content: "\e243";
+}
+.glyphicon-object-align-top:before {
+  content: "\e244";
+}
+.glyphicon-object-align-bottom:before {
+  content: "\e245";
+}
+.glyphicon-object-align-horizontal:before {
+  content: "\e246";
+}
+.glyphicon-object-align-left:before {
+  content: "\e247";
+}
+.glyphicon-object-align-vertical:before {
+  content: "\e248";
+}
+.glyphicon-object-align-right:before {
+  content: "\e249";
+}
+.glyphicon-triangle-right:before {
+  content: "\e250";
+}
+.glyphicon-triangle-left:before {
+  content: "\e251";
+}
+.glyphicon-triangle-bottom:before {
+  content: "\e252";
+}
+.glyphicon-triangle-top:before {
+  content: "\e253";
+}
+.glyphicon-console:before {
+  content: "\e254";
+}
+.glyphicon-superscript:before {
+  content: "\e255";
+}
+.glyphicon-subscript:before {
+  content: "\e256";
+}
+.glyphicon-menu-left:before {
+  content: "\e257";
+}
+.glyphicon-menu-right:before {
+  content: "\e258";
+}
+.glyphicon-menu-down:before {
+  content: "\e259";
+}
+.glyphicon-menu-up:before {
+  content: "\e260";
+}
+* {
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+*:before,
+*:after {
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+html {
+  font-size: 10px;
+
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+body {
+  font-family: Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 14px;
+  line-height: 1.42857143;
+  color: #333;
+  background-color: #fff;
+}
+input,
+button,
+select,
+textarea {
+  font-family: inherit;
+  font-size: inherit;
+  line-height: inherit;
+}
+a {
+  color: #428bca;
+  text-decoration: none;
+}
+a:hover,
+a:focus {
+  color: #2a6496;
+  text-decoration: underline;
+}
+a:focus {
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+figure {
+  margin: 0;
+}
+img {
+  vertical-align: middle;
+}
+.img-responsive,
+.thumbnail > img,
+.thumbnail a > img,
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+  display: block;
+  max-width: 100%;
+  height: auto;
+}
+.img-rounded {
+  border-radius: 6px;
+}
+.img-thumbnail {
+  display: inline-block;
+  max-width: 100%;
+  height: auto;
+  padding: 4px;
+  line-height: 1.42857143;
+  background-color: #fff;
+  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;
+}
+.img-circle {
+  border-radius: 50%;
+}
+hr {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border: 0;
+  border-top: 1px solid #eee;
+}
+.sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  padding: 0;
+  margin: -1px;
+  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;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.h6 {
+  font-family: inherit;
+  font-weight: 500;
+  line-height: 1.1;
+  color: inherit;
+}
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small,
+.h1 small,
+.h2 small,
+.h3 small,
+.h4 small,
+.h5 small,
+.h6 small,
+h1 .small,
+h2 .small,
+h3 .small,
+h4 .small,
+h5 .small,
+h6 .small,
+.h1 .small,
+.h2 .small,
+.h3 .small,
+.h4 .small,
+.h5 .small,
+.h6 .small {
+  font-weight: normal;
+  line-height: 1;
+  color: #777;
+}
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3 {
+  margin-top: 20px;
+  margin-bottom: 10px;
+}
+h1 small,
+.h1 small,
+h2 small,
+.h2 small,
+h3 small,
+.h3 small,
+h1 .small,
+.h1 .small,
+h2 .small,
+.h2 .small,
+h3 .small,
+.h3 .small {
+  font-size: 65%;
+}
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+  margin-top: 10px;
+  margin-bottom: 10px;
+}
+h4 small,
+.h4 small,
+h5 small,
+.h5 small,
+h6 small,
+.h6 small,
+h4 .small,
+.h4 .small,
+h5 .small,
+.h5 .small,
+h6 .small,
+.h6 .small {
+  font-size: 75%;
+}
+h1,
+.h1 {
+  font-size: 36px;
+}
+h2,
+.h2 {
+  font-size: 30px;
+}
+h3,
+.h3 {
+  font-size: 24px;
+}
+h4,
+.h4 {
+  font-size: 18px;
+}
+h5,
+.h5 {
+  font-size: 14px;
+}
+h6,
+.h6 {
+  font-size: 12px;
+}
+p {
+  margin: 0 0 10px;
+}
+.lead {
+  margin-bottom: 20px;
+  font-size: 16px;
+  font-weight: 300;
+  line-height: 1.4;
+}
+@media (min-width: 768px) {
+  .lead {
+    font-size: 21px;
+  }
+}
+small,
+.small {
+  font-size: 85%;
+}
+mark,
+.mark {
+  padding: .2em;
+  background-color: #f8e4c7;
+}
+.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;
+}
+.text-uppercase {
+  text-transform: uppercase;
+}
+.text-capitalize {
+  text-transform: capitalize;
+}
+.text-muted {
+  color: #777;
+}
+.text-primary {
+  color: #428bca;
+}
+a.text-primary:hover,
+a.text-primary:focus {
+  color: #3071a9;
+}
+.text-success {
+  color: #3f7815;
+}
+a.text-success:hover,
+a.text-success:focus {
+  color: #284d0e;
+}
+.text-info {
+  color: #603e7a;
+}
+a.text-info:hover,
+a.text-info:focus {
+  color: #452d58;
+}
+.text-warning {
+  color: #7e500f;
+}
+a.text-warning:hover,
+a.text-warning:focus {
+  color: #51330a;
+}
+.text-danger {
+  color: #78153f;
+}
+a.text-danger:hover,
+a.text-danger:focus {
+  color: #4d0e28;
+}
+.bg-primary {
+  color: #fff;
+  background-color: #428bca;
+}
+a.bg-primary:hover,
+a.bg-primary:focus {
+  background-color: #3071a9;
+}
+.bg-success {
+  background-color: #dcf6ca;
+}
+a.bg-success:hover,
+a.bg-success:focus {
+  background-color: #c0ee9e;
+}
+.bg-info {
+  background-color: #f6f2f8;
+}
+a.bg-info:hover,
+a.bg-info:focus {
+  background-color: #ddd0e7;
+}
+.bg-warning {
+  background-color: #f8e4c7;
+}
+a.bg-warning:hover,
+a.bg-warning:focus {
+  background-color: #f3ce9a;
+}
+.bg-danger {
+  background-color: #f6cadc;
+}
+a.bg-danger:hover,
+a.bg-danger:focus {
+  background-color: #ee9ec0;
+}
+.page-header {
+  padding-bottom: 9px;
+  margin: 40px 0 20px;
+  border-bottom: 1px solid #eee;
+}
+ul,
+ol {
+  margin-top: 0;
+  margin-bottom: 10px;
+}
+ul ul,
+ol ul,
+ul ol,
+ol ol {
+  margin-bottom: 0;
+}
+.list-unstyled {
+  padding-left: 0;
+  list-style: none;
+}
+.list-inline {
+  padding-left: 0;
+  margin-left: -5px;
+  list-style: none;
+}
+.list-inline > li {
+  display: inline-block;
+  padding-right: 5px;
+  padding-left: 5px;
+}
+dl {
+  margin-top: 0;
+  margin-bottom: 20px;
+}
+dt,
+dd {
+  line-height: 1.42857143;
+}
+dt {
+  font-weight: bold;
+}
+dd {
+  margin-left: 0;
+}
+@media (min-width: 768px) {
+  .dl-horizontal dt {
+    float: left;
+    width: 160px;
+    overflow: hidden;
+    clear: left;
+    text-align: right;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+  }
+  .dl-horizontal dd {
+    margin-left: 180px;
+  }
+}
+abbr[title],
+abbr[data-original-title] {
+  cursor: help;
+  border-bottom: 1px dotted #777;
+}
+.initialism {
+  font-size: 90%;
+  text-transform: uppercase;
+}
+blockquote {
+  padding: 10px 20px;
+  margin: 0 0 20px;
+  font-size: 17.5px;
+  border-left: 5px solid #eee;
+}
+blockquote p:last-child,
+blockquote ul:last-child,
+blockquote ol:last-child {
+  margin-bottom: 0;
+}
+blockquote footer,
+blockquote small,
+blockquote .small {
+  display: block;
+  font-size: 80%;
+  line-height: 1.42857143;
+  color: #777;
+}
+blockquote footer:before,
+blockquote small:before,
+blockquote .small:before {
+  content: '\2014 \00A0';
+}
+.blockquote-reverse,
+blockquote.pull-right {
+  padding-right: 15px;
+  padding-left: 0;
+  text-align: right;
+  border-right: 5px solid #eee;
+  border-left: 0;
+}
+.blockquote-reverse footer:before,
+blockquote.pull-right footer:before,
+.blockquote-reverse small:before,
+blockquote.pull-right small:before,
+.blockquote-reverse .small:before,
+blockquote.pull-right .small:before {
+  content: '';
+}
+.blockquote-reverse footer:after,
+blockquote.pull-right footer:after,
+.blockquote-reverse small:after,
+blockquote.pull-right small:after,
+.blockquote-reverse .small:after,
+blockquote.pull-right .small:after {
+  content: '\00A0 \2014';
+}
+address {
+  margin-bottom: 20px;
+  font-style: normal;
+  line-height: 1.42857143;
+}
+code,
+kbd,
+pre,
+samp {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+}
+code {
+  padding: 2px 4px;
+  font-size: 90%;
+  color: #c7254e;
+  background-color: #f9f2f4;
+  border-radius: 4px;
+}
+kbd {
+  padding: 2px 4px;
+  font-size: 90%;
+  color: #fff;
+  background-color: #333;
+  border-radius: 3px;
+  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
+          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
+}
+kbd kbd {
+  padding: 0;
+  font-size: 100%;
+  font-weight: bold;
+  -webkit-box-shadow: none;
+          box-shadow: none;
+}
+pre {
+  display: block;
+  padding: 9.5px;
+  margin: 0 0 10px;
+  font-size: 13px;
+  line-height: 1.42857143;
+  color: #333;
+  word-break: break-all;
+  word-wrap: break-word;
+  background-color: #f5f5f5;
+  border: 1px solid #ccc;
+  border-radius: 4px;
+}
+pre code {
+  padding: 0;
+  font-size: inherit;
+  color: inherit;
+  white-space: pre-wrap;
+  background-color: transparent;
+  border-radius: 0;
+}
+.pre-scrollable {
+  max-height: 340px;
+  overflow-y: scroll;
+}
+.container {
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+@media (min-width: 768px) {
+  .container {
+    width: 750px;
+  }
+}
+@media (min-width: 992px) {
+  .container {
+    width: 970px;
+  }
+}
+@media (min-width: 1200px) {
+  .container {
+    width: 1170px;
+  }
+}
+.container-fluid {
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+.row {
+  margin-right: -15px;
+  margin-left: -15px;
+}
+.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
+  position: relative;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
+  float: left;
+}
+.col-xs-12 {
+  width: 100%;
+}
+.col-xs-11 {
+  width: 91.66666667%;
+}
+.col-xs-10 {
+  width: 83.33333333%;
+}
+.col-xs-9 {
+  width: 75%;
+}
+.col-xs-8 {
+  width: 66.66666667%;
+}
+.col-xs-7 {
+  width: 58.33333333%;
+}
+.col-xs-6 {
+  width: 50%;
+}
+.col-xs-5 {
+  width: 41.66666667%;
+}
+.col-xs-4 {
+  width: 33.33333333%;
+}
+.col-xs-3 {
+  width: 25%;
+}
+.col-xs-2 {
+  width: 16.66666667%;
+}
+.col-xs-1 {
+  width: 8.33333333%;
+}
+.col-xs-pull-12 {
+  right: 100%;
+}
+.col-xs-pull-11 {
+  right: 91.66666667%;
+}
+.col-xs-pull-10 {
+  right: 83.33333333%;
+}
+.col-xs-pull-9 {
+  right: 75%;
+}
+.col-xs-pull-8 {
+  right: 66.66666667%;
+}
+.col-xs-pull-7 {
+  right: 58.33333333%;
+}
+.col-xs-pull-6 {
+  right: 50%;
+}
+.col-xs-pull-5 {
+  right: 41.66666667%;
+}
+.col-xs-pull-4 {
+  right: 33.33333333%;
+}
+.col-xs-pull-3 {
+  right: 25%;
+}
+.col-xs-pull-2 {
+  right: 16.66666667%;
+}
+.col-xs-pull-1 {
+  right: 8.33333333%;
+}
+.col-xs-pull-0 {
+  right: auto;
+}
+.col-xs-push-12 {
+  left: 100%;
+}
+.col-xs-push-11 {
+  left: 91.66666667%;
+}
+.col-xs-push-10 {
+  left: 83.33333333%;
+}
+.col-xs-push-9 {
+  left: 75%;
+}
+.col-xs-push-8 {
+  left: 66.66666667%;
+}
+.col-xs-push-7 {
+  left: 58.33333333%;
+}
+.col-xs-push-6 {
+  left: 50%;
+}
+.col-xs-push-5 {
+  left: 41.66666667%;
+}
+.col-xs-push-4 {
+  left: 33.33333333%;
+}
+.col-xs-push-3 {
+  left: 25%;
+}
+.col-xs-push-2 {
+  left: 16.66666667%;
+}
+.col-xs-push-1 {
+  left: 8.33333333%;
+}
+.col-xs-push-0 {
+  left: auto;
+}
+.col-xs-offset-12 {
+  margin-left: 100%;
+}
+.col-xs-offset-11 {
+  margin-left: 91.66666667%;
+}
+.col-xs-offset-10 {
+  margin-left: 83.33333333%;
+}
+.col-xs-offset-9 {
+  margin-left: 75%;
+}
+.col-xs-offset-8 {
+  margin-left: 66.66666667%;
+}
+.col-xs-offset-7 {
+  margin-left: 58.33333333%;
+}
+.col-xs-offset-6 {
+  margin-left: 50%;
+}
+.col-xs-offset-5 {
+  margin-left: 41.66666667%;
+}
+.col-xs-offset-4 {
+  margin-left: 33.33333333%;
+}
+.col-xs-offset-3 {
+  margin-left: 25%;
+}
+.col-xs-offset-2 {
+  margin-left: 16.66666667%;
+}
+.col-xs-offset-1 {
+  margin-left: 8.33333333%;
+}
+.col-xs-offset-0 {
+  margin-left: 0;
+}
+@media (min-width: 768px) {
+  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
+    float: left;
+  }
+  .col-sm-12 {
+    width: 100%;
+  }
+  .col-sm-11 {
+    width: 91.66666667%;
+  }
+  .col-sm-10 {
+    width: 83.33333333%;
+  }
+  .col-sm-9 {
+    width: 75%;
+  }
+  .col-sm-8 {
+    width: 66.66666667%;
+  }
+  .col-sm-7 {
+    width: 58.33333333%;
+  }
+  .col-sm-6 {
+    width: 50%;
+  }
+  .col-sm-5 {
+    width: 41.66666667%;
+  }
+  .col-sm-4 {
+    width: 33.33333333%;
+  }
+  .col-sm-3 {
+    width: 25%;
+  }
+  .col-sm-2 {
+    width: 16.66666667%;
+  }
+  .col-sm-1 {
+    width: 8.33333333%;
+  }
+  .col-sm-pull-12 {
+    right: 100%;
+  }
+  .col-sm-pull-11 {
+    right: 91.66666667%;
+  }
+  .col-sm-pull-10 {
+    right: 83.33333333%;
+  }
+  .col-sm-pull-9 {
+    right: 75%;
+  }
+  .col-sm-pull-8 {
+    right: 66.66666667%;
+  }
+  .col-sm-pull-7 {
+    right: 58.33333333%;
+  }
+  .col-sm-pull-6 {
+    right: 50%;
+  }
+  .col-sm-pull-5 {
+    right: 41.66666667%;
+  }
+  .col-sm-pull-4 {
+    right: 33.33333333%;
+  }
+  .col-sm-pull-3 {
+    right: 25%;
+  }
+  .col-sm-pull-2 {
+    right: 16.66666667%;
+  }
+  .col-sm-pull-1 {
+    right: 8.33333333%;
+  }
+  .col-sm-pull-0 {
+    right: auto;
+  }
+  .col-sm-push-12 {
+    left: 100%;
+  }
+  .col-sm-push-11 {
+    left: 91.66666667%;
+  }
+  .col-sm-push-10 {
+    left: 83.33333333%;
+  }
+  .col-sm-push-9 {
+    left: 75%;
+  }
+  .col-sm-push-8 {
+    left: 66.66666667%;
+  }
+  .col-sm-push-7 {
+    left: 58.33333333%;
+  }
+  .col-sm-push-6 {
+    left: 50%;
+  }
+  .col-sm-push-5 {
+    left: 41.66666667%;
+  }
+  .col-sm-push-4 {
+    left: 33.33333333%;
+  }
+  .col-sm-push-3 {
+    left: 25%;
+  }
+  .col-sm-push-2 {
+    left: 16.66666667%;
+  }
+  .col-sm-push-1 {
+    left: 8.33333333%;
+  }
+  .col-sm-push-0 {
+    left: auto;
+  }
+  .col-sm-offset-12 {
+    margin-left: 100%;
+  }
+  .col-sm-offset-11 {
+    margin-left: 91.66666667%;
+  }
+  .col-sm-offset-10 {
+    margin-left: 83.33333333%;
+  }
+  .col-sm-offset-9 {
+    margin-left: 75%;
+  }
+  .col-sm-offset-8 {
+    margin-left: 66.66666667%;
+  }
+  .col-sm-offset-7 {
+    margin-left: 58.33333333%;
+  }
+  .col-sm-offset-6 {
+    margin-left: 50%;
+  }
+  .col-sm-offset-5 {
+    margin-left: 41.66666667%;
+  }
+  .col-sm-offset-4 {
+    margin-left: 33.33333333%;
+  }
+  .col-sm-offset-3 {
+    margin-left: 25%;
+  }
+  .col-sm-offset-2 {
+    margin-left: 16.66666667%;
+  }
+  .col-sm-offset-1 {
+    margin-left: 8.33333333%;
+  }
+  .col-sm-offset-0 {
+    margin-left: 0;
+  }
+}
+@media (min-width: 992px) {
+  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
+    float: left;
+  }
+  .col-md-12 {
+    width: 100%;
+  }
+  .col-md-11 {
+    width: 91.66666667%;
+  }
+  .col-md-10 {
+    width: 83.33333333%;
+  }
+  .col-md-9 {
+    width: 75%;
+  }
+  .col-md-8 {
+    width: 66.66666667%;
+  }
+  .col-md-7 {
+    width: 58.33333333%;
+  }
+  .col-md-6 {
+    width: 50%;
+  }
+  .col-md-5 {
+    width: 41.66666667%;
+  }
+  .col-md-4 {
+    width: 33.33333333%;
+  }
+  .col-md-3 {
+    width: 25%;
+  }
+  .col-md-2 {
+    width: 16.66666667%;
+  }
+  .col-md-1 {
+    width: 8.33333333%;
+  }
+  .col-md-pull-12 {
+    right: 100%;
+  }
+  .col-md-pull-11 {
+    right: 91.66666667%;
+  }
+  .col-md-pull-10 {
+    right: 83.33333333%;
+  }
+  .col-md-pull-9 {
+    right: 75%;
+  }
+  .col-md-pull-8 {
+    right: 66.66666667%;
+  }
+  .col-md-pull-7 {
+    right: 58.33333333%;
+  }
+  .col-md-pull-6 {
+    right: 50%;
+  }
+  .col-md-pull-5 {
+    right: 41.66666667%;
+  }
+  .col-md-pull-4 {
+    right: 33.33333333%;
+  }
+  .col-md-pull-3 {
+    right: 25%;
+  }
+  .col-md-pull-2 {
+    right: 16.66666667%;
+  }
+  .col-md-pull-1 {
+    right: 8.33333333%;
+  }
+  .col-md-pull-0 {
+    right: auto;
+  }
+  .col-md-push-12 {
+    left: 100%;
+  }
+  .col-md-push-11 {
+    left: 91.66666667%;
+  }
+  .col-md-push-10 {
+    left: 83.33333333%;
+  }
+  .col-md-push-9 {
+    left: 75%;
+  }
+  .col-md-push-8 {
+    left: 66.66666667%;
+  }
+  .col-md-push-7 {
+    left: 58.33333333%;
+  }
+  .col-md-push-6 {
+    left: 50%;
+  }
+  .col-md-push-5 {
+    left: 41.66666667%;
+  }
+  .col-md-push-4 {
+    left: 33.33333333%;
+  }
+  .col-md-push-3 {
+    left: 25%;
+  }
+  .col-md-push-2 {
+    left: 16.66666667%;
+  }
+  .col-md-push-1 {
+    left: 8.33333333%;
+  }
+  .col-md-push-0 {
+    left: auto;
+  }
+  .col-md-offset-12 {
+    margin-left: 100%;
+  }
+  .col-md-offset-11 {
+    margin-left: 91.66666667%;
+  }
+  .col-md-offset-10 {
+    margin-left: 83.33333333%;
+  }
+  .col-md-offset-9 {
+    margin-left: 75%;
+  }
+  .col-md-offset-8 {
+    margin-left: 66.66666667%;
+  }
+  .col-md-offset-7 {
+    margin-left: 58.33333333%;
+  }
+  .col-md-offset-6 {
+    margin-left: 50%;
+  }
+  .col-md-offset-5 {
+    margin-left: 41.66666667%;
+  }
+  .col-md-offset-4 {
+    margin-left: 33.33333333%;
+  }
+  .col-md-offset-3 {
+    margin-left: 25%;
+  }
+  .col-md-offset-2 {
+    margin-left: 16.66666667%;
+  }
+  .col-md-offset-1 {
+    margin-left: 8.33333333%;
+  }
+  .col-md-offset-0 {
+    margin-left: 0;
+  }
+}
+@media (min-width: 1200px) {
+  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
+    float: left;
+  }
+  .col-lg-12 {
+    width: 100%;
+  }
+  .col-lg-11 {
+    width: 91.66666667%;
+  }
+  .col-lg-10 {
+    width: 83.33333333%;
+  }
+  .col-lg-9 {
+    width: 75%;
+  }
+  .col-lg-8 {
+    width: 66.66666667%;
+  }
+  .col-lg-7 {
+    width: 58.33333333%;
+  }
+  .col-lg-6 {
+    width: 50%;
+  }
+  .col-lg-5 {
+    width: 41.66666667%;
+  }
+  .col-lg-4 {
+    width: 33.33333333%;
+  }
+  .col-lg-3 {
+    width: 25%;
+  }
+  .col-lg-2 {
+    width: 16.66666667%;
+  }
+  .col-lg-1 {
+    width: 8.33333333%;
+  }
+  .col-lg-pull-12 {
+    right: 100%;
+  }
+  .col-lg-pull-11 {
+    right: 91.66666667%;
+  }
+  .col-lg-pull-10 {
+    right: 83.33333333%;
+  }
+  .col-lg-pull-9 {
+    right: 75%;
+  }
+  .col-lg-pull-8 {
+    right: 66.66666667%;
+  }
+  .col-lg-pull-7 {
+    right: 58.33333333%;
+  }
+  .col-lg-pull-6 {
+    right: 50%;
+  }
+  .col-lg-pull-5 {
+    right: 41.66666667%;
+  }
+  .col-lg-pull-4 {
+    right: 33.33333333%;
+  }
+  .col-lg-pull-3 {
+    right: 25%;
+  }
+  .col-lg-pull-2 {
+    right: 16.66666667%;
+  }
+  .col-lg-pull-1 {
+    right: 8.33333333%;
+  }
+  .col-lg-pull-0 {
+    right: auto;
+  }
+  .col-lg-push-12 {
+    left: 100%;
+  }
+  .col-lg-push-11 {
+    left: 91.66666667%;
+  }
+  .col-lg-push-10 {
+    left: 83.33333333%;
+  }
+  .col-lg-push-9 {
+    left: 75%;
+  }
+  .col-lg-push-8 {
+    left: 66.66666667%;
+  }
+  .col-lg-push-7 {
+    left: 58.33333333%;
+  }
+  .col-lg-push-6 {
+    left: 50%;
+  }
+  .col-lg-push-5 {
+    left: 41.66666667%;
+  }
+  .col-lg-push-4 {
+    left: 33.33333333%;
+  }
+  .col-lg-push-3 {
+    left: 25%;
+  }
+  .col-lg-push-2 {
+    left: 16.66666667%;
+  }
+  .col-lg-push-1 {
+    left: 8.33333333%;
+  }
+  .col-lg-push-0 {
+    left: auto;
+  }
+  .col-lg-offset-12 {
+    margin-left: 100%;
+  }
+  .col-lg-offset-11 {
+    margin-left: 91.66666667%;
+  }
+  .col-lg-offset-10 {
+    margin-left: 83.33333333%;
+  }
+  .col-lg-offset-9 {
+    margin-left: 75%;
+  }
+  .col-lg-offset-8 {
+    margin-left: 66.66666667%;
+  }
+  .col-lg-offset-7 {
+    margin-left: 58.33333333%;
+  }
+  .col-lg-offset-6 {
+    margin-left: 50%;
+  }
+  .col-lg-offset-5 {
+    margin-left: 41.66666667%;
+  }
+  .col-lg-offset-4 {
+    margin-left: 33.33333333%;
+  }
+  .col-lg-offset-3 {
+    margin-left: 25%;
+  }
+  .col-lg-offset-2 {
+    margin-left: 16.66666667%;
+  }
+  .col-lg-offset-1 {
+    margin-left: 8.33333333%;
+  }
+  .col-lg-offset-0 {
+    margin-left: 0;
+  }
+}
+table {
+  background-color: transparent;
+}
+caption {
+  padding-top: 8px;
+  padding-bottom: 8px;
+  color: #777;
+  text-align: left;
+}
+th {
+  text-align: left;
+}
+.table {
+  width: 100%;
+  max-width: 100%;
+  margin-bottom: 20px;
+}
+.table > thead > tr > th,
+.table > tbody > tr > th,
+.table > tfoot > tr > th,
+.table > thead > tr > td,
+.table > tbody > tr > td,
+.table > tfoot > tr > td {
+  padding: 8px;
+  line-height: 1.42857143;
+  vertical-align: top;
+  border-top: 1px solid #ddd;
+}
+.table > thead > tr > th {
+  vertical-align: bottom;
+  border-bottom: 2px solid #ddd;
+}
+.table > caption + thead > tr:first-child > th,
+.table > colgroup + thead > tr:first-child > th,
+.table > thead:first-child > tr:first-child > th,
+.table > caption + thead > tr:first-child > td,
+.table > colgroup + thead > tr:first-child > td,
+.table > thead:first-child > tr:first-child > td {
+  border-top: 0;
+}
+.table > tbody + tbody {
+  border-top: 2px solid #ddd;
+}
+.table .table {
+  background-color: #fff;
+}
+.table-condensed > thead > tr > th,
+.table-condensed > tbody > tr > th,
+.table-condensed > tfoot > tr > th,
+.table-condensed > thead > tr > td,
+.table-condensed > tbody > tr > td,
+.table-condensed > tfoot > tr > td {
+  padding: 5px;
+}
+.table-bordered {
+  border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > tbody > tr > th,
+.table-bordered > tfoot > tr > th,
+.table-bordered > thead > tr > td,
+.table-bordered > tbody > tr > td,
+.table-bordered > tfoot > tr > td {
+  border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > thead > tr > td {
+  border-bottom-width: 2px;
+}
+.table-striped > tbody > tr:nth-of-type(odd) {
+  background-color: #f9f9f9;
+}
+.table-hover > tbody > tr:hover {
+  background-color: #f5f5f5;
+}
+table col[class*="col-"] {
+  position: static;
+  display: table-column;
+  float: none;
+}
+table td[class*="col-"],
+table th[class*="col-"] {
+  position: static;
+  display: table-cell;
+  float: none;
+}
+.table > thead > tr > td.active,
+.table > tbody > tr > td.active,
+.table > tfoot > tr > td.active,
+.table > thead > tr > th.active,
+.table > tbody > tr > th.active,
+.table > tfoot > tr > th.active,
+.table > thead > tr.active > td,
+.table > tbody > tr.active > td,
+.table > tfoot > tr.active > td,
+.table > thead > tr.active > th,
+.table > tbody > tr.active > th,
+.table > tfoot > tr.active > th {
+  background-color: #f5f5f5;
+}
+.table-hover > tbody > tr > td.active:hover,
+.table-hover > tbody > tr > th.active:hover,
+.table-hover > tbody > tr.active:hover > td,
+.table-hover > tbody > tr:hover > .active,
+.table-hover > tbody > tr.active:hover > th {
+  background-color: #e8e8e8;
+}
+.table > thead > tr > td.success,
+.table > tbody > tr > td.success,
+.table > tfoot > tr > td.success,
+.table > thead > tr > th.success,
+.table > tbody > tr > th.success,
+.table > tfoot > tr > th.success,
+.table > thead > tr.success > td,
+.table > tbody > tr.success > td,
+.table > tfoot > tr.success > td,
+.table > thead > tr.success > th,
+.table > tbody > tr.success > th,
+.table > tfoot > tr.success > th {
+  background-color: #dcf6ca;
+}
+.table-hover > tbody > tr > td.success:hover,
+.table-hover > tbody > tr > th.success:hover,
+.table-hover > tbody > tr.success:hover > td,
+.table-hover > tbody > tr:hover > .success,
+.table-hover > tbody > tr.success:hover > th {
+  background-color: #cef2b4;
+}
+.table > thead > tr > td.info,
+.table > tbody > tr > td.info,
+.table > tfoot > tr > td.info,
+.table > thead > tr > th.info,
+.table > tbody > tr > th.info,
+.table > tfoot > tr > th.info,
+.table > thead > tr.info > td,
+.table > tbody > tr.info > td,
+.table > tfoot > tr.info > td,
+.table > thead > tr.info > th,
+.table > tbody > tr.info > th,
+.table > tfoot > tr.info > th {
+  background-color: #f6f2f8;
+}
+.table-hover > tbody > tr > td.info:hover,
+.table-hover > tbody > tr > th.info:hover,
+.table-hover > tbody > tr.info:hover > td,
+.table-hover > tbody > tr:hover > .info,
+.table-hover > tbody > tr.info:hover > th {
+  background-color: #e9e1f0;
+}
+.table > thead > tr > td.warning,
+.table > tbody > tr > td.warning,
+.table > tfoot > tr > td.warning,
+.table > thead > tr > th.warning,
+.table > tbody > tr > th.warning,
+.table > tfoot > tr > th.warning,
+.table > thead > tr.warning > td,
+.table > tbody > tr.warning > td,
+.table > tfoot > tr.warning > td,
+.table > thead > tr.warning > th,
+.table > tbody > tr.warning > th,
+.table > tfoot > tr.warning > th {
+  background-color: #f8e4c7;
+}
+.table-hover > tbody > tr > td.warning:hover,
+.table-hover > tbody > tr > th.warning:hover,
+.table-hover > tbody > tr.warning:hover > td,
+.table-hover > tbody > tr:hover > .warning,
+.table-hover > tbody > tr.warning:hover > th {
+  background-color: #f6d9b0;
+}
+.table > thead > tr > td.danger,
+.table > tbody > tr > td.danger,
+.table > tfoot > tr > td.danger,
+.table > thead > tr > th.danger,
+.table > tbody > tr > th.danger,
+.table > tfoot > tr > th.danger,
+.table > thead > tr.danger > td,
+.table > tbody > tr.danger > td,
+.table > tfoot > tr.danger > td,
+.table > thead > tr.danger > th,
+.table > tbody > tr.danger > th,
+.table > tfoot > tr.danger > th {
+  background-color: #f6cadc;
+}
+.table-hover > tbody > tr > td.danger:hover,
+.table-hover > tbody > tr > th.danger:hover,
+.table-hover > tbody > tr.danger:hover > td,
+.table-hover > tbody > tr:hover > .danger,
+.table-hover > tbody > tr.danger:hover > th {
+  background-color: #f2b4ce;
+}
+.table-responsive {
+  min-height: .01%;
+  overflow-x: auto;
+}
+@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 #ddd;
+  }
+  .table-responsive > .table {
+    margin-bottom: 0;
+  }
+  .table-responsive > .table > thead > tr > th,
+  .table-responsive > .table > tbody > tr > th,
+  .table-responsive > .table > tfoot > tr > th,
+  .table-responsive > .table > thead > tr > td,
+  .table-responsive > .table > tbody > tr > td,
+  .table-responsive > .table > tfoot > tr > td {
+    white-space: nowrap;
+  }
+  .table-responsive > .table-bordered {
+    border: 0;
+  }
+  .table-responsive > .table-bordered > thead > tr > th:first-child,
+  .table-responsive > .table-bordered > tbody > tr > th:first-child,
+  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+  .table-responsive > .table-bordered > thead > tr > td:first-child,
+  .table-responsive > .table-bordered > tbody > tr > td:first-child,
+  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+    border-left: 0;
+  }
+  .table-responsive > .table-bordered > thead > tr > th:last-child,
+  .table-responsive > .table-bordered > tbody > tr > th:last-child,
+  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+  .table-responsive > .table-bordered > thead > tr > td:last-child,
+  .table-responsive > .table-bordered > tbody > tr > td:last-child,
+  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+    border-right: 0;
+  }
+  .table-responsive > .table-bordered > tbody > tr:last-child > th,
+  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
+  .table-responsive > .table-bordered > tbody > tr:last-child > td,
+  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
+    border-bottom: 0;
+  }
+}
+fieldset {
+  min-width: 0;
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+legend {
+  display: block;
+  width: 100%;
+  padding: 0;
+  margin-bottom: 20px;
+  font-size: 21px;
+  line-height: inherit;
+  color: #333;
+  border: 0;
+  border-bottom: 1px solid #e5e5e5;
+}
+label {
+  display: inline-block;
+  max-width: 100%;
+  margin-bottom: 5px;
+  font-weight: bold;
+}
+input[type="search"] {
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+input[type="radio"],
+input[type="checkbox"] {
+  margin: 4px 0 0;
+  margin-top: 1px \9;
+  line-height: normal;
+}
+input[type="file"] {
+  display: block;
+}
+input[type="range"] {
+  display: block;
+  width: 100%;
+}
+select[multiple],
+select[size] {
+  height: auto;
+}
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+output {
+  display: block;
+  padding-top: 7px;
+  font-size: 14px;
+  line-height: 1.42857143;
+  color: #555;
+}
+.form-control {
+  display: block;
+  width: 100%;
+  height: 34px;
+  padding: 6px 12px;
+  font-size: 14px;
+  line-height: 1.42857143;
+  color: #555;
+  background-color: #fff;
+  background-image: none;
+  border: 1px solid #ccc;
+  border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+  -webkit-transition: border-color ease-in-out .15s, -webkit-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: #66afe9;
+  outline: 0;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
+          box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
+}
+.form-control::-moz-placeholder {
+  color: #999;
+  opacity: 1;
+}
+.form-control:-ms-input-placeholder {
+  color: #999;
+}
+.form-control::-webkit-input-placeholder {
+  color: #999;
+}
+.form-control[disabled],
+.form-control[readonly],
+fieldset[disabled] .form-control {
+  background-color: #eee;
+  opacity: 1;
+}
+.form-control[disabled],
+fieldset[disabled] .form-control {
+  cursor: not-allowed;
+}
+textarea.form-control {
+  height: auto;
+}
+input[type="search"] {
+  -webkit-appearance: none;
+}
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+  input[type="date"],
+  input[type="time"],
+  input[type="datetime-local"],
+  input[type="month"] {
+    line-height: 34px;
+  }
+  input[type="date"].input-sm,
+  input[type="time"].input-sm,
+  input[type="datetime-local"].input-sm,
+  input[type="month"].input-sm,
+  .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"] {
+    line-height: 30px;
+  }
+  input[type="date"].input-lg,
+  input[type="time"].input-lg,
+  input[type="datetime-local"].input-lg,
+  input[type="month"].input-lg,
+  .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"] {
+    line-height: 46px;
+  }
+}
+.form-group {
+  margin-bottom: 15px;
+}
+.radio,
+.checkbox {
+  position: relative;
+  display: block;
+  margin-top: 10px;
+  margin-bottom: 10px;
+}
+.radio label,
+.checkbox label {
+  min-height: 20px;
+  padding-left: 20px;
+  margin-bottom: 0;
+  font-weight: normal;
+  cursor: pointer;
+}
+.radio input[type="radio"],
+.radio-inline input[type="radio"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+  position: absolute;
+  margin-top: 4px \9;
+  margin-left: -20px;
+}
+.radio + .radio,
+.checkbox + .checkbox {
+  margin-top: -5px;
+}
+.radio-inline,
+.checkbox-inline {
+  position: relative;
+  display: inline-block;
+  padding-left: 20px;
+  margin-bottom: 0;
+  font-weight: normal;
+  vertical-align: middle;
+  cursor: pointer;
+}
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+  margin-top: 0;
+  margin-left: 10px;
+}
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"].disabled,
+input[type="checkbox"].disabled,
+fieldset[disabled] input[type="radio"],
+fieldset[disabled] input[type="checkbox"] {
+  cursor: not-allowed;
+}
+.radio-inline.disabled,
+.checkbox-inline.disabled,
+fieldset[disabled] .radio-inline,
+fieldset[disabled] .checkbox-inline {
+  cursor: not-allowed;
+}
+.radio.disabled label,
+.checkbox.disabled label,
+fieldset[disabled] .radio label,
+fieldset[disabled] .checkbox label {
+  cursor: not-allowed;
+}
+.form-control-static {
+  min-height: 34px;
+  padding-top: 7px;
+  padding-bottom: 7px;
+  margin-bottom: 0;
+}
+.form-control-static.input-lg,
+.form-control-static.input-sm {
+  padding-right: 0;
+  padding-left: 0;
+}
+.input-sm {
+  height: 30px;
+  padding: 5px 10px;
+  font-size: 12px;
+  line-height: 1.5;
+  border-radius: 3px;
+}
+select.input-sm {
+  height: 30px;
+  line-height: 30px;
+}
+textarea.input-sm,
+select[multiple].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 textarea.form-control,
+.form-group-sm select[multiple].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-lg {
+  height: 46px;
+  padding: 10px 16px;
+  font-size: 18px;
+  line-height: 1.3333333;
+  border-radius: 6px;
+}
+select.input-lg {
+  height: 46px;
+  line-height: 46px;
+}
+textarea.input-lg,
+select[multiple].input-lg {
+  height: auto;
+}
+.form-group-lg .form-control {
+  height: 46px;
+  padding: 10px 16px;
+  font-size: 18px;
+  line-height: 1.3333333;
+  border-radius: 6px;
+}
+.form-group-lg select.form-control {
+  height: 46px;
+  line-height: 46px;
+}
+.form-group-lg textarea.form-control,
+.form-group-lg select[multiple].form-control {
+  height: auto;
+}
+.form-group-lg .form-control-static {
+  height: 46px;
+  min-height: 38px;
+  padding: 11px 16px;
+  font-size: 18px;
+  line-height: 1.3333333;
+}
+.has-feedback {
+  position: relative;
+}
+.has-feedback .form-control {
+  padding-right: 42.5px;
+}
+.form-control-feedback {
+  position: absolute;
+  top: 0;
+  right: 0;
+  z-index: 2;
+  display: block;
+  width: 34px;
+  height: 34px;
+  line-height: 34px;
+  text-align: center;
+  pointer-events: none;
+}
+.input-lg + .form-control-feedback,
+.input-group-lg + .form-control-feedback {
+  width: 46px;
+  height: 46px;
+  line-height: 46px;
+}
+.input-sm + .form-control-feedback,
+.input-group-sm + .form-control-feedback {
+  width: 30px;
+  height: 30px;
+  line-height: 30px;
+}
+.has-success .help-block,
+.has-success .control-label,
+.has-success .radio,
+.has-success .checkbox,
+.has-success .radio-inline,
+.has-success .checkbox-inline,
+.has-success.radio label,
+.has-success.checkbox label,
+.has-success.radio-inline label,
+.has-success.checkbox-inline label {
+  color: #3f7815;
+}
+.has-success .form-control {
+  border-color: #3f7815;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-success .form-control:focus {
+  border-color: #284d0e;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #6ccf24;
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #6ccf24;
+}
+.has-success .input-group-addon {
+  color: #3f7815;
+  background-color: #dcf6ca;
+  border-color: #3f7815;
+}
+.has-success .form-control-feedback {
+  color: #3f7815;
+}
+.has-warning .help-block,
+.has-warning .control-label,
+.has-warning .radio,
+.has-warning .checkbox,
+.has-warning .radio-inline,
+.has-warning .checkbox-inline,
+.has-warning.radio label,
+.has-warning.checkbox label,
+.has-warning.radio-inline label,
+.has-warning.checkbox-inline label {
+  color: #7e500f;
+}
+.has-warning .form-control {
+  border-color: #7e500f;
+  -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: #51330a;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #d98a1a;
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #d98a1a;
+}
+.has-warning .input-group-addon {
+  color: #7e500f;
+  background-color: #f8e4c7;
+  border-color: #7e500f;
+}
+.has-warning .form-control-feedback {
+  color: #7e500f;
+}
+.has-error .help-block,
+.has-error .control-label,
+.has-error .radio,
+.has-error .checkbox,
+.has-error .radio-inline,
+.has-error .checkbox-inline,
+.has-error.radio label,
+.has-error.checkbox label,
+.has-error.radio-inline label,
+.has-error.checkbox-inline label {
+  color: #78153f;
+}
+.has-error .form-control {
+  border-color: #78153f;
+  -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: #4d0e28;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #cf246c;
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #cf246c;
+}
+.has-error .input-group-addon {
+  color: #78153f;
+  background-color: #f6cadc;
+  border-color: #78153f;
+}
+.has-error .form-control-feedback {
+  color: #78153f;
+}
+.has-feedback label ~ .form-control-feedback {
+  top: 25px;
+}
+.has-feedback label.sr-only ~ .form-control-feedback {
+  top: 0;
+}
+.help-block {
+  display: block;
+  margin-top: 5px;
+  margin-bottom: 10px;
+  color: #737373;
+}
+@media (min-width: 768px) {
+  .form-inline .form-group {
+    display: inline-block;
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .form-inline .form-control {
+    display: inline-block;
+    width: auto;
+    vertical-align: middle;
+  }
+  .form-inline .form-control-static {
+    display: inline-block;
+  }
+  .form-inline .input-group {
+    display: inline-table;
+    vertical-align: middle;
+  }
+  .form-inline .input-group .input-group-addon,
+  .form-inline .input-group .input-group-btn,
+  .form-inline .input-group .form-control {
+    width: auto;
+  }
+  .form-inline .input-group > .form-control {
+    width: 100%;
+  }
+  .form-inline .control-label {
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .form-inline .radio,
+  .form-inline .checkbox {
+    display: inline-block;
+    margin-top: 0;
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .form-inline .radio label,
+  .form-inline .checkbox label {
+    padding-left: 0;
+  }
+  .form-inline .radio input[type="radio"],
+  .form-inline .checkbox input[type="checkbox"] {
+    position: relative;
+    margin-left: 0;
+  }
+  .form-inline .has-feedback .form-control-feedback {
+    top: 0;
+  }
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox,
+.form-horizontal .radio-inline,
+.form-horizontal .checkbox-inline {
+  padding-top: 7px;
+  margin-top: 0;
+  margin-bottom: 0;
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox {
+  min-height: 27px;
+}
+.form-horizontal .form-group {
+  margin-right: -15px;
+  margin-left: -15px;
+}
+@media (min-width: 768px) {
+  .form-horizontal .control-label {
+    padding-top: 7px;
+    margin-bottom: 0;
+    text-align: right;
+  }
+}
+.form-horizontal .has-feedback .form-control-feedback {
+  right: 15px;
+}
+@media (min-width: 768px) {
+  .form-horizontal .form-group-lg .control-label {
+    padding-top: 14.333333px;
+    font-size: 18px;
+  }
+}
+@media (min-width: 768px) {
+  .form-horizontal .form-group-sm .control-label {
+    padding-top: 6px;
+    font-size: 12px;
+  }
+}
+.btn {
+  display: inline-block;
+  padding: 6px 12px;
+  margin-bottom: 0;
+  font-size: 14px;
+  font-weight: normal;
+  line-height: 1.42857143;
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: middle;
+  -ms-touch-action: manipulation;
+      touch-action: manipulation;
+  cursor: pointer;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  background-image: none;
+  border: 1px solid transparent;
+  border-radius: 4px;
+}
+.btn:focus,
+.btn:active:focus,
+.btn.active:focus,
+.btn.focus,
+.btn:active.focus,
+.btn.active.focus {
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+.btn:hover,
+.btn:focus,
+.btn.focus {
+  color: #333;
+  text-decoration: none;
+}
+.btn:active,
+.btn.active {
+  background-image: none;
+  outline: 0;
+  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+          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;
+          box-shadow: none;
+  opacity: .65;
+}
+a.btn.disabled,
+fieldset[disabled] a.btn {
+  pointer-events: none;
+}
+.btn-default {
+  color: #333;
+  background-color: #fff;
+  border-color: #ccc;
+}
+.btn-default:focus,
+.btn-default.focus {
+  color: #333;
+  background-color: #e6e6e6;
+  border-color: #8c8c8c;
+}
+.btn-default:hover {
+  color: #333;
+  background-color: #e6e6e6;
+  border-color: #adadad;
+}
+.btn-default:active,
+.btn-default.active,
+.open > .dropdown-toggle.btn-default {
+  color: #333;
+  background-color: #e6e6e6;
+  border-color: #adadad;
+}
+.btn-default:active:hover,
+.btn-default.active:hover,
+.open > .dropdown-toggle.btn-default:hover,
+.btn-default:active:focus,
+.btn-default.active:focus,
+.open > .dropdown-toggle.btn-default:focus,
+.btn-default:active.focus,
+.btn-default.active.focus,
+.open > .dropdown-toggle.btn-default.focus {
+  color: #333;
+  background-color: #d4d4d4;
+  border-color: #8c8c8c;
+}
+.btn-default:active,
+.btn-default.active,
+.open > .dropdown-toggle.btn-default {
+  background-image: none;
+}
+.btn-default.disabled,
+.btn-default[disabled],
+fieldset[disabled] .btn-default,
+.btn-default.disabled:hover,
+.btn-default[disabled]:hover,
+fieldset[disabled] .btn-default:hover,
+.btn-default.disabled:focus,
+.btn-default[disabled]:focus,
+fieldset[disabled] .btn-default:focus,
+.btn-default.disabled.focus,
+.btn-default[disabled].focus,
+fieldset[disabled] .btn-default.focus,
+.btn-default.disabled:active,
+.btn-default[disabled]:active,
+fieldset[disabled] .btn-default:active,
+.btn-default.disabled.active,
+.btn-default[disabled].active,
+fieldset[disabled] .btn-default.active {
+  background-color: #fff;
+  border-color: #ccc;
+}
+.btn-default .badge {
+  color: #fff;
+  background-color: #333;
+}
+.btn-primary {
+  color: #fff;
+  background-color: #428bca;
+  border-color: #357ebd;
+}
+.btn-primary:focus,
+.btn-primary.focus {
+  color: #fff;
+  background-color: #3071a9;
+  border-color: #193c5a;
+}
+.btn-primary:hover {
+  color: #fff;
+  background-color: #3071a9;
+  border-color: #285e8e;
+}
+.btn-primary:active,
+.btn-primary.active,
+.open > .dropdown-toggle.btn-primary {
+  color: #fff;
+  background-color: #3071a9;
+  border-color: #285e8e;
+}
+.btn-primary:active:hover,
+.btn-primary.active:hover,
+.open > .dropdown-toggle.btn-primary:hover,
+.btn-primary:active:focus,
+.btn-primary.active:focus,
+.open > .dropdown-toggle.btn-primary:focus,
+.btn-primary:active.focus,
+.btn-primary.active.focus,
+.open > .dropdown-toggle.btn-primary.focus {
+  color: #fff;
+  background-color: #285e8e;
+  border-color: #193c5a;
+}
+.btn-primary:active,
+.btn-primary.active,
+.open > .dropdown-toggle.btn-primary {
+  background-image: none;
+}
+.btn-primary.disabled,
+.btn-primary[disabled],
+fieldset[disabled] .btn-primary,
+.btn-primary.disabled:hover,
+.btn-primary[disabled]:hover,
+fieldset[disabled] .btn-primary:hover,
+.btn-primary.disabled:focus,
+.btn-primary[disabled]:focus,
+fieldset[disabled] .btn-primary:focus,
+.btn-primary.disabled.focus,
+.btn-primary[disabled].focus,
+fieldset[disabled] .btn-primary.focus,
+.btn-primary.disabled:active,
+.btn-primary[disabled]:active,
+fieldset[disabled] .btn-primary:active,
+.btn-primary.disabled.active,
+.btn-primary[disabled].active,
+fieldset[disabled] .btn-primary.active {
+  background-color: #428bca;
+  border-color: #357ebd;
+}
+.btn-primary .badge {
+  color: #428bca;
+  background-color: #fff;
+}
+.btn-success {
+  color: #fff;
+  background-color: #79db32;
+  border-color: #6ccf24;
+}
+.btn-success:focus,
+.btn-success.focus {
+  color: #fff;
+  background-color: #61b921;
+  border-color: #346311;
+}
+.btn-success:hover {
+  color: #fff;
+  background-color: #61b921;
+  border-color: #519b1b;
+}
+.btn-success:active,
+.btn-success.active,
+.open > .dropdown-toggle.btn-success {
+  color: #fff;
+  background-color: #61b921;
+  border-color: #519b1b;
+}
+.btn-success:active:hover,
+.btn-success.active:hover,
+.open > .dropdown-toggle.btn-success:hover,
+.btn-success:active:focus,
+.btn-success.active:focus,
+.open > .dropdown-toggle.btn-success:focus,
+.btn-success:active.focus,
+.btn-success.active.focus,
+.open > .dropdown-toggle.btn-success.focus {
+  color: #fff;
+  background-color: #519b1b;
+  border-color: #346311;
+}
+.btn-success:active,
+.btn-success.active,
+.open > .dropdown-toggle.btn-success {
+  background-image: none;
+}
+.btn-success.disabled,
+.btn-success[disabled],
+fieldset[disabled] .btn-success,
+.btn-success.disabled:hover,
+.btn-success[disabled]:hover,
+fieldset[disabled] .btn-success:hover,
+.btn-success.disabled:focus,
+.btn-success[disabled]:focus,
+fieldset[disabled] .btn-success:focus,
+.btn-success.disabled.focus,
+.btn-success[disabled].focus,
+fieldset[disabled] .btn-success.focus,
+.btn-success.disabled:active,
+.btn-success[disabled]:active,
+fieldset[disabled] .btn-success:active,
+.btn-success.disabled.active,
+.btn-success[disabled].active,
+fieldset[disabled] .btn-success.active {
+  background-color: #79db32;
+  border-color: #6ccf24;
+}
+.btn-success .badge {
+  color: #79db32;
+  background-color: #fff;
+}
+.btn-info {
+  color: #fff;
+  background-color: #a07cbc;
+  border-color: #946bb3;
+}
+.btn-info:focus,
+.btn-info.focus {
+  color: #fff;
+  background-color: #885aab;
+  border-color: #533669;
+}
+.btn-info:hover {
+  color: #fff;
+  background-color: #885aab;
+  border-color: #754c95;
+}
+.btn-info:active,
+.btn-info.active,
+.open > .dropdown-toggle.btn-info {
+  color: #fff;
+  background-color: #885aab;
+  border-color: #754c95;
+}
+.btn-info:active:hover,
+.btn-info.active:hover,
+.open > .dropdown-toggle.btn-info:hover,
+.btn-info:active:focus,
+.btn-info.active:focus,
+.open > .dropdown-toggle.btn-info:focus,
+.btn-info:active.focus,
+.btn-info.active.focus,
+.open > .dropdown-toggle.btn-info.focus {
+  color: #fff;
+  background-color: #754c95;
+  border-color: #533669;
+}
+.btn-info:active,
+.btn-info.active,
+.open > .dropdown-toggle.btn-info {
+  background-image: none;
+}
+.btn-info.disabled,
+.btn-info[disabled],
+fieldset[disabled] .btn-info,
+.btn-info.disabled:hover,
+.btn-info[disabled]:hover,
+fieldset[disabled] .btn-info:hover,
+.btn-info.disabled:focus,
+.btn-info[disabled]:focus,
+fieldset[disabled] .btn-info:focus,
+.btn-info.disabled.focus,
+.btn-info[disabled].focus,
+fieldset[disabled] .btn-info.focus,
+.btn-info.disabled:active,
+.btn-info[disabled]:active,
+fieldset[disabled] .btn-info:active,
+.btn-info.disabled.active,
+.btn-info[disabled].active,
+fieldset[disabled] .btn-info.active {
+  background-color: #a07cbc;
+  border-color: #946bb3;
+}
+.btn-info .badge {
+  color: #a07cbc;
+  background-color: #fff;
+}
+.btn-warning {
+  color: #fff;
+  background-color: #e59728;
+  border-color: #d98a1a;
+}
+.btn-warning:focus,
+.btn-warning.focus {
+  color: #fff;
+  background-color: #c27c18;
+  border-color: #67420d;
+}
+.btn-warning:hover {
+  color: #fff;
+  background-color: #c27c18;
+  border-color: #a36814;
+}
+.btn-warning:active,
+.btn-warning.active,
+.open > .dropdown-toggle.btn-warning {
+  color: #fff;
+  background-color: #c27c18;
+  border-color: #a36814;
+}
+.btn-warning:active:hover,
+.btn-warning.active:hover,
+.open > .dropdown-toggle.btn-warning:hover,
+.btn-warning:active:focus,
+.btn-warning.active:focus,
+.open > .dropdown-toggle.btn-warning:focus,
+.btn-warning:active.focus,
+.btn-warning.active.focus,
+.open > .dropdown-toggle.btn-warning.focus {
+  color: #fff;
+  background-color: #a36814;
+  border-color: #67420d;
+}
+.btn-warning:active,
+.btn-warning.active,
+.open > .dropdown-toggle.btn-warning {
+  background-image: none;
+}
+.btn-warning.disabled,
+.btn-warning[disabled],
+fieldset[disabled] .btn-warning,
+.btn-warning.disabled:hover,
+.btn-warning[disabled]:hover,
+fieldset[disabled] .btn-warning:hover,
+.btn-warning.disabled:focus,
+.btn-warning[disabled]:focus,
+fieldset[disabled] .btn-warning:focus,
+.btn-warning.disabled.focus,
+.btn-warning[disabled].focus,
+fieldset[disabled] .btn-warning.focus,
+.btn-warning.disabled:active,
+.btn-warning[disabled]:active,
+fieldset[disabled] .btn-warning:active,
+.btn-warning.disabled.active,
+.btn-warning[disabled].active,
+fieldset[disabled] .btn-warning.active {
+  background-color: #e59728;
+  border-color: #d98a1a;
+}
+.btn-warning .badge {
+  color: #e59728;
+  background-color: #fff;
+}
+.btn-danger {
+  color: #fff;
+  background-color: #db3279;
+  border-color: #cf246c;
+}
+.btn-danger:focus,
+.btn-danger.focus {
+  color: #fff;
+  background-color: #b92161;
+  border-color: #631134;
+}
+.btn-danger:hover {
+  color: #fff;
+  background-color: #b92161;
+  border-color: #9b1b51;
+}
+.btn-danger:active,
+.btn-danger.active,
+.open > .dropdown-toggle.btn-danger {
+  color: #fff;
+  background-color: #b92161;
+  border-color: #9b1b51;
+}
+.btn-danger:active:hover,
+.btn-danger.active:hover,
+.open > .dropdown-toggle.btn-danger:hover,
+.btn-danger:active:focus,
+.btn-danger.active:focus,
+.open > .dropdown-toggle.btn-danger:focus,
+.btn-danger:active.focus,
+.btn-danger.active.focus,
+.open > .dropdown-toggle.btn-danger.focus {
+  color: #fff;
+  background-color: #9b1b51;
+  border-color: #631134;
+}
+.btn-danger:active,
+.btn-danger.active,
+.open > .dropdown-toggle.btn-danger {
+  background-image: none;
+}
+.btn-danger.disabled,
+.btn-danger[disabled],
+fieldset[disabled] .btn-danger,
+.btn-danger.disabled:hover,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger:hover,
+.btn-danger.disabled:focus,
+.btn-danger[disabled]:focus,
+fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled.focus,
+.btn-danger[disabled].focus,
+fieldset[disabled] .btn-danger.focus,
+.btn-danger.disabled:active,
+.btn-danger[disabled]:active,
+fieldset[disabled] .btn-danger:active,
+.btn-danger.disabled.active,
+.btn-danger[disabled].active,
+fieldset[disabled] .btn-danger.active {
+  background-color: #db3279;
+  border-color: #cf246c;
+}
+.btn-danger .badge {
+  color: #db3279;
+  background-color: #fff;
+}
+.btn-link {
+  font-weight: normal;
+  color: #428bca;
+  border-radius: 0;
+}
+.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:hover,
+.btn-link:focus,
+.btn-link:active {
+  border-color: transparent;
+}
+.btn-link:hover,
+.btn-link:focus {
+  color: #2a6496;
+  text-decoration: underline;
+  background-color: transparent;
+}
+.btn-link[disabled]:hover,
+fieldset[disabled] .btn-link:hover,
+.btn-link[disabled]:focus,
+fieldset[disabled] .btn-link:focus {
+  color: #777;
+  text-decoration: none;
+}
+.btn-lg,
+.btn-group-lg > .btn {
+  padding: 10px 16px;
+  font-size: 18px;
+  line-height: 1.3333333;
+  border-radius: 6px;
+}
+.btn-sm,
+.btn-group-sm > .btn {
+  padding: 5px 10px;
+  font-size: 12px;
+  line-height: 1.5;
+  border-radius: 3px;
+}
+.btn-xs,
+.btn-group-xs > .btn {
+  padding: 1px 5px;
+  font-size: 12px;
+  line-height: 1.5;
+  border-radius: 3px;
+}
+.btn-block {
+  display: block;
+  width: 100%;
+}
+.btn-block + .btn-block {
+  margin-top: 5px;
+}
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+  width: 100%;
+}
+.fade {
+  opacity: 0;
+  -webkit-transition: opacity .15s linear;
+       -o-transition: opacity .15s linear;
+          transition: opacity .15s linear;
+}
+.fade.in {
+  opacity: 1;
+}
+.collapse {
+  display: none;
+}
+.collapse.in {
+  display: block;
+}
+tr.collapse.in {
+  display: table-row;
+}
+tbody.collapse.in {
+  display: table-row-group;
+}
+.collapsing {
+  position: relative;
+  height: 0;
+  overflow: hidden;
+  -webkit-transition-timing-function: ease;
+       -o-transition-timing-function: ease;
+          transition-timing-function: ease;
+  -webkit-transition-duration: .35s;
+       -o-transition-duration: .35s;
+          transition-duration: .35s;
+  -webkit-transition-property: height, visibility;
+       -o-transition-property: height, visibility;
+          transition-property: height, visibility;
+}
+.caret {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-left: 2px;
+  vertical-align: middle;
+  border-top: 4px dashed;
+  border-right: 4px solid transparent;
+  border-left: 4px solid transparent;
+}
+.dropup,
+.dropdown {
+  position: relative;
+}
+.dropdown-toggle:focus {
+  outline: 0;
+}
+.dropdown-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: 1000;
+  display: none;
+  float: left;
+  min-width: 160px;
+  padding: 5px 0;
+  margin: 2px 0 0;
+  font-size: 14px;
+  text-align: left;
+  list-style: none;
+  background-color: #fff;
+  -webkit-background-clip: padding-box;
+          background-clip: padding-box;
+  border: 1px solid #ccc;
+  border: 1px solid rgba(0, 0, 0, .15);
+  border-radius: 4px;
+  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+          box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+}
+.dropdown-menu.pull-right {
+  right: 0;
+  left: auto;
+}
+.dropdown-menu .divider {
+  height: 1px;
+  margin: 9px 0;
+  overflow: hidden;
+  background-color: #e5e5e5;
+}
+.dropdown-menu > li > a {
+  display: block;
+  padding: 3px 20px;
+  clear: both;
+  font-weight: normal;
+  line-height: 1.42857143;
+  color: #333;
+  white-space: nowrap;
+}
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus {
+  color: #262626;
+  text-decoration: none;
+  background-color: #f5f5f5;
+}
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+  color: #fff;
+  text-decoration: none;
+  background-color: #428bca;
+  outline: 0;
+}
+.dropdown-menu > .disabled > a,
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+  color: #777;
+}
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+  text-decoration: none;
+  cursor: not-allowed;
+  background-color: transparent;
+  background-image: none;
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.open > .dropdown-menu {
+  display: block;
+}
+.open > a {
+  outline: 0;
+}
+.dropdown-menu-right {
+  right: 0;
+  left: auto;
+}
+.dropdown-menu-left {
+  right: auto;
+  left: 0;
+}
+.dropdown-header {
+  display: block;
+  padding: 3px 20px;
+  font-size: 12px;
+  line-height: 1.42857143;
+  color: #777;
+  white-space: nowrap;
+}
+.dropdown-backdrop {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 990;
+}
+.pull-right > .dropdown-menu {
+  right: 0;
+  left: auto;
+}
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+  content: "";
+  border-top: 0;
+  border-bottom: 4px solid;
+}
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+  top: auto;
+  bottom: 100%;
+  margin-bottom: 2px;
+}
+@media (min-width: 768px) {
+  .navbar-right .dropdown-menu {
+    right: 0;
+    left: auto;
+  }
+  .navbar-right .dropdown-menu-left {
+    right: auto;
+    left: 0;
+  }
+}
+.btn-group,
+.btn-group-vertical {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+}
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+  position: relative;
+  float: left;
+}
+.btn-group > .btn:hover,
+.btn-group-vertical > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group-vertical > .btn:focus,
+.btn-group > .btn:active,
+.btn-group-vertical > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn.active {
+  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 .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:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+  border-radius: 0;
+}
+.btn-group > .btn:first-child {
+  margin-left: 0;
+}
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.btn-group > .btn-group {
+  float: left;
+}
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+  outline: 0;
+}
+.btn-group > .btn + .dropdown-toggle {
+  padding-right: 8px;
+  padding-left: 8px;
+}
+.btn-group > .btn-lg + .dropdown-toggle {
+  padding-right: 12px;
+  padding-left: 12px;
+}
+.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 .dropdown-toggle.btn-link {
+  -webkit-box-shadow: none;
+          box-shadow: none;
+}
+.btn .caret {
+  margin-left: 0;
+}
+.btn-lg .caret {
+  border-width: 5px 5px 0;
+  border-bottom-width: 0;
+}
+.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%;
+}
+.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:not(:first-child):not(:last-child) {
+  border-radius: 0;
+}
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+  border-top-right-radius: 4px;
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+  border-bottom-left-radius: 4px;
+}
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+  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) > .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-left-radius: 0;
+  border-top-right-radius: 0;
+}
+.btn-group-justified {
+  display: table;
+  width: 100%;
+  table-layout: fixed;
+  border-collapse: separate;
+}
+.btn-group-justified > .btn,
+.btn-group-justified > .btn-group {
+  display: table-cell;
+  float: none;
+  width: 1%;
+}
+.btn-group-justified > .btn-group .btn {
+  width: 100%;
+}
+.btn-group-justified > .btn-group .dropdown-menu {
+  left: auto;
+}
+[data-toggle="buttons"] > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
+  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-right: 0;
+  padding-left: 0;
+}
+.input-group .form-control {
+  position: relative;
+  z-index: 2;
+  float: left;
+  width: 100%;
+  margin-bottom: 0;
+}
+.input-group-lg > .form-control,
+.input-group-lg > .input-group-addon,
+.input-group-lg > .input-group-btn > .btn {
+  height: 46px;
+  padding: 10px 16px;
+  font-size: 18px;
+  line-height: 1.3333333;
+  border-radius: 6px;
+}
+select.input-group-lg > .form-control,
+select.input-group-lg > .input-group-addon,
+select.input-group-lg > .input-group-btn > .btn {
+  height: 46px;
+  line-height: 46px;
+}
+textarea.input-group-lg > .form-control,
+textarea.input-group-lg > .input-group-addon,
+textarea.input-group-lg > .input-group-btn > .btn,
+select[multiple].input-group-lg > .form-control,
+select[multiple].input-group-lg > .input-group-addon,
+select[multiple].input-group-lg > .input-group-btn > .btn {
+  height: auto;
+}
+.input-group-sm > .form-control,
+.input-group-sm > .input-group-addon,
+.input-group-sm > .input-group-btn > .btn {
+  height: 30px;
+  padding: 5px 10px;
+  font-size: 12px;
+  line-height: 1.5;
+  border-radius: 3px;
+}
+select.input-group-sm > .form-control,
+select.input-group-sm > .input-group-addon,
+select.input-group-sm > .input-group-btn > .btn {
+  height: 30px;
+  line-height: 30px;
+}
+textarea.input-group-sm > .form-control,
+textarea.input-group-sm > .input-group-addon,
+textarea.input-group-sm > .input-group-btn > .btn,
+select[multiple].input-group-sm > .form-control,
+select[multiple].input-group-sm > .input-group-addon,
+select[multiple].input-group-sm > .input-group-btn > .btn {
+  height: auto;
+}
+.input-group-addon,
+.input-group-btn,
+.input-group .form-control {
+  display: table-cell;
+}
+.input-group-addon:not(:first-child):not(:last-child),
+.input-group-btn:not(:first-child):not(:last-child),
+.input-group .form-control:not(:first-child):not(:last-child) {
+  border-radius: 0;
+}
+.input-group-addon,
+.input-group-btn {
+  width: 1%;
+  white-space: nowrap;
+  vertical-align: middle;
+}
+.input-group-addon {
+  padding: 6px 12px;
+  font-size: 14px;
+  font-weight: normal;
+  line-height: 1;
+  color: #555;
+  text-align: center;
+  background-color: #eee;
+  border: 1px solid #ccc;
+  border-radius: 4px;
+}
+.input-group-addon.input-sm {
+  padding: 5px 10px;
+  font-size: 12px;
+  border-radius: 3px;
+}
+.input-group-addon.input-lg {
+  padding: 10px 16px;
+  font-size: 18px;
+  border-radius: 6px;
+}
+.input-group-addon input[type="radio"],
+.input-group-addon input[type="checkbox"] {
+  margin-top: 0;
+}
+.input-group .form-control:first-child,
+.input-group-addon:first-child,
+.input-group-btn:first-child > .btn,
+.input-group-btn:first-child > .btn-group > .btn,
+.input-group-btn:first-child > .dropdown-toggle,
+.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
+.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
+  border-top-right-radius: 0;
+  border-bottom-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:last-child > .btn,
+.input-group-btn:last-child > .btn-group > .btn,
+.input-group-btn:last-child > .dropdown-toggle,
+.input-group-btn:first-child > .btn:not(:first-child),
+.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
+  border-top-left-radius: 0;
+  border-bottom-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:hover,
+.input-group-btn > .btn:focus,
+.input-group-btn > .btn:active {
+  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 {
+  padding-left: 0;
+  margin-bottom: 0;
+  list-style: none;
+}
+.nav > li {
+  position: relative;
+  display: block;
+}
+.nav > li > a {
+  position: relative;
+  display: block;
+  padding: 10px 15px;
+}
+.nav > li > a:hover,
+.nav > li > a:focus {
+  text-decoration: none;
+  background-color: #eee;
+}
+.nav > li.disabled > a {
+  color: #777;
+}
+.nav > li.disabled > a:hover,
+.nav > li.disabled > a:focus {
+  color: #777;
+  text-decoration: none;
+  cursor: not-allowed;
+  background-color: transparent;
+}
+.nav .open > a,
+.nav .open > a:hover,
+.nav .open > a:focus {
+  background-color: #eee;
+  border-color: #428bca;
+}
+.nav .nav-divider {
+  height: 1px;
+  margin: 9px 0;
+  overflow: hidden;
+  background-color: #e5e5e5;
+}
+.nav > li > a > img {
+  max-width: none;
+}
+.nav-tabs {
+  border-bottom: 1px solid #ddd;
+}
+.nav-tabs > li {
+  float: left;
+  margin-bottom: -1px;
+}
+.nav-tabs > li > a {
+  margin-right: 2px;
+  line-height: 1.42857143;
+  border: 1px solid transparent;
+  border-radius: 4px 4px 0 0;
+}
+.nav-tabs > li > a:hover {
+  border-color: #eee #eee #ddd;
+}
+.nav-tabs > li.active > a,
+.nav-tabs > li.active > a:hover,
+.nav-tabs > li.active > a:focus {
+  color: #555;
+  cursor: default;
+  background-color: #fff;
+  border: 1px solid #ddd;
+  border-bottom-color: transparent;
+}
+.nav-tabs.nav-justified {
+  width: 100%;
+  border-bottom: 0;
+}
+.nav-tabs.nav-justified > li {
+  float: none;
+}
+.nav-tabs.nav-justified > li > a {
+  margin-bottom: 5px;
+  text-align: center;
+}
+.nav-tabs.nav-justified > .dropdown .dropdown-menu {
+  top: auto;
+  left: auto;
+}
+@media (min-width: 768px) {
+  .nav-tabs.nav-justified > li {
+    display: table-cell;
+    width: 1%;
+  }
+  .nav-tabs.nav-justified > li > a {
+    margin-bottom: 0;
+  }
+}
+.nav-tabs.nav-justified > li > a {
+  margin-right: 0;
+  border-radius: 4px;
+}
+.nav-tabs.nav-justified > .active > a,
+.nav-tabs.nav-justified > .active > a:hover,
+.nav-tabs.nav-justified > .active > a:focus {
+  border: 1px solid #ddd;
+}
+@media (min-width: 768px) {
+  .nav-tabs.nav-justified > li > a {
+    border-bottom: 1px solid #ddd;
+    border-radius: 4px 4px 0 0;
+  }
+  .nav-tabs.nav-justified > .active > a,
+  .nav-tabs.nav-justified > .active > a:hover,
+  .nav-tabs.nav-justified > .active > a:focus {
+    border-bottom-color: #fff;
+  }
+}
+.nav-pills > li {
+  float: left;
+}
+.nav-pills > li > a {
+  border-radius: 4px;
+}
+.nav-pills > li + li {
+  margin-left: 2px;
+}
+.nav-pills > li.active > a,
+.nav-pills > li.active > a:hover,
+.nav-pills > li.active > a:focus {
+  color: #fff;
+  background-color: #428bca;
+}
+.nav-stacked > li {
+  float: none;
+}
+.nav-stacked > li + li {
+  margin-top: 2px;
+  margin-left: 0;
+}
+.nav-justified {
+  width: 100%;
+}
+.nav-justified > li {
+  float: none;
+}
+.nav-justified > li > a {
+  margin-bottom: 5px;
+  text-align: center;
+}
+.nav-justified > .dropdown .dropdown-menu {
+  top: auto;
+  left: auto;
+}
+@media (min-width: 768px) {
+  .nav-justified > li {
+    display: table-cell;
+    width: 1%;
+  }
+  .nav-justified > li > a {
+    margin-bottom: 0;
+  }
+}
+.nav-tabs-justified {
+  border-bottom: 0;
+}
+.nav-tabs-justified > li > a {
+  margin-right: 0;
+  border-radius: 4px;
+}
+.nav-tabs-justified > .active > a,
+.nav-tabs-justified > .active > a:hover,
+.nav-tabs-justified > .active > a:focus {
+  border: 1px solid #ddd;
+}
+@media (min-width: 768px) {
+  .nav-tabs-justified > li > a {
+    border-bottom: 1px solid #ddd;
+    border-radius: 4px 4px 0 0;
+  }
+  .nav-tabs-justified > .active > a,
+  .nav-tabs-justified > .active > a:hover,
+  .nav-tabs-justified > .active > a:focus {
+    border-bottom-color: #fff;
+  }
+}
+.tab-content > .tab-pane {
+  display: none;
+}
+.tab-content > .active {
+  display: block;
+}
+.nav .caret {
+  border-top-color: #db3279;
+  border-bottom-color: #db3279;
+}
+.nav a:hover .caret {
+  border-top-color: #b92161;
+  border-bottom-color: #b92161;
+}
+.nav-tabs .dropdown-menu {
+  margin-top: -1px;
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+.navbar {
+  position: relative;
+  min-height: 35px;
+  margin-bottom: 20px;
+  border: 1px solid transparent;
+}
+@media (min-width: 768px) {
+  .navbar {
+    border-radius: 4px;
+  }
+}
+@media (min-width: 768px) {
+  .navbar-header {
+    float: left;
+  }
+}
+.navbar-collapse {
+  padding-right: 15px;
+  padding-left: 15px;
+  overflow-x: visible;
+  -webkit-overflow-scrolling: touch;
+  border-top: 1px solid transparent;
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
+          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
+}
+.navbar-collapse.in {
+  overflow-y: auto;
+}
+@media (min-width: 768px) {
+  .navbar-collapse {
+    width: auto;
+    border-top: 0;
+    -webkit-box-shadow: none;
+            box-shadow: none;
+  }
+  .navbar-collapse.collapse {
+    display: block !important;
+    height: auto !important;
+    padding-bottom: 0;
+    overflow: visible !important;
+  }
+  .navbar-collapse.in {
+    overflow-y: visible;
+  }
+  .navbar-fixed-top .navbar-collapse,
+  .navbar-static-top .navbar-collapse,
+  .navbar-fixed-bottom .navbar-collapse {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+.navbar-fixed-top .navbar-collapse,
+.navbar-fixed-bottom .navbar-collapse {
+  max-height: 340px;
+}
+@media (max-device-width: 480px) and (orientation: landscape) {
+  .navbar-fixed-top .navbar-collapse,
+  .navbar-fixed-bottom .navbar-collapse {
+    max-height: 200px;
+  }
+}
+.container > .navbar-header,
+.container-fluid > .navbar-header,
+.container > .navbar-collapse,
+.container-fluid > .navbar-collapse {
+  margin-right: -15px;
+  margin-left: -15px;
+}
+@media (min-width: 768px) {
+  .container > .navbar-header,
+  .container-fluid > .navbar-header,
+  .container > .navbar-collapse,
+  .container-fluid > .navbar-collapse {
+    margin-right: 0;
+    margin-left: 0;
+  }
+}
+.navbar-static-top {
+  z-index: 1000;
+  border-width: 0 0 1px;
+}
+@media (min-width: 768px) {
+  .navbar-static-top {
+    border-radius: 0;
+  }
+}
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+  position: fixed;
+  right: 0;
+  left: 0;
+  z-index: 1030;
+}
+@media (min-width: 768px) {
+  .navbar-fixed-top,
+  .navbar-fixed-bottom {
+    border-radius: 0;
+  }
+}
+.navbar-fixed-top {
+  top: 0;
+  border-width: 0 0 1px;
+}
+.navbar-fixed-bottom {
+  bottom: 0;
+  margin-bottom: 0;
+  border-width: 1px 0 0;
+}
+.navbar-brand {
+  float: left;
+  height: 35px;
+  padding: 7.5px 15px;
+  font-family: Comfortaa, "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 18px;
+  font-weight: bold;
+  line-height: 20px;
+}
+.navbar-brand:hover,
+.navbar-brand:focus {
+  text-decoration: none;
+}
+.navbar-brand > img {
+  display: block;
+}
+@media (min-width: 768px) {
+  .navbar > .container .navbar-brand,
+  .navbar > .container-fluid .navbar-brand {
+    margin-left: -15px;
+  }
+}
+.navbar-toggle {
+  position: relative;
+  float: right;
+  padding: 9px 10px;
+  margin-top: .5px;
+  margin-right: 15px;
+  margin-bottom: .5px;
+  background-color: transparent;
+  background-image: none;
+  border: 1px solid transparent;
+  border-radius: 4px;
+}
+.navbar-toggle:focus {
+  outline: 0;
+}
+.navbar-toggle .icon-bar {
+  display: block;
+  width: 22px;
+  height: 2px;
+  border-radius: 1px;
+}
+.navbar-toggle .icon-bar + .icon-bar {
+  margin-top: 4px;
+}
+@media (min-width: 768px) {
+  .navbar-toggle {
+    display: none;
+  }
+}
+.navbar-nav {
+  margin: 3.75px -15px;
+}
+.navbar-nav > li > a {
+  padding-top: 10px;
+  padding-bottom: 10px;
+  line-height: 20px;
+}
+@media (max-width: 767px) {
+  .navbar-nav .open .dropdown-menu {
+    position: static;
+    float: none;
+    width: auto;
+    margin-top: 0;
+    background-color: transparent;
+    border: 0;
+    -webkit-box-shadow: none;
+            box-shadow: none;
+  }
+  .navbar-nav .open .dropdown-menu > li > a,
+  .navbar-nav .open .dropdown-menu .dropdown-header {
+    padding: 5px 15px 5px 25px;
+  }
+  .navbar-nav .open .dropdown-menu > li > a {
+    line-height: 20px;
+  }
+  .navbar-nav .open .dropdown-menu > li > a:hover,
+  .navbar-nav .open .dropdown-menu > li > a:focus {
+    background-image: none;
+  }
+}
+@media (min-width: 768px) {
+  .navbar-nav {
+    float: left;
+    margin: 0;
+  }
+  .navbar-nav > li {
+    float: left;
+  }
+  .navbar-nav > li > a {
+    padding-top: 7.5px;
+    padding-bottom: 7.5px;
+  }
+}
+.navbar-form {
+  padding: 10px 15px;
+  margin-top: .5px;
+  margin-right: -15px;
+  margin-bottom: .5px;
+  margin-left: -15px;
+  border-top: 1px solid transparent;
+  border-bottom: 1px solid transparent;
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
+          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
+}
+@media (min-width: 768px) {
+  .navbar-form .form-group {
+    display: inline-block;
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .navbar-form .form-control {
+    display: inline-block;
+    width: auto;
+    vertical-align: middle;
+  }
+  .navbar-form .form-control-static {
+    display: inline-block;
+  }
+  .navbar-form .input-group {
+    display: inline-table;
+    vertical-align: middle;
+  }
+  .navbar-form .input-group .input-group-addon,
+  .navbar-form .input-group .input-group-btn,
+  .navbar-form .input-group .form-control {
+    width: auto;
+  }
+  .navbar-form .input-group > .form-control {
+    width: 100%;
+  }
+  .navbar-form .control-label {
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .navbar-form .radio,
+  .navbar-form .checkbox {
+    display: inline-block;
+    margin-top: 0;
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .navbar-form .radio label,
+  .navbar-form .checkbox label {
+    padding-left: 0;
+  }
+  .navbar-form .radio input[type="radio"],
+  .navbar-form .checkbox input[type="checkbox"] {
+    position: relative;
+    margin-left: 0;
+  }
+  .navbar-form .has-feedback .form-control-feedback {
+    top: 0;
+  }
+}
+@media (max-width: 767px) {
+  .navbar-form .form-group {
+    margin-bottom: 5px;
+  }
+  .navbar-form .form-group:last-child {
+    margin-bottom: 0;
+  }
+}
+@media (min-width: 768px) {
+  .navbar-form {
+    width: auto;
+    padding-top: 0;
+    padding-bottom: 0;
+    margin-right: 0;
+    margin-left: 0;
+    border: 0;
+    -webkit-box-shadow: none;
+            box-shadow: none;
+  }
+}
+.navbar-nav > li > .dropdown-menu {
+  margin-top: 0;
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+  margin-bottom: 0;
+  border-top-left-radius: 4px;
+  border-top-right-radius: 4px;
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.navbar-btn {
+  margin-top: .5px;
+  margin-bottom: .5px;
+}
+.navbar-btn.btn-sm {
+  margin-top: 2.5px;
+  margin-bottom: 2.5px;
+}
+.navbar-btn.btn-xs {
+  margin-top: 6.5px;
+  margin-bottom: 6.5px;
+}
+.navbar-text {
+  margin-top: 7.5px;
+  margin-bottom: 7.5px;
+}
+@media (min-width: 768px) {
+  .navbar-text {
+    float: left;
+    margin-right: 15px;
+    margin-left: 15px;
+  }
+}
+@media (min-width: 768px) {
+  .navbar-left {
+    float: left !important;
+  }
+  .navbar-right {
+    float: right !important;
+    margin-right: -15px;
+  }
+  .navbar-right ~ .navbar-right {
+    margin-right: 0;
+  }
+}
+.navbar-default {
+  background-color: #f8f8f8;
+  border-color: #e7e7e7;
+}
+.navbar-default .navbar-brand {
+  color: #777;
+}
+.navbar-default .navbar-brand:hover,
+.navbar-default .navbar-brand:focus {
+  color: #5e5e5e;
+  background-color: transparent;
+}
+.navbar-default .navbar-text {
+  color: #777;
+}
+.navbar-default .navbar-nav > li > a {
+  color: #777;
+}
+.navbar-default .navbar-nav > li > a:hover,
+.navbar-default .navbar-nav > li > a:focus {
+  color: #333;
+  background-color: transparent;
+}
+.navbar-default .navbar-nav > .active > a,
+.navbar-default .navbar-nav > .active > a:hover,
+.navbar-default .navbar-nav > .active > a:focus {
+  color: #db3279;
+  background-color: #e7e7e7;
+}
+.navbar-default .navbar-nav > .disabled > a,
+.navbar-default .navbar-nav > .disabled > a:hover,
+.navbar-default .navbar-nav > .disabled > a:focus {
+  color: #ccc;
+  background-color: transparent;
+}
+.navbar-default .navbar-toggle {
+  border-color: #ddd;
+}
+.navbar-default .navbar-toggle:hover,
+.navbar-default .navbar-toggle:focus {
+  background-color: #ddd;
+}
+.navbar-default .navbar-toggle .icon-bar {
+  background-color: #888;
+}
+.navbar-default .navbar-collapse,
+.navbar-default .navbar-form {
+  border-color: #e7e7e7;
+}
+.navbar-default .navbar-nav > .open > a,
+.navbar-default .navbar-nav > .open > a:hover,
+.navbar-default .navbar-nav > .open > a:focus {
+  color: #db3279;
+  background-color: #e7e7e7;
+}
+@media (max-width: 767px) {
+  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
+    color: #777;
+  }
+  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
+  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
+    color: #333;
+    background-color: transparent;
+  }
+  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
+  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
+  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
+    color: #db3279;
+    background-color: #e7e7e7;
+  }
+  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
+  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+    color: #ccc;
+    background-color: transparent;
+  }
+}
+.navbar-default .navbar-link {
+  color: #777;
+}
+.navbar-default .navbar-link:hover {
+  color: #333;
+}
+.navbar-default .btn-link {
+  color: #777;
+}
+.navbar-default .btn-link:hover,
+.navbar-default .btn-link:focus {
+  color: #333;
+}
+.navbar-default .btn-link[disabled]:hover,
+fieldset[disabled] .navbar-default .btn-link:hover,
+.navbar-default .btn-link[disabled]:focus,
+fieldset[disabled] .navbar-default .btn-link:focus {
+  color: #ccc;
+}
+.navbar-inverse {
+  background-color: #294172;
+  border-color: #1c2c4c;
+}
+.navbar-inverse .navbar-brand {
+  color: #9d9d9d;
+}
+.navbar-inverse .navbar-brand:hover,
+.navbar-inverse .navbar-brand:focus {
+  color: #fff;
+  background-color: transparent;
+}
+.navbar-inverse .navbar-text {
+  color: #777;
+}
+.navbar-inverse .navbar-nav > li > a {
+  color: #9d9d9d;
+}
+.navbar-inverse .navbar-nav > li > a:hover,
+.navbar-inverse .navbar-nav > li > a:focus {
+  color: #fff;
+  background-color: transparent;
+}
+.navbar-inverse .navbar-nav > .active > a,
+.navbar-inverse .navbar-nav > .active > a:hover,
+.navbar-inverse .navbar-nav > .active > a:focus {
+  color: #fff;
+  background-color: #1c2c4c;
+}
+.navbar-inverse .navbar-nav > .disabled > a,
+.navbar-inverse .navbar-nav > .disabled > a:hover,
+.navbar-inverse .navbar-nav > .disabled > a:focus {
+  color: #444;
+  background-color: transparent;
+}
+.navbar-inverse .navbar-toggle {
+  border-color: #333;
+}
+.navbar-inverse .navbar-toggle:hover,
+.navbar-inverse .navbar-toggle:focus {
+  background-color: #333;
+}
+.navbar-inverse .navbar-toggle .icon-bar {
+  background-color: #fff;
+}
+.navbar-inverse .navbar-collapse,
+.navbar-inverse .navbar-form {
+  border-color: #203258;
+}
+.navbar-inverse .navbar-nav > .open > a,
+.navbar-inverse .navbar-nav > .open > a:hover,
+.navbar-inverse .navbar-nav > .open > a:focus {
+  color: #fff;
+  background-color: #1c2c4c;
+}
+@media (max-width: 767px) {
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
+    border-color: #1c2c4c;
+  }
+  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
+    background-color: #1c2c4c;
+  }
+  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
+    color: #9d9d9d;
+  }
+  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
+  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
+    color: #fff;
+    background-color: transparent;
+  }
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
+    color: #fff;
+    background-color: #1c2c4c;
+  }
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+    color: #444;
+    background-color: transparent;
+  }
+}
+.navbar-inverse .navbar-link {
+  color: #9d9d9d;
+}
+.navbar-inverse .navbar-link:hover {
+  color: #fff;
+}
+.navbar-inverse .btn-link {
+  color: #9d9d9d;
+}
+.navbar-inverse .btn-link:hover,
+.navbar-inverse .btn-link:focus {
+  color: #fff;
+}
+.navbar-inverse .btn-link[disabled]:hover,
+fieldset[disabled] .navbar-inverse .btn-link:hover,
+.navbar-inverse .btn-link[disabled]:focus,
+fieldset[disabled] .navbar-inverse .btn-link:focus {
+  color: #444;
+}
+.breadcrumb {
+  padding: 8px 15px;
+  margin-bottom: 20px;
+  list-style: none;
+  background-color: #f5f5f5;
+  border-radius: 4px;
+}
+.breadcrumb > li {
+  display: inline-block;
+}
+.breadcrumb > li + li:before {
+  padding: 0 5px;
+  color: #ccc;
+  content: "/\00a0";
+}
+.breadcrumb > .active {
+  color: #777;
+}
+.pagination {
+  display: inline-block;
+  padding-left: 0;
+  margin: 20px 0;
+  border-radius: 4px;
+}
+.pagination > li {
+  display: inline;
+}
+.pagination > li > a,
+.pagination > li > span {
+  position: relative;
+  float: left;
+  padding: 6px 12px;
+  margin-left: -1px;
+  line-height: 1.42857143;
+  color: #428bca;
+  text-decoration: none;
+  background-color: #fff;
+  border: 1px solid #ddd;
+}
+.pagination > li:first-child > a,
+.pagination > li:first-child > span {
+  margin-left: 0;
+  border-top-left-radius: 4px;
+  border-bottom-left-radius: 4px;
+}
+.pagination > li:last-child > a,
+.pagination > li:last-child > span {
+  border-top-right-radius: 4px;
+  border-bottom-right-radius: 4px;
+}
+.pagination > li > a:hover,
+.pagination > li > span:hover,
+.pagination > li > a:focus,
+.pagination > li > span:focus {
+  z-index: 3;
+  color: #2a6496;
+  background-color: #eee;
+  border-color: #ddd;
+}
+.pagination > .active > a,
+.pagination > .active > span,
+.pagination > .active > a:hover,
+.pagination > .active > span:hover,
+.pagination > .active > a:focus,
+.pagination > .active > span:focus {
+  z-index: 2;
+  color: #fff;
+  cursor: default;
+  background-color: #428bca;
+  border-color: #428bca;
+}
+.pagination > .disabled > span,
+.pagination > .disabled > span:hover,
+.pagination > .disabled > span:focus,
+.pagination > .disabled > a,
+.pagination > .disabled > a:hover,
+.pagination > .disabled > a:focus {
+  color: #777;
+  cursor: not-allowed;
+  background-color: #fff;
+  border-color: #ddd;
+}
+.pagination-lg > li > a,
+.pagination-lg > li > span {
+  padding: 10px 16px;
+  font-size: 18px;
+}
+.pagination-lg > li:first-child > a,
+.pagination-lg > li:first-child > span {
+  border-top-left-radius: 6px;
+  border-bottom-left-radius: 6px;
+}
+.pagination-lg > li:last-child > a,
+.pagination-lg > li:last-child > span {
+  border-top-right-radius: 6px;
+  border-bottom-right-radius: 6px;
+}
+.pagination-sm > li > a,
+.pagination-sm > li > span {
+  padding: 5px 10px;
+  font-size: 12px;
+}
+.pagination-sm > li:first-child > a,
+.pagination-sm > li:first-child > span {
+  border-top-left-radius: 3px;
+  border-bottom-left-radius: 3px;
+}
+.pagination-sm > li:last-child > a,
+.pagination-sm > li:last-child > span {
+  border-top-right-radius: 3px;
+  border-bottom-right-radius: 3px;
+}
+.pager {
+  padding-left: 0;
+  margin: 20px 0;
+  text-align: center;
+  list-style: none;
+}
+.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:hover,
+.pager li > a:focus {
+  text-decoration: none;
+  background-color: #eee;
+}
+.pager .next > a,
+.pager .next > span {
+  float: right;
+}
+.pager .previous > a,
+.pager .previous > span {
+  float: left;
+}
+.pager .disabled > a,
+.pager .disabled > a:hover,
+.pager .disabled > a:focus,
+.pager .disabled > span {
+  color: #777;
+  cursor: not-allowed;
+  background-color: #fff;
+}
+.label {
+  display: inline;
+  padding: .2em .6em .3em;
+  font-size: 75%;
+  font-weight: bold;
+  line-height: 1;
+  color: #fff;
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: baseline;
+  border-radius: .25em;
+}
+a.label:hover,
+a.label:focus {
+  color: #fff;
+  text-decoration: none;
+  cursor: pointer;
+}
+.label:empty {
+  display: none;
+}
+.btn .label {
+  position: relative;
+  top: -1px;
+}
+.label-default {
+  background-color: #777;
+}
+.label-default[href]:hover,
+.label-default[href]:focus {
+  background-color: #5e5e5e;
+}
+.label-primary {
+  background-color: #428bca;
+}
+.label-primary[href]:hover,
+.label-primary[href]:focus {
+  background-color: #3071a9;
+}
+.label-success {
+  background-color: #79db32;
+}
+.label-success[href]:hover,
+.label-success[href]:focus {
+  background-color: #61b921;
+}
+.label-info {
+  background-color: #a07cbc;
+}
+.label-info[href]:hover,
+.label-info[href]:focus {
+  background-color: #885aab;
+}
+.label-warning {
+  background-color: #e59728;
+}
+.label-warning[href]:hover,
+.label-warning[href]:focus {
+  background-color: #c27c18;
+}
+.label-danger {
+  background-color: #db3279;
+}
+.label-danger[href]:hover,
+.label-danger[href]:focus {
+  background-color: #b92161;
+}
+.badge {
+  display: inline-block;
+  min-width: 10px;
+  padding: 3px 7px;
+  font-size: 12px;
+  font-weight: bold;
+  line-height: 1;
+  color: #fff;
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: baseline;
+  background-color: #777;
+  border-radius: 10px;
+}
+.badge:empty {
+  display: none;
+}
+.btn .badge {
+  position: relative;
+  top: -1px;
+}
+.btn-xs .badge,
+.btn-group-xs > .btn .badge {
+  top: 0;
+  padding: 1px 5px;
+}
+a.badge:hover,
+a.badge:focus {
+  color: #fff;
+  text-decoration: none;
+  cursor: pointer;
+}
+.list-group-item.active > .badge,
+.nav-pills > .active > a > .badge {
+  color: #428bca;
+  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;
+}
+.jumbotron {
+  padding: 30px 15px;
+  margin-bottom: 30px;
+  color: inherit;
+  background-color: #eee;
+}
+.jumbotron h1,
+.jumbotron .h1 {
+  color: inherit;
+}
+.jumbotron p {
+  margin-bottom: 15px;
+  font-size: 21px;
+  font-weight: 200;
+}
+.jumbotron > hr {
+  border-top-color: #d5d5d5;
+}
+.container .jumbotron,
+.container-fluid .jumbotron {
+  border-radius: 6px;
+}
+.jumbotron .container {
+  max-width: 100%;
+}
+@media screen and (min-width: 768px) {
+  .jumbotron {
+    padding: 48px 0;
+  }
+  .container .jumbotron,
+  .container-fluid .jumbotron {
+    padding-right: 60px;
+    padding-left: 60px;
+  }
+  .jumbotron h1,
+  .jumbotron .h1 {
+    font-size: 63px;
+  }
+}
+.thumbnail {
+  display: block;
+  padding: 4px;
+  margin-bottom: 20px;
+  line-height: 1.42857143;
+  background-color: #fff;
+  border: 1px solid #ddd;
+  border-radius: 4px;
+  -webkit-transition: border .2s ease-in-out;
+       -o-transition: border .2s ease-in-out;
+          transition: border .2s ease-in-out;
+}
+.thumbnail > img,
+.thumbnail a > img {
+  margin-right: auto;
+  margin-left: auto;
+}
+a.thumbnail:hover,
+a.thumbnail:focus,
+a.thumbnail.active {
+  border-color: #428bca;
+}
+.thumbnail .caption {
+  padding: 9px;
+  color: #333;
+}
+.alert {
+  padding: 15px;
+  margin-bottom: 20px;
+  border: 1px solid transparent;
+  border-radius: 4px;
+}
+.alert h4 {
+  margin-top: 0;
+  color: inherit;
+}
+.alert .alert-link {
+  font-weight: bold;
+}
+.alert > p,
+.alert > ul {
+  margin-bottom: 0;
+}
+.alert > p + p {
+  margin-top: 5px;
+}
+.alert-dismissable,
+.alert-dismissible {
+  padding-right: 35px;
+}
+.alert-dismissable .close,
+.alert-dismissible .close {
+  position: relative;
+  top: -2px;
+  right: -21px;
+  color: inherit;
+}
+.alert-success {
+  color: #3f7815;
+  background-color: #dcf6ca;
+  border-color: #d8f2b4;
+}
+.alert-success hr {
+  border-top-color: #cdee9e;
+}
+.alert-success .alert-link {
+  color: #284d0e;
+}
+.alert-info {
+  color: #603e7a;
+  background-color: #f6f2f8;
+  border-color: #e7e1f0;
+}
+.alert-info hr {
+  border-top-color: #d9d0e7;
+}
+.alert-info .alert-link {
+  color: #452d58;
+}
+.alert-warning {
+  color: #7e500f;
+  background-color: #f8e4c7;
+  border-color: #f6ceb0;
+}
+.alert-warning hr {
+  border-top-color: #f3bf9a;
+}
+.alert-warning .alert-link {
+  color: #51330a;
+}
+.alert-danger {
+  color: #78153f;
+  background-color: #f6cadc;
+  border-color: #f2b4d8;
+}
+.alert-danger hr {
+  border-top-color: #ee9ecd;
+}
+.alert-danger .alert-link {
+  color: #4d0e28;
+}
+@-webkit-keyframes progress-bar-stripes {
+  from {
+    background-position: 40px 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+@-o-keyframes progress-bar-stripes {
+  from {
+    background-position: 40px 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 40px 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+.progress {
+  height: 20px;
+  margin-bottom: 20px;
+  overflow: hidden;
+  background-color: #f5f5f5;
+  border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
+          box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
+}
+.progress-bar {
+  float: left;
+  width: 0;
+  height: 100%;
+  font-size: 12px;
+  line-height: 20px;
+  color: #fff;
+  text-align: center;
+  background-color: #428bca;
+  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
+          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
+  -webkit-transition: width .6s ease;
+       -o-transition: width .6s ease;
+          transition: width .6s ease;
+}
+.progress-striped .progress-bar,
+.progress-bar-striped {
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  -webkit-background-size: 40px 40px;
+          background-size: 40px 40px;
+}
+.progress.active .progress-bar,
+.progress-bar.active {
+  -webkit-animation: progress-bar-stripes 2s linear infinite;
+       -o-animation: progress-bar-stripes 2s linear infinite;
+          animation: progress-bar-stripes 2s linear infinite;
+}
+.progress-bar-success {
+  background-color: #79db32;
+}
+.progress-striped .progress-bar-success {
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.progress-bar-info {
+  background-color: #a07cbc;
+}
+.progress-striped .progress-bar-info {
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.progress-bar-warning {
+  background-color: #e59728;
+}
+.progress-striped .progress-bar-warning {
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.progress-bar-danger {
+  background-color: #db3279;
+}
+.progress-striped .progress-bar-danger {
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.media {
+  margin-top: 15px;
+}
+.media:first-child {
+  margin-top: 0;
+}
+.media,
+.media-body {
+  overflow: hidden;
+  zoom: 1;
+}
+.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-left,
+.media-right,
+.media-body {
+  display: table-cell;
+  vertical-align: top;
+}
+.media-middle {
+  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 {
+  padding-left: 0;
+  margin-bottom: 20px;
+}
+.list-group-item {
+  position: relative;
+  display: block;
+  padding: 10px 15px;
+  margin-bottom: -1px;
+  background-color: #fff;
+  border: 1px solid #ddd;
+}
+.list-group-item:first-child {
+  border-top-left-radius: 4px;
+  border-top-right-radius: 4px;
+}
+.list-group-item:last-child {
+  margin-bottom: 0;
+  border-bottom-right-radius: 4px;
+  border-bottom-left-radius: 4px;
+}
+a.list-group-item {
+  color: #555;
+}
+a.list-group-item .list-group-item-heading {
+  color: #333;
+}
+a.list-group-item:hover,
+a.list-group-item:focus {
+  color: #555;
+  text-decoration: none;
+  background-color: #f5f5f5;
+}
+.list-group-item.disabled,
+.list-group-item.disabled:hover,
+.list-group-item.disabled:focus {
+  color: #777;
+  cursor: not-allowed;
+  background-color: #eee;
+}
+.list-group-item.disabled .list-group-item-heading,
+.list-group-item.disabled:hover .list-group-item-heading,
+.list-group-item.disabled:focus .list-group-item-heading {
+  color: inherit;
+}
+.list-group-item.disabled .list-group-item-text,
+.list-group-item.disabled:hover .list-group-item-text,
+.list-group-item.disabled:focus .list-group-item-text {
+  color: #777;
+}
+.list-group-item.active,
+.list-group-item.active:hover,
+.list-group-item.active:focus {
+  z-index: 2;
+  color: #fff;
+  background-color: #428bca;
+  border-color: #428bca;
+}
+.list-group-item.active .list-group-item-heading,
+.list-group-item.active:hover .list-group-item-heading,
+.list-group-item.active:focus .list-group-item-heading,
+.list-group-item.active .list-group-item-heading > small,
+.list-group-item.active:hover .list-group-item-heading > small,
+.list-group-item.active:focus .list-group-item-heading > small,
+.list-group-item.active .list-group-item-heading > .small,
+.list-group-item.active:hover .list-group-item-heading > .small,
+.list-group-item.active:focus .list-group-item-heading > .small {
+  color: inherit;
+}
+.list-group-item.active .list-group-item-text,
+.list-group-item.active:hover .list-group-item-text,
+.list-group-item.active:focus .list-group-item-text {
+  color: #e1edf7;
+}
+.list-group-item-success {
+  color: #3f7815;
+  background-color: #dcf6ca;
+}
+a.list-group-item-success {
+  color: #3f7815;
+}
+a.list-group-item-success .list-group-item-heading {
+  color: inherit;
+}
+a.list-group-item-success:hover,
+a.list-group-item-success:focus {
+  color: #3f7815;
+  background-color: #cef2b4;
+}
+a.list-group-item-success.active,
+a.list-group-item-success.active:hover,
+a.list-group-item-success.active:focus {
+  color: #fff;
+  background-color: #3f7815;
+  border-color: #3f7815;
+}
+.list-group-item-info {
+  color: #603e7a;
+  background-color: #f6f2f8;
+}
+a.list-group-item-info {
+  color: #603e7a;
+}
+a.list-group-item-info .list-group-item-heading {
+  color: inherit;
+}
+a.list-group-item-info:hover,
+a.list-group-item-info:focus {
+  color: #603e7a;
+  background-color: #e9e1f0;
+}
+a.list-group-item-info.active,
+a.list-group-item-info.active:hover,
+a.list-group-item-info.active:focus {
+  color: #fff;
+  background-color: #603e7a;
+  border-color: #603e7a;
+}
+.list-group-item-warning {
+  color: #7e500f;
+  background-color: #f8e4c7;
+}
+a.list-group-item-warning {
+  color: #7e500f;
+}
+a.list-group-item-warning .list-group-item-heading {
+  color: inherit;
+}
+a.list-group-item-warning:hover,
+a.list-group-item-warning:focus {
+  color: #7e500f;
+  background-color: #f6d9b0;
+}
+a.list-group-item-warning.active,
+a.list-group-item-warning.active:hover,
+a.list-group-item-warning.active:focus {
+  color: #fff;
+  background-color: #7e500f;
+  border-color: #7e500f;
+}
+.list-group-item-danger {
+  color: #78153f;
+  background-color: #f6cadc;
+}
+a.list-group-item-danger {
+  color: #78153f;
+}
+a.list-group-item-danger .list-group-item-heading {
+  color: inherit;
+}
+a.list-group-item-danger:hover,
+a.list-group-item-danger:focus {
+  color: #78153f;
+  background-color: #f2b4ce;
+}
+a.list-group-item-danger.active,
+a.list-group-item-danger.active:hover,
+a.list-group-item-danger.active:focus {
+  color: #fff;
+  background-color: #78153f;
+  border-color: #78153f;
+}
+.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-body {
+  padding: 15px;
+}
+.panel-heading {
+  padding: 10px 15px;
+  border-bottom: 1px solid transparent;
+  border-top-left-radius: 3px;
+  border-top-right-radius: 3px;
+}
+.panel-heading > .dropdown .dropdown-toggle {
+  color: inherit;
+}
+.panel-title {
+  margin-top: 0;
+  margin-bottom: 0;
+  font-size: 16px;
+  color: inherit;
+}
+.panel-title > a,
+.panel-title > small,
+.panel-title > .small,
+.panel-title > small > a,
+.panel-title > .small > a {
+  color: inherit;
+}
+.panel-footer {
+  padding: 10px 15px;
+  background-color: #f5f5f5;
+  border-top: 1px solid #ddd;
+  border-bottom-right-radius: 3px;
+  border-bottom-left-radius: 3px;
+}
+.panel > .list-group,
+.panel > .panel-collapse > .list-group {
+  margin-bottom: 0;
+}
+.panel > .list-group .list-group-item,
+.panel > .panel-collapse > .list-group .list-group-item {
+  border-width: 1px 0;
+  border-radius: 0;
+}
+.panel > .list-group:first-child .list-group-item:first-child,
+.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
+  border-top: 0;
+  border-top-left-radius: 3px;
+  border-top-right-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-left-radius: 0;
+  border-top-right-radius: 0;
+}
+.panel-heading + .list-group .list-group-item:first-child {
+  border-top-width: 0;
+}
+.list-group + .panel-footer {
+  border-top-width: 0;
+}
+.panel > .table,
+.panel > .table-responsive > .table,
+.panel > .panel-collapse > .table {
+  margin-bottom: 0;
+}
+.panel > .table caption,
+.panel > .table-responsive > .table caption,
+.panel > .panel-collapse > .table caption {
+  padding-right: 15px;
+  padding-left: 15px;
+}
+.panel > .table:first-child,
+.panel > .table-responsive:first-child > .table:first-child {
+  border-top-left-radius: 3px;
+  border-top-right-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
+  border-top-left-radius: 3px;
+  border-top-right-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
+  border-top-left-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
+  border-top-right-radius: 3px;
+}
+.panel > .table:last-child,
+.panel > .table-responsive:last-child > .table:last-child {
+  border-bottom-right-radius: 3px;
+  border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
+  border-bottom-right-radius: 3px;
+  border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
+  border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
+  border-bottom-right-radius: 3px;
+}
+.panel > .panel-body + .table,
+.panel > .panel-body + .table-responsive,
+.panel > .table + .panel-body,
+.panel > .table-responsive + .panel-body {
+  border-top: 1px solid #ddd;
+}
+.panel > .table > tbody:first-child > tr:first-child th,
+.panel > .table > tbody:first-child > tr:first-child td {
+  border-top: 0;
+}
+.panel > .table-bordered,
+.panel > .table-responsive > .table-bordered {
+  border: 0;
+}
+.panel > .table-bordered > thead > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
+.panel > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-bordered > thead > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
+.panel > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-bordered > tfoot > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+  border-left: 0;
+}
+.panel > .table-bordered > thead > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
+.panel > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-bordered > thead > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
+.panel > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-bordered > tfoot > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+  border-right: 0;
+}
+.panel > .table-bordered > thead > tr:first-child > td,
+.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
+.panel > .table-bordered > tbody > tr:first-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
+.panel > .table-bordered > thead > tr:first-child > th,
+.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
+.panel > .table-bordered > tbody > tr:first-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
+  border-bottom: 0;
+}
+.panel > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-bordered > tfoot > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
+  border-bottom: 0;
+}
+.panel > .table-responsive {
+  margin-bottom: 0;
+  border: 0;
+}
+.panel-group {
+  margin-bottom: 20px;
+}
+.panel-group .panel {
+  margin-bottom: 0;
+  border-radius: 4px;
+}
+.panel-group .panel + .panel {
+  margin-top: 5px;
+}
+.panel-group .panel-heading {
+  border-bottom: 0;
+}
+.panel-group .panel-heading + .panel-collapse > .panel-body,
+.panel-group .panel-heading + .panel-collapse > .list-group {
+  border-top: 1px solid #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: #333;
+  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: #333;
+}
+.panel-default > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #ddd;
+}
+.panel-primary {
+  border-color: #428bca;
+}
+.panel-primary > .panel-heading {
+  color: #fff;
+  background-color: #428bca;
+  border-color: #428bca;
+}
+.panel-primary > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #428bca;
+}
+.panel-primary > .panel-heading .badge {
+  color: #428bca;
+  background-color: #fff;
+}
+.panel-primary > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #428bca;
+}
+.panel-success {
+  border-color: #d8f2b4;
+}
+.panel-success > .panel-heading {
+  color: #3f7815;
+  background-color: #dcf6ca;
+  border-color: #d8f2b4;
+}
+.panel-success > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #d8f2b4;
+}
+.panel-success > .panel-heading .badge {
+  color: #dcf6ca;
+  background-color: #3f7815;
+}
+.panel-success > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #d8f2b4;
+}
+.panel-info {
+  border-color: #e7e1f0;
+}
+.panel-info > .panel-heading {
+  color: #603e7a;
+  background-color: #f6f2f8;
+  border-color: #e7e1f0;
+}
+.panel-info > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #e7e1f0;
+}
+.panel-info > .panel-heading .badge {
+  color: #f6f2f8;
+  background-color: #603e7a;
+}
+.panel-info > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #e7e1f0;
+}
+.panel-warning {
+  border-color: #f6ceb0;
+}
+.panel-warning > .panel-heading {
+  color: #7e500f;
+  background-color: #f8e4c7;
+  border-color: #f6ceb0;
+}
+.panel-warning > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #f6ceb0;
+}
+.panel-warning > .panel-heading .badge {
+  color: #f8e4c7;
+  background-color: #7e500f;
+}
+.panel-warning > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #f6ceb0;
+}
+.panel-danger {
+  border-color: #f2b4d8;
+}
+.panel-danger > .panel-heading {
+  color: #78153f;
+  background-color: #f6cadc;
+  border-color: #f2b4d8;
+}
+.panel-danger > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #f2b4d8;
+}
+.panel-danger > .panel-heading .badge {
+  color: #f6cadc;
+  background-color: #78153f;
+}
+.panel-danger > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #f2b4d8;
+}
+.embed-responsive {
+  position: relative;
+  display: block;
+  height: 0;
+  padding: 0;
+  overflow: hidden;
+}
+.embed-responsive .embed-responsive-item,
+.embed-responsive iframe,
+.embed-responsive embed,
+.embed-responsive object,
+.embed-responsive video {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  border: 0;
+}
+.embed-responsive-16by9 {
+  padding-bottom: 56.25%;
+}
+.embed-responsive-4by3 {
+  padding-bottom: 75%;
+}
+.well {
+  min-height: 20px;
+  padding: 19px;
+  margin-bottom: 20px;
+  background-color: #f5f5f5;
+  border: 1px solid #e3e3e3;
+  border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
+}
+.well blockquote {
+  border-color: #ddd;
+  border-color: rgba(0, 0, 0, .15);
+}
+.well-lg {
+  padding: 24px;
+  border-radius: 6px;
+}
+.well-sm {
+  padding: 9px;
+  border-radius: 3px;
+}
+.close {
+  float: right;
+  font-size: 21px;
+  font-weight: bold;
+  line-height: 1;
+  color: #000;
+  text-shadow: 0 1px 0 #fff;
+  filter: alpha(opacity=20);
+  opacity: .2;
+}
+.close:hover,
+.close:focus {
+  color: #000;
+  text-decoration: none;
+  cursor: pointer;
+  filter: alpha(opacity=50);
+  opacity: .5;
+}
+button.close {
+  -webkit-appearance: none;
+  padding: 0;
+  cursor: pointer;
+  background: transparent;
+  border: 0;
+}
+.modal-open {
+  overflow: hidden;
+}
+.modal {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1050;
+  display: none;
+  overflow: hidden;
+  -webkit-overflow-scrolling: touch;
+  outline: 0;
+}
+.modal.fade .modal-dialog {
+  -webkit-transition: -webkit-transform .3s ease-out;
+       -o-transition:      -o-transform .3s ease-out;
+          transition:         transform .3s ease-out;
+  -webkit-transform: translate(0, -25%);
+      -ms-transform: translate(0, -25%);
+       -o-transform: translate(0, -25%);
+          transform: translate(0, -25%);
+}
+.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-background-clip: padding-box;
+          background-clip: padding-box;
+  border: 1px solid #999;
+  border: 1px solid rgba(0, 0, 0, .2);
+  border-radius: 6px;
+  outline: 0;
+  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
+          box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
+}
+.modal-backdrop {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1040;
+  background-color: #000;
+}
+.modal-backdrop.fade {
+  filter: alpha(opacity=0);
+  opacity: 0;
+}
+.modal-backdrop.in {
+  filter: alpha(opacity=50);
+  opacity: .5;
+}
+.modal-header {
+  min-height: 16.42857143px;
+  padding: 15px;
+  border-bottom: 1px solid #e5e5e5;
+}
+.modal-header .close {
+  margin-top: -2px;
+}
+.modal-title {
+  margin: 0;
+  line-height: 1.42857143;
+}
+.modal-body {
+  position: relative;
+  padding: 15px;
+}
+.modal-footer {
+  padding: 15px;
+  text-align: right;
+  border-top: 1px solid #e5e5e5;
+}
+.modal-footer .btn + .btn {
+  margin-bottom: 0;
+  margin-left: 5px;
+}
+.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 {
+  position: absolute;
+  z-index: 1070;
+  display: block;
+  font-family: Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 12px;
+  font-style: normal;
+  font-weight: normal;
+  line-height: 1.42857143;
+  text-align: left;
+  text-align: start;
+  text-decoration: none;
+  text-shadow: none;
+  text-transform: none;
+  letter-spacing: normal;
+  word-break: normal;
+  word-spacing: normal;
+  word-wrap: normal;
+  white-space: normal;
+  filter: alpha(opacity=0);
+  opacity: 0;
+
+  line-break: auto;
+}
+.tooltip.in {
+  filter: alpha(opacity=90);
+  opacity: .9;
+}
+.tooltip.top {
+  padding: 5px 0;
+  margin-top: -3px;
+}
+.tooltip.right {
+  padding: 0 5px;
+  margin-left: 3px;
+}
+.tooltip.bottom {
+  padding: 5px 0;
+  margin-top: 3px;
+}
+.tooltip.left {
+  padding: 0 5px;
+  margin-left: -3px;
+}
+.tooltip-inner {
+  max-width: 200px;
+  padding: 3px 8px;
+  color: #fff;
+  text-align: center;
+  background-color: #000;
+  border-radius: 4px;
+}
+.tooltip-arrow {
+  position: absolute;
+  width: 0;
+  height: 0;
+  border-color: transparent;
+  border-style: solid;
+}
+.tooltip.top .tooltip-arrow {
+  bottom: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-width: 5px 5px 0;
+  border-top-color: #000;
+}
+.tooltip.top-left .tooltip-arrow {
+  right: 5px;
+  bottom: 0;
+  margin-bottom: -5px;
+  border-width: 5px 5px 0;
+  border-top-color: #000;
+}
+.tooltip.top-right .tooltip-arrow {
+  bottom: 0;
+  left: 5px;
+  margin-bottom: -5px;
+  border-width: 5px 5px 0;
+  border-top-color: #000;
+}
+.tooltip.right .tooltip-arrow {
+  top: 50%;
+  left: 0;
+  margin-top: -5px;
+  border-width: 5px 5px 5px 0;
+  border-right-color: #000;
+}
+.tooltip.left .tooltip-arrow {
+  top: 50%;
+  right: 0;
+  margin-top: -5px;
+  border-width: 5px 0 5px 5px;
+  border-left-color: #000;
+}
+.tooltip.bottom .tooltip-arrow {
+  top: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-width: 0 5px 5px;
+  border-bottom-color: #000;
+}
+.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 {
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 1060;
+  display: none;
+  max-width: 276px;
+  padding: 1px;
+  font-family: Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 14px;
+  font-style: normal;
+  font-weight: normal;
+  line-height: 1.42857143;
+  text-align: left;
+  text-align: start;
+  text-decoration: none;
+  text-shadow: none;
+  text-transform: none;
+  letter-spacing: normal;
+  word-break: normal;
+  word-spacing: normal;
+  word-wrap: normal;
+  white-space: normal;
+  background-color: #fff;
+  -webkit-background-clip: padding-box;
+          background-clip: padding-box;
+  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);
+
+  line-break: auto;
+}
+.popover.top {
+  margin-top: -10px;
+}
+.popover.right {
+  margin-left: 10px;
+}
+.popover.bottom {
+  margin-top: 10px;
+}
+.popover.left {
+  margin-left: -10px;
+}
+.popover-title {
+  padding: 8px 14px;
+  margin: 0;
+  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 {
+  content: "";
+  border-width: 10px;
+}
+.popover.top > .arrow {
+  bottom: -11px;
+  left: 50%;
+  margin-left: -11px;
+  border-top-color: #999;
+  border-top-color: rgba(0, 0, 0, .25);
+  border-bottom-width: 0;
+}
+.popover.top > .arrow:after {
+  bottom: 1px;
+  margin-left: -10px;
+  content: " ";
+  border-top-color: #fff;
+  border-bottom-width: 0;
+}
+.popover.right > .arrow {
+  top: 50%;
+  left: -11px;
+  margin-top: -11px;
+  border-right-color: #999;
+  border-right-color: rgba(0, 0, 0, .25);
+  border-left-width: 0;
+}
+.popover.right > .arrow:after {
+  bottom: -10px;
+  left: 1px;
+  content: " ";
+  border-right-color: #fff;
+  border-left-width: 0;
+}
+.popover.bottom > .arrow {
+  top: -11px;
+  left: 50%;
+  margin-left: -11px;
+  border-top-width: 0;
+  border-bottom-color: #999;
+  border-bottom-color: rgba(0, 0, 0, .25);
+}
+.popover.bottom > .arrow:after {
+  top: 1px;
+  margin-left: -10px;
+  content: " ";
+  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 {
+  right: 1px;
+  bottom: -10px;
+  content: " ";
+  border-right-width: 0;
+  border-left-color: #fff;
+}
+.carousel {
+  position: relative;
+}
+.carousel-inner {
+  position: relative;
+  width: 100%;
+  overflow: hidden;
+}
+.carousel-inner > .item {
+  position: relative;
+  display: none;
+  -webkit-transition: .6s ease-in-out left;
+       -o-transition: .6s ease-in-out left;
+          transition: .6s ease-in-out left;
+}
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+  line-height: 1;
+}
+@media all and (transform-3d), (-webkit-transform-3d) {
+  .carousel-inner > .item {
+    -webkit-transition: -webkit-transform .6s ease-in-out;
+         -o-transition:      -o-transform .6s ease-in-out;
+            transition:         transform .6s ease-in-out;
+
+    -webkit-backface-visibility: hidden;
+            backface-visibility: hidden;
+    -webkit-perspective: 1000px;
+            perspective: 1000px;
+  }
+  .carousel-inner > .item.next,
+  .carousel-inner > .item.active.right {
+    left: 0;
+    -webkit-transform: translate3d(100%, 0, 0);
+            transform: translate3d(100%, 0, 0);
+  }
+  .carousel-inner > .item.prev,
+  .carousel-inner > .item.active.left {
+    left: 0;
+    -webkit-transform: translate3d(-100%, 0, 0);
+            transform: translate3d(-100%, 0, 0);
+  }
+  .carousel-inner > .item.next.left,
+  .carousel-inner > .item.prev.right,
+  .carousel-inner > .item.active {
+    left: 0;
+    -webkit-transform: translate3d(0, 0, 0);
+            transform: translate3d(0, 0, 0);
+  }
+}
+.carousel-inner > .active,
+.carousel-inner > .next,
+.carousel-inner > .prev {
+  display: block;
+}
+.carousel-inner > .active {
+  left: 0;
+}
+.carousel-inner > .next,
+.carousel-inner > .prev {
+  position: absolute;
+  top: 0;
+  width: 100%;
+}
+.carousel-inner > .next {
+  left: 100%;
+}
+.carousel-inner > .prev {
+  left: -100%;
+}
+.carousel-inner > .next.left,
+.carousel-inner > .prev.right {
+  left: 0;
+}
+.carousel-inner > .active.left {
+  left: -100%;
+}
+.carousel-inner > .active.right {
+  left: 100%;
+}
+.carousel-control {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  width: 15%;
+  font-size: 20px;
+  color: #fff;
+  text-align: center;
+  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+  filter: alpha(opacity=50);
+  opacity: .5;
+}
+.carousel-control.left {
+  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
+  background-image:         linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
+  background-repeat: repeat-x;
+}
+.carousel-control.right {
+  right: 0;
+  left: auto;
+  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
+  background-image:         linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
+  background-repeat: repeat-x;
+}
+.carousel-control:hover,
+.carousel-control:focus {
+  color: #fff;
+  text-decoration: none;
+  filter: alpha(opacity=90);
+  outline: 0;
+  opacity: .9;
+}
+.carousel-control .icon-prev,
+.carousel-control .icon-next,
+.carousel-control .glyphicon-chevron-left,
+.carousel-control .glyphicon-chevron-right {
+  position: absolute;
+  top: 50%;
+  z-index: 5;
+  display: inline-block;
+}
+.carousel-control .icon-prev,
+.carousel-control .glyphicon-chevron-left {
+  left: 50%;
+  margin-left: -10px;
+}
+.carousel-control .icon-next,
+.carousel-control .glyphicon-chevron-right {
+  right: 50%;
+  margin-right: -10px;
+}
+.carousel-control .icon-prev,
+.carousel-control .icon-next {
+  width: 20px;
+  height: 20px;
+  margin-top: -10px;
+  font-family: serif;
+  line-height: 1;
+}
+.carousel-control .icon-prev:before {
+  content: '\2039';
+}
+.carousel-control .icon-next:before {
+  content: '\203a';
+}
+.carousel-indicators {
+  position: absolute;
+  bottom: 10px;
+  left: 50%;
+  z-index: 15;
+  width: 60%;
+  padding-left: 0;
+  margin-left: -30%;
+  text-align: center;
+  list-style: none;
+}
+.carousel-indicators li {
+  display: inline-block;
+  width: 10px;
+  height: 10px;
+  margin: 1px;
+  text-indent: -999px;
+  cursor: pointer;
+  background-color: #000 \9;
+  background-color: rgba(0, 0, 0, 0);
+  border: 1px solid #fff;
+  border-radius: 10px;
+}
+.carousel-indicators .active {
+  width: 12px;
+  height: 12px;
+  margin: 0;
+  background-color: #fff;
+}
+.carousel-caption {
+  position: absolute;
+  right: 15%;
+  bottom: 20px;
+  left: 15%;
+  z-index: 10;
+  padding-top: 20px;
+  padding-bottom: 20px;
+  color: #fff;
+  text-align: center;
+  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+}
+.carousel-caption .btn {
+  text-shadow: none;
+}
+@media screen and (min-width: 768px) {
+  .carousel-control .glyphicon-chevron-left,
+  .carousel-control .glyphicon-chevron-right,
+  .carousel-control .icon-prev,
+  .carousel-control .icon-next {
+    width: 30px;
+    height: 30px;
+    margin-top: -15px;
+    font-size: 30px;
+  }
+  .carousel-control .glyphicon-chevron-left,
+  .carousel-control .icon-prev {
+    margin-left: -15px;
+  }
+  .carousel-control .glyphicon-chevron-right,
+  .carousel-control .icon-next {
+    margin-right: -15px;
+  }
+  .carousel-caption {
+    right: 20%;
+    left: 20%;
+    padding-bottom: 30px;
+  }
+  .carousel-indicators {
+    bottom: 20px;
+  }
+}
+.clearfix:before,
+.clearfix:after,
+.dl-horizontal dd:before,
+.dl-horizontal dd:after,
+.container:before,
+.container:after,
+.container-fluid:before,
+.container-fluid:after,
+.row:before,
+.row:after,
+.form-horizontal .form-group:before,
+.form-horizontal .form-group:after,
+.btn-toolbar:before,
+.btn-toolbar:after,
+.btn-group-vertical > .btn-group:before,
+.btn-group-vertical > .btn-group:after,
+.nav:before,
+.nav:after,
+.navbar:before,
+.navbar:after,
+.navbar-header:before,
+.navbar-header:after,
+.navbar-collapse:before,
+.navbar-collapse:after,
+.pager:before,
+.pager:after,
+.panel-body:before,
+.panel-body:after,
+.modal-footer:before,
+.modal-footer:after {
+  display: table;
+  content: " ";
+}
+.clearfix:after,
+.dl-horizontal dd:after,
+.container:after,
+.container-fluid:after,
+.row:after,
+.form-horizontal .form-group:after,
+.btn-toolbar:after,
+.btn-group-vertical > .btn-group:after,
+.nav:after,
+.navbar:after,
+.navbar-header:after,
+.navbar-collapse:after,
+.pager:after,
+.panel-body:after,
+.modal-footer:after {
+  clear: both;
+}
+.center-block {
+  display: block;
+  margin-right: auto;
+  margin-left: auto;
+}
+.pull-right {
+  float: right !important;
+}
+.pull-left {
+  float: left !important;
+}
+.hide {
+  display: none !important;
+}
+.show {
+  display: block !important;
+}
+.invisible {
+  visibility: hidden;
+}
+.text-hide {
+  font: 0/0 a;
+  color: transparent;
+  text-shadow: none;
+  background-color: transparent;
+  border: 0;
+}
+.hidden {
+  display: none !important;
+}
+.affix {
+  position: fixed;
+}
+@-ms-viewport {
+  width: device-width;
+}
+.visible-xs,
+.visible-sm,
+.visible-md,
+.visible-lg {
+  display: none !important;
+}
+.visible-xs-block,
+.visible-xs-inline,
+.visible-xs-inline-block,
+.visible-sm-block,
+.visible-sm-inline,
+.visible-sm-inline-block,
+.visible-md-block,
+.visible-md-inline,
+.visible-md-inline-block,
+.visible-lg-block,
+.visible-lg-inline,
+.visible-lg-inline-block {
+  display: none !important;
+}
+@media (max-width: 767px) {
+  .visible-xs {
+    display: block !important;
+  }
+  table.visible-xs {
+    display: table !important;
+  }
+  tr.visible-xs {
+    display: table-row !important;
+  }
+  th.visible-xs,
+  td.visible-xs {
+    display: table-cell !important;
+  }
+}
+@media (max-width: 767px) {
+  .visible-xs-block {
+    display: block !important;
+  }
+}
+@media (max-width: 767px) {
+  .visible-xs-inline {
+    display: inline !important;
+  }
+}
+@media (max-width: 767px) {
+  .visible-xs-inline-block {
+    display: inline-block !important;
+  }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+  .visible-sm {
+    display: block !important;
+  }
+  table.visible-sm {
+    display: table !important;
+  }
+  tr.visible-sm {
+    display: table-row !important;
+  }
+  th.visible-sm,
+  td.visible-sm {
+    display: table-cell !important;
+  }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+  .visible-sm-block {
+    display: block !important;
+  }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+  .visible-sm-inline {
+    display: inline !important;
+  }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+  .visible-sm-inline-block {
+    display: inline-block !important;
+  }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+  .visible-md {
+    display: block !important;
+  }
+  table.visible-md {
+    display: table !important;
+  }
+  tr.visible-md {
+    display: table-row !important;
+  }
+  th.visible-md,
+  td.visible-md {
+    display: table-cell !important;
+  }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+  .visible-md-block {
+    display: block !important;
+  }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+  .visible-md-inline {
+    display: inline !important;
+  }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+  .visible-md-inline-block {
+    display: inline-block !important;
+  }
+}
+@media (min-width: 1200px) {
+  .visible-lg {
+    display: block !important;
+  }
+  table.visible-lg {
+    display: table !important;
+  }
+  tr.visible-lg {
+    display: table-row !important;
+  }
+  th.visible-lg,
+  td.visible-lg {
+    display: table-cell !important;
+  }
+}
+@media (min-width: 1200px) {
+  .visible-lg-block {
+    display: block !important;
+  }
+}
+@media (min-width: 1200px) {
+  .visible-lg-inline {
+    display: inline !important;
+  }
+}
+@media (min-width: 1200px) {
+  .visible-lg-inline-block {
+    display: inline-block !important;
+  }
+}
+@media (max-width: 767px) {
+  .hidden-xs {
+    display: none !important;
+  }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+  .hidden-sm {
+    display: none !important;
+  }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+  .hidden-md {
+    display: none !important;
+  }
+}
+@media (min-width: 1200px) {
+  .hidden-lg {
+    display: none !important;
+  }
+}
+.visible-print {
+  display: none !important;
+}
+@media print {
+  .visible-print {
+    display: block !important;
+  }
+  table.visible-print {
+    display: table !important;
+  }
+  tr.visible-print {
+    display: table-row !important;
+  }
+  th.visible-print,
+  td.visible-print {
+    display: table-cell !important;
+  }
+}
+.visible-print-block {
+  display: none !important;
+}
+@media print {
+  .visible-print-block {
+    display: block !important;
+  }
+}
+.visible-print-inline {
+  display: none !important;
+}
+@media print {
+  .visible-print-inline {
+    display: inline !important;
+  }
+}
+.visible-print-inline-block {
+  display: none !important;
+}
+@media print {
+  .visible-print-inline-block {
+    display: inline-block !important;
+  }
+}
+@media print {
+  .hidden-print {
+    display: none !important;
+  }
+}
+/*# sourceMappingURL=bootstrap.css.map */
diff --git a/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap.css.map b/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap.css.map
new file mode 100644
index 0000000..5683d20
--- /dev/null
+++ b/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"AAAA,6EAA4E;ACQ5E;EACE,yBAAA;EACA,4BAAA;EACA,gCAAA;EDND;ACaD;EACE,WAAA;EDXD;ACwBD;;;;;;;;;;;;;EAaE,gBAAA;EDtBD;AC8BD;;;;EAIE,uBAAA;EACA,0BAAA;ED5BD;ACoCD;EACE,eAAA;EACA,WAAA;EDlCD;AC0CD;;EAEE,eAAA;EDxCD;ACkDD;EACE,+BAAA;EDhDD;ACwDD;;EAEE,YAAA;EDtDD;ACgED;EACE,2BAAA;ED9DD;ACqED;;EAEE,mBAAA;EDnED;AC0ED;EACE,oBAAA;EDxED;ACgFD;EACE,gBAAA;EACA,kBAAA;ED9ED;ACqFD;EACE,kBAAA;EACA,aAAA;EDnFD;AC0FD;EACE,gBAAA;EDxFD;AC+FD;;EAEE,gBAAA;EACA,gBAAA;EACA,oBAAA;EACA,0BAAA;ED7FD;ACgGD;EACE,aAAA;ED9FD;ACiGD;EACE,iBAAA;ED/FD;ACyGD;EACE,WAAA;EDvGD;AC8GD;EACE,kBAAA;ED5GD;ACsHD;EACE,kBAAA;EDpHD;AC2HD;EACE,iCAAA;KAAA,8BAAA;UAAA,yBAAA;EACA,WAAA;EDzHD;ACgID;EACE,gBAAA;ED9HD;ACqID;;;;EAIE,mCAAA;EACA,gBAAA;EDnID;ACqJD;;;;;EAKE,gBAAA;EACA,eAAA;EACA,WAAA;EDnJD;AC0JD;EACE,mBAAA;EDxJD;ACkKD;;EAEE,sBAAA;EDhKD;AC2KD;;;;EAIE,4BAAA;EACA,iBAAA;EDzKD;ACgLD;;EAEE,iBAAA;ED9KD;ACqLD;;EAEE,WAAA;EACA,YAAA;EDnLD;AC2LD;EACE,qBAAA;EDzLD;ACoMD;;EAEE,gCAAA;KAAA,6BAAA;UAAA,wBAAA;EACA,YAAA;EDlMD;AC2MD;;EAEE,cAAA;EDzMD;ACiND;EACE,+BAAA;EACA,iCAAA;KAAA,8BAAA;UAAA,yBAAA;ED/MD;ACwND;;EAEE,0BAAA;EDtND;AC6ND;EACE,2BAAA;EACA,eAAA;EACA,gCAAA;ED3ND;ACmOD;EACE,WAAA;EACA,YAAA;EDjOD;ACwOD;EACE,gBAAA;EDtOD;AC8OD;EACE,mBAAA;ED5OD;ACsPD;EACE,2BAAA;EACA,mBAAA;EDpPD;ACuPD;;EAEE,YAAA;EDrPD;AACD,sFAAqF;AE7ErF;EA7FI;;;IAGI,oCAAA;IACA,wBAAA;IACA,qCAAA;YAAA,6BAAA;IACA,8BAAA;IF6KL;EE1KC;;IAEI,4BAAA;IF4KL;EEzKC;IACI,8BAAA;IF2KL;EExKC;IACI,+BAAA;IF0KL;EErKC;;IAEI,aAAA;IFuKL;EEpKC;;IAEI,wBAAA;IACA,0BAAA;IFsKL;EEnKC;IACI,6BAAA;IFqKL;EElKC;;IAEI,0BAAA;IFoKL;EEjKC;IACI,4BAAA;IFmKL;EEhKC;;;IAGI,YAAA;IACA,WAAA;IFkKL;EE/JC;;IAEI,yBAAA;IFiKL;EE3JC;IACI,eAAA;IF6JL;EE3JC;;IAGQ,mCAAA;IF4JT;EEzJC;IACI,wBAAA;IF2JL;EExJC;IACI,sCAAA;IF0JL;EE3JC;;IAKQ,mCAAA;IF0JT;EEvJC;;IAGQ,mCAAA;IFwJT;EACF;AG9OD;EACE,qCAAA;EACA,uDAAA;EACA,iYAAA;EHgPD;AGxOD;EACE,oBAAA;EACA,UAAA;EACA,uBAAA;EACA,qCAAA;EACA,oBAAA;EACA,qBAAA;EACA,gBAAA;EACA,qCAAA;EACA,oCAAA;EH0OD;AGtOmC;EAAW,gBAAA;EHyO9C;AGxOmC;EAAW,gBAAA;EH2O9C;AGzOmC;;EAAW,kBAAA;EH6O9C;AG5OmC;EAAW,kBAAA;EH+O9C;AG9OmC;EAAW,kBAAA;EHiP9C;AGhPmC;EAAW,kBAAA;EHmP9C;AGlPmC;EAAW,kBAAA;EHqP9C;AGpPmC;EAAW,kBAAA;EHuP9C;AGtPmC;EAAW,kBAAA;EHyP9C;AGxPmC;EAAW,kBAAA;EH2P9C;AG1PmC;EAAW,kBAAA;EH6P9C;AG5PmC;EAAW,kBAAA;EH+P9C;AG9PmC;EAAW,kBAAA;EHiQ9C;AGhQmC;EAAW,kBAAA;EHmQ9C;AGlQmC;EAAW,kBAAA;EHqQ9C;AGpQmC;EAAW,kBAAA;EHuQ9C;AGtQmC;EAAW,kBAAA;EHyQ9C;AGxQmC;EAAW,kBAAA;EH2Q9C;AG1QmC;EAAW,kBAAA;EH6Q9C;AG5QmC;EAAW,kBAAA;EH+Q9C;AG9QmC;EAAW,kBAAA;EHiR9C;AGhRmC;EAAW,kBAAA;EHmR9C;AGlRmC;EAAW,kBAAA;EHqR9C;AGpRmC;EAAW,kBAAA;EHuR9C;AGtRmC;EAAW,kBAAA;EHyR9C;AGxRmC;EAAW,kBAAA;EH2R9C;AG1RmC;EAAW,kBAAA;EH6R9C;AG5RmC;EAAW,kBAAA;EH+R9C;AG9RmC;EAAW,kBAAA;EHiS9C;AGhSmC;EAAW,kBAAA;EHmS9C;AGlSmC;EAAW,kBAAA;EHqS9C;AGpSmC;EAAW,kBAAA;EHuS9C;AGtSmC;EAAW,kBAAA;EHyS9C;AGxSmC;EAAW,kBAAA;EH2S9C;AG1SmC;EAAW,kBAAA;EH6S9C;AG5SmC;EAAW,kBAAA;EH+S9C;AG9SmC;EAAW,kBAAA;EHiT9C;AGhTmC;EAAW,kBAAA;EHmT9C;AGlTmC;EAAW,kBAAA;EHqT9C;AGpTmC;EAAW,kBAAA;EHuT9C;AGtTmC;EAAW,kBAAA;EHyT9C;AGxTmC;EAAW,kBAAA;EH2T9C;AG1TmC;EAAW,kBAAA;EH6T9C;AG5TmC;EAAW,kBAAA;EH+T9C;AG9TmC;EAAW,kBAAA;EHiU9C;AGhUmC;EAAW,kBAAA;EHmU9C;AGlUmC;EAAW,kBAAA;EHqU9C;AGpUmC;EAAW,kBAAA;EHuU9C;AGtUmC;EAAW,kBAAA;EHyU9C;AGxUmC;EAAW,kBAAA;EH2U9C;AG1UmC;EAAW,kBAAA;EH6U9C;AG5UmC;EAAW,kBAAA;EH+U9C;AG9UmC;EAAW,kBAAA;EHiV9C;AGhVmC;EAAW,kBAAA;EHmV9C;AGlVmC;EAAW,kBAAA;EHqV9C;AGpVmC;EAAW,kBAAA;EHuV9C;AGtVmC;EAAW,kBAAA;EHyV9C;AGxVmC;EAAW,kBAAA;EH2V9C;AG1VmC;EAAW,kBAAA;EH6V9C;AG5VmC;EAAW,kBAAA;EH+V9C;AG9VmC;EAAW,kBAAA;EHiW9C;AGhWmC;EAAW,kBAAA;EHmW9C;AGlWmC;EAAW,kBAAA;EHqW9C;AGpWmC;EAAW,kBAAA;EHuW9C;AGtWmC;EAAW,kBAAA;EHyW9C;AGxWmC;EAAW,kBAAA;EH2W9C;AG1WmC;EAAW,kBAAA;EH6W9C;AG5WmC;EAAW,kBAAA;EH+W9C;AG9WmC;EAAW,kBAAA;EHiX9C;AGhXmC;EAAW,kBAAA;EHmX9C;AGlXmC;EAAW,kBAAA;EHqX9C;AGpXmC;EAAW,kBAAA;EHuX9C;AGtXmC;EAAW,kBAAA;EHyX9C;AGxXmC;EAAW,kBAAA;EH2X9C;AG1XmC;EAAW,kBAAA;EH6X9C;AG5XmC;EAAW,kBAAA;EH+X9C;AG9XmC;EAAW,kBAAA;EHiY9C;AGhYmC;EAAW,kBAAA;EHmY9C;AGlYmC;EAAW,kBAAA;EHqY9C;AGpYmC;EAAW,kBAAA;EHuY9C;AGtYmC;EAAW,kBAAA;EHyY9C;AGxYmC;EAAW,kBAAA;EH2Y9C;AG1YmC;EAAW,kBAAA;EH6Y9C;AG5YmC;EAAW,kBAAA;EH+Y9C;AG9YmC;EAAW,kBAAA;EHiZ9C;AGhZmC;EAAW,kBAAA;EHmZ9C;AGlZmC;EAAW,kBAAA;EHqZ9C;AGpZmC;EAAW,kBAAA;EHuZ9C;AGtZmC;EAAW,kBAAA;EHyZ9C;AGxZmC;EAAW,kBAAA;EH2Z9C;AG1ZmC;EAAW,kBAAA;EH6Z9C;AG5ZmC;EAAW,kBAAA;EH+Z9C;AG9ZmC;EAAW,kBAAA;EHia9C;AGhamC;EAAW,kBAAA;EHma9C;AGlamC;EAAW,kBAAA;EHqa9C;AGpamC;EAAW,kBAAA;EHua9C;AGtamC;EAAW,kBAAA;EHya9C;AGxamC;EAAW,kBAAA;EH2a9C;AG1amC;EAAW,kBAAA;EH6a9C;AG5amC;EAAW,kBAAA;EH+a9C;AG9amC;EAAW,kBAAA;EHib9C;AGhbmC;EAAW,kBAAA;EHmb9C;AGlbmC;EAAW,kBAAA;EHqb9C;AGpbmC;EAAW,kBAAA;EHub9C;AGtbmC;EAAW,kBAAA;EHyb9C;AGxbmC;EAAW,kBAAA;EH2b9C;AG1bmC;EAAW,kBAAA;EH6b9C;AG5bmC;EAAW,kBAAA;EH+b9C;AG9bmC;EAAW,kBAAA;EHic9C;AGhcmC;EAAW,kBAAA;EHmc9C;AGlcmC;EAAW,kBAAA;EHqc9C;AGpcmC;EAAW,kBAAA;EHuc9C;AGtcmC;EAAW,kBAAA;EHyc9C;AGxcmC;EAAW,kBAAA;EH2c9C;AG1cmC;EAAW,kBAAA;EH6c9C;AG5cmC;EAAW,kBAAA;EH+c9C;AG9cmC;EAAW,kBAAA;EHid9C;AGhdmC;EAAW,kBAAA;EHmd9C;AGldmC;EAAW,kBAAA;EHqd9C;AGpdmC;EAAW,kBAAA;EHud9C;AGtdmC;EAAW,kBAAA;EHyd9C;AGxdmC;EAAW,kBAAA;EH2d9C;AG1dmC;EAAW,kBAAA;EH6d9C;AG5dmC;EAAW,kBAAA;EH+d9C;AG9dmC;EAAW,kBAAA;EHie9C;AGhemC;EAAW,kBAAA;EHme9C;AGlemC;EAAW,kBAAA;EHqe9C;AGpemC;EAAW,kBAAA;EHue9C;AGtemC;EAAW,kBAAA;EHye9C;AGxemC;EAAW,kBAAA;EH2e9C;AG1emC;EAAW,kBAAA;EH6e9C;AG5emC;EAAW,kBAAA;EH+e9C;AG9emC;EAAW,kBAAA;EHif9C;AGhfmC;EAAW,kBAAA;EHmf9C;AGlfmC;EAAW,kBAAA;EHqf9C;AGpfmC;EAAW,kBAAA;EHuf9C;AGtfmC;EAAW,kBAAA;EHyf9C;AGxfmC;EAAW,kBAAA;EH2f9C;AG1fmC;EAAW,kBAAA;EH6f9C;AG5fmC;EAAW,kBAAA;EH+f9C;AG9fmC;EAAW,kBAAA;EHigB9C;AGhgBmC;EAAW,kBAAA;EHmgB9C;AGlgBmC;EAAW,kBAAA;EHqgB9C;AGpgBmC;EAAW,kBAAA;EHugB9C;AGtgBmC;EAAW,kBAAA;EHygB9C;AGxgBmC;EAAW,kBAAA;EH2gB9C;AG1gBmC;EAAW,kBAAA;EH6gB9C;AG5gBmC;EAAW,kBAAA;EH+gB9C;AG9gBmC;EAAW,kBAAA;EHihB9C;AGhhBmC;EAAW,kBAAA;EHmhB9C;AGlhBmC;EAAW,kBAAA;EHqhB9C;AGphBmC;EAAW,kBAAA;EHuhB9C;AGthBmC;EAAW,kBAAA;EHyhB9C;AGxhBmC;EAAW,kBAAA;EH2hB9C;AG1hBmC;EAAW,kBAAA;EH6hB9C;AG5hBmC;EAAW,kBAAA;EH+hB9C;AG9hBmC;EAAW,kBAAA;EHiiB9C;AGhiBmC;EAAW,kBAAA;EHmiB9C;AGliBmC;EAAW,kBAAA;EHqiB9C;AGpiBmC;EAAW,kBAAA;EHuiB9C;AGtiBmC;EAAW,kBAAA;EHyiB9C;AGxiBmC;EAAW,kBAAA;EH2iB9C;AG1iBmC;EAAW,kBAAA;EH6iB9C;AG5iBmC;EAAW,kBAAA;EH+iB9C;AG9iBmC;EAAW,kBAAA;EHijB9C;AGhjBmC;EAAW,kBAAA;EHmjB9C;AGljBmC;EAAW,kBAAA;EHqjB9C;AGpjBmC;EAAW,kBAAA;EHujB9C;AGtjBmC;EAAW,kBAAA;EHyjB9C;AGxjBmC;EAAW,kBAAA;EH2jB9C;AG1jBmC;EAAW,kBAAA;EH6jB9C;AG5jBmC;EAAW,kBAAA;EH+jB9C;AG9jBmC;EAAW,kBAAA;EHikB9C;AGhkBmC;EAAW,kBAAA;EHmkB9C;AGlkBmC;EAAW,kBAAA;EHqkB9C;AGpkBmC;EAAW,kBAAA;EHukB9C;AGtkBmC;EAAW,kBAAA;EHykB9C;AGxkBmC;EAAW,kBAAA;EH2kB9C;AG1kBmC;EAAW,kBAAA;EH6kB9C;AG5kBmC;EAAW,kBAAA;EH+kB9C;AG9kBmC;EAAW,kBAAA;EHilB9C;AGhlBmC;EAAW,kBAAA;EHmlB9C;AGllBmC;EAAW,kBAAA;EHqlB9C;AGplBmC;EAAW,kBAAA;EHulB9C;AGtlBmC;EAAW,kBAAA;EHylB9C;AGxlBmC;EAAW,kBAAA;EH2lB9C;AG1lBmC;EAAW,kBAAA;EH6lB9C;AG5lBmC;EAAW,kBAAA;EH+lB9C;AG9lBmC;EAAW,kBAAA;EHimB9C;AGhmBmC;EAAW,kBAAA;EHmmB9C;AGlmBmC;EAAW,kBAAA;EHqmB9C;AGpmBmC;EAAW,kBAAA;EHumB9C;AGtmBmC;EAAW,kBAAA;EHymB9C;AGxmBmC;EAAW,kBAAA;EH2mB9C;AG1mBmC;EAAW,kBAAA;EH6mB9C;AG5mBmC;EAAW,kBAAA;EH+mB9C;AG9mBmC;EAAW,kBAAA;EHinB9C;AGhnBmC;EAAW,kBAAA;EHmnB9C;AGlnBmC;EAAW,kBAAA;EHqnB9C;AGpnBmC;EAAW,kBAAA;EHunB9C;AGtnBmC;EAAW,kBAAA;EHynB9C;AGxnBmC;EAAW,kBAAA;EH2nB9C;AG1nBmC;EAAW,kBAAA;EH6nB9C;AG5nBmC;EAAW,kBAAA;EH+nB9C;AG9nBmC;EAAW,kBAAA;EHioB9C;AGhoBmC;EAAW,kBAAA;EHmoB9C;AG1nBmC;EAAW,kBAAA;EH6nB9C;AG5nBmC;EAAW,kBAAA;EH+nB9C;AG9nBmC;EAAW,kBAAA;EHioB9C;AGhoBmC;EAAW,kBAAA;EHmoB9C;AGloBmC;EAAW,kBAAA;EHqoB9C;AGpoBmC;EAAW,kBAAA;EHuoB9C;AGtoBmC;EAAW,kBAAA;EHyoB9C;AGxoBmC;EAAW,kBAAA;EH2oB9C;AG1oBmC;EAAW,kBAAA;EH6oB9C;AG5oBmC;EAAW,kBAAA;EH+oB9C;AG9oBmC;EAAW,kBAAA;EHipB9C;AGhpBmC;EAAW,kBAAA;EHmpB9C;AGlpBmC;EAAW,kBAAA;EHqpB9C;AGppBmC;EAAW,kBAAA;EHupB9C;AGtpBmC;EAAW,kBAAA;EHypB9C;AGxpBmC;EAAW,kBAAA;EH2pB9C;AG1pBmC;EAAW,kBAAA;EH6pB9C;AG5pBmC;EAAW,kBAAA;EH+pB9C;AG9pBmC;EAAW,kBAAA;EHiqB9C;AGhqBmC;EAAW,kBAAA;EHmqB9C;AGlqBmC;EAAW,kBAAA;EHqqB9C;AGpqBmC;EAAW,kBAAA;EHuqB9C;AGtqBmC;EAAW,kBAAA;EHyqB9C;AGxqBmC;EAAW,kBAAA;EH2qB9C;AG1qBmC;EAAW,kBAAA;EH6qB9C;AG5qBmC;EAAW,kBAAA;EH+qB9C;AG9qBmC;EAAW,kBAAA;EHirB9C;AGhrBmC;EAAW,kBAAA;EHmrB9C;AGlrBmC;EAAW,kBAAA;EHqrB9C;AGprBmC;EAAW,kBAAA;EHurB9C;AGtrBmC;EAAW,kBAAA;EHyrB9C;AGxrBmC;EAAW,kBAAA;EH2rB9C;AG1rBmC;EAAW,kBAAA;EH6rB9C;AG5rBmC;EAAW,kBAAA;EH+rB9C;AG9rBmC;EAAW,kBAAA;EHisB9C;AGhsBmC;EAAW,kBAAA;EHmsB9C;AGlsBmC;EAAW,kBAAA;EHqsB9C;AGpsBmC;EAAW,kBAAA;EHusB9C;AGtsBmC;EAAW,kBAAA;EHysB9C;AGxsBmC;EAAW,kBAAA;EH2sB9C;AG1sBmC;EAAW,kBAAA;EH6sB9C;AG5sBmC;EAAW,kBAAA;EH+sB9C;AG9sBmC;EAAW,kBAAA;EHitB9C;AGhtBmC;EAAW,kBAAA;EHmtB9C;AGltBmC;EAAW,kBAAA;EHqtB9C;AGptBmC;EAAW,kBAAA;EHutB9C;AGttBmC;EAAW,kBAAA;EHytB9C;AGxtBmC;EAAW,kBAAA;EH2tB9C;AG1tBmC;EAAW,kBAAA;EH6tB9C;AG5tBmC;EAAW,kBAAA;EH+tB9C;AG9tBmC;EAAW,kBAAA;EHiuB9C;AGhuBmC;EAAW,kBAAA;EHmuB9C;AGluBmC;EAAW,kBAAA;EHquB9C;AGpuBmC;EAAW,kBAAA;EHuuB9C;AGtuBmC;EAAW,kBAAA;EHyuB9C;AGxuBmC;EAAW,kBAAA;EH2uB9C;AIjhCD;ECgEE,gCAAA;EACG,6BAAA;EACK,wBAAA;ELo9BT;AInhCD;;EC6DE,gCAAA;EACG,6BAAA;EACK,wBAAA;EL09BT;AIjhCD;EACE,iBAAA;EACA,+CAAA;EJmhCD;AIhhCD;EACE,wEAAA;EACA,iBAAA;EACA,yBAAA;EACA,gBAAA;EACA,2BAAA;EJkhCD;AI9gCD;;;;EAIE,sBAAA;EACA,oBAAA;EACA,sBAAA;EJghCD;AI1gCD;EACE,gBAAA;EACA,uBAAA;EJ4gCD;AI1gCC;;EAEE,gBAAA;EACA,4BAAA;EJ4gCH;AIzgCC;EErDA,sBAAA;EAEA,4CAAA;EACA,sBAAA;ENgkCD;AIngCD;EACE,WAAA;EJqgCD;AI//BD;EACE,wBAAA;EJigCD;AI7/BD;;;;;EGvEE,gBAAA;EACA,iBAAA;EACA,cAAA;EP2kCD;AIjgCD;EACE,oBAAA;EJmgCD;AI7/BD;EACE,cAAA;EACA,yBAAA;EACA,2BAAA;EACA,2BAAA;EACA,oBAAA;EC6FA,0CAAA;EACK,qCAAA;EACG,kCAAA;EEvLR,uBAAA;EACA,iBAAA;EACA,cAAA;EP2lCD;AI7/BD;EACE,oBAAA;EJ+/BD;AIz/BD;EACE,kBAAA;EACA,qBAAA;EACA,WAAA;EACA,+BAAA;EJ2/BD;AIn/BD;EACE,oBAAA;EACA,YAAA;EACA,aAAA;EACA,cAAA;EACA,YAAA;EACA,kBAAA;EACA,wBAAA;EACA,WAAA;EJq/BD;AI7+BC;;EAEE,kBAAA;EACA,aAAA;EACA,cAAA;EACA,WAAA;EACA,mBAAA;EACA,YAAA;EJ++BH;AIn+BD;EACE,iBAAA;EJq+BD;AQ7nCD;;;;;;;;;;;;EAEE,sBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;ERyoCD;AQ9oCD;;;;;;;;;;;;;;;;;;;;;;;;EASI,qBAAA;EACA,gBAAA;EACA,gBAAA;ER+pCH;AQ3pCD;;;;;;EAGE,kBAAA;EACA,qBAAA;ERgqCD;AQpqCD;;;;;;;;;;;;EAQI,gBAAA;ER0qCH;AQvqCD;;;;;;EAGE,kBAAA;EACA,qBAAA;ER4qCD;AQhrCD;;;;;;;;;;;;EAQI,gBAAA;ERsrCH;AQlrCD;;EAAU,iBAAA;ERsrCT;AQrrCD;;EAAU,iBAAA;ERyrCT;AQxrCD;;EAAU,iBAAA;ER4rCT;AQ3rCD;;EAAU,iBAAA;ER+rCT;AQ9rCD;;EAAU,iBAAA;ERksCT;AQjsCD;;EAAU,iBAAA;ERqsCT;AQ/rCD;EACE,kBAAA;ERisCD;AQ9rCD;EACE,qBAAA;EACA,iBAAA;EACA,kBAAA;EACA,kBAAA;ERgsCD;AQ3rCD;EAAA;IAFI,iBAAA;IRisCD;EACF;AQzrCD;;EAEE,gBAAA;ER2rCD;AQxrCD;;EAEE,2BAAA;EACA,eAAA;ER0rCD;AQtrCD;EAAuB,kBAAA;ERyrCtB;AQxrCD;EAAuB,mBAAA;ER2rCtB;AQ1rCD;EAAuB,oBAAA;ER6rCtB;AQ5rCD;EAAuB,qBAAA;ER+rCtB;AQ9rCD;EAAuB,qBAAA;ERisCtB;AQ9rCD;EAAuB,2BAAA;ERisCtB;AQhsCD;EAAuB,2BAAA;ERmsCtB;AQlsCD;EAAuB,4BAAA;ERqsCtB;AQlsCD;EACE,gBAAA;ERosCD;AQlsCD;ECrGE,gBAAA;ET0yCD;ASzyCC;;EAEE,gBAAA;ET2yCH;AQtsCD;ECxGE,gBAAA;ETizCD;AShzCC;;EAEE,gBAAA;ETkzCH;AQ1sCD;EC3GE,gBAAA;ETwzCD;ASvzCC;;EAEE,gBAAA;ETyzCH;AQ9sCD;EC9GE,gBAAA;ET+zCD;AS9zCC;;EAEE,gBAAA;ETg0CH;AQltCD;ECjHE,gBAAA;ETs0CD;ASr0CC;;EAEE,gBAAA;ETu0CH;AQltCD;EAGE,aAAA;EE3HA,2BAAA;EV80CD;AU70CC;;EAEE,2BAAA;EV+0CH;AQptCD;EE9HE,2BAAA;EVq1CD;AUp1CC;;EAEE,2BAAA;EVs1CH;AQxtCD;EEjIE,2BAAA;EV41CD;AU31CC;;EAEE,2BAAA;EV61CH;AQ5tCD;EEpIE,2BAAA;EVm2CD;AUl2CC;;EAEE,2BAAA;EVo2CH;AQhuCD;EEvIE,2BAAA;EV02CD;AUz2CC;;EAEE,2BAAA;EV22CH;AQ/tCD;EACE,qBAAA;EACA,qBAAA;EACA,kCAAA;ERiuCD;AQztCD;;EAEE,eAAA;EACA,qBAAA;ER2tCD;AQ9tCD;;;;EAMI,kBAAA;ER8tCH;AQvtCD;EACE,iBAAA;EACA,kBAAA;ERytCD;AQrtCD;EALE,iBAAA;EACA,kBAAA;EAMA,mBAAA;ERwtCD;AQ1tCD;EAKI,uBAAA;EACA,mBAAA;EACA,oBAAA;ERwtCH;AQntCD;EACE,eAAA;EACA,qBAAA;ERqtCD;AQntCD;;EAEE,yBAAA;ERqtCD;AQntCD;EACE,mBAAA;ERqtCD;AQntCD;EACE,gBAAA;ERqtCD;AQ5rCD;EAAA;IAVM,aAAA;IACA,cAAA;IACA,aAAA;IACA,mBAAA;IGtNJ,kBAAA;IACA,yBAAA;IACA,qBAAA;IXi6CC;EQtsCH;IAHM,oBAAA;IR4sCH;EACF;AQnsCD;;EAGE,cAAA;EACA,mCAAA;ERosCD;AQlsCD;EACE,gBAAA;EA9IqB,2BAAA;ERm1CtB;AQhsCD;EACE,oBAAA;EACA,kBAAA;EACA,mBAAA;EACA,gCAAA;ERksCD;AQ7rCG;;;EACE,kBAAA;ERisCL;AQ3sCD;;;EAmBI,gBAAA;EACA,gBAAA;EACA,yBAAA;EACA,gBAAA;ER6rCH;AQ3rCG;;;EACE,wBAAA;ER+rCL;AQvrCD;;EAEE,qBAAA;EACA,iBAAA;EACA,iCAAA;EACA,gBAAA;EACA,mBAAA;ERyrCD;AQnrCG;;;;;;EAAW,aAAA;ER2rCd;AQ1rCG;;;;;;EACE,wBAAA;ERisCL;AQ3rCD;EACE,qBAAA;EACA,oBAAA;EACA,yBAAA;ER6rCD;AYn+CD;;;;EAIE,gEAAA;EZq+CD;AYj+CD;EACE,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,2BAAA;EACA,oBAAA;EZm+CD;AY/9CD;EACE,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,2BAAA;EACA,oBAAA;EACA,wDAAA;UAAA,gDAAA;EZi+CD;AYv+CD;EASI,YAAA;EACA,iBAAA;EACA,mBAAA;EACA,0BAAA;UAAA,kBAAA;EZi+CH;AY59CD;EACE,gBAAA;EACA,gBAAA;EACA,kBAAA;EACA,iBAAA;EACA,yBAAA;EACA,uBAAA;EACA,uBAAA;EACA,gBAAA;EACA,2BAAA;EACA,2BAAA;EACA,oBAAA;EZ89CD;AYz+CD;EAeI,YAAA;EACA,oBAAA;EACA,gBAAA;EACA,uBAAA;EACA,+BAAA;EACA,kBAAA;EZ69CH;AYx9CD;EACE,mBAAA;EACA,oBAAA;EZ09CD;AaphDD;ECHE,oBAAA;EACA,mBAAA;EACA,oBAAA;EACA,qBAAA;Ed0hDD;AaphDC;EAAA;IAFE,cAAA;Ib0hDD;EACF;AathDC;EAAA;IAFE,cAAA;Ib4hDD;EACF;AaxhDD;EAAA;IAFI,eAAA;Ib8hDD;EACF;AarhDD;ECvBE,oBAAA;EACA,mBAAA;EACA,oBAAA;EACA,qBAAA;Ed+iDD;AalhDD;ECvBE,oBAAA;EACA,qBAAA;Ed4iDD;Ae5iDG;EACE,oBAAA;EAEA,iBAAA;EAEA,oBAAA;EACA,qBAAA;Ef4iDL;Ae5hDG;EACE,aAAA;Ef8hDL;AevhDC;EACE,aAAA;EfyhDH;Ae1hDC;EACE,qBAAA;Ef4hDH;Ae7hDC;EACE,qBAAA;Ef+hDH;AehiDC;EACE,YAAA;EfkiDH;AeniDC;EACE,qBAAA;EfqiDH;AetiDC;EACE,qBAAA;EfwiDH;AeziDC;EACE,YAAA;Ef2iDH;Ae5iDC;EACE,qBAAA;Ef8iDH;Ae/iDC;EACE,qBAAA;EfijDH;AeljDC;EACE,YAAA;EfojDH;AerjDC;EACE,qBAAA;EfujDH;AexjDC;EACE,oBAAA;Ef0jDH;Ae5iDC;EACE,aAAA;Ef8iDH;Ae/iDC;EACE,qBAAA;EfijDH;AeljDC;EACE,qBAAA;EfojDH;AerjDC;EACE,YAAA;EfujDH;AexjDC;EACE,qBAAA;Ef0jDH;Ae3jDC;EACE,qBAAA;Ef6jDH;Ae9jDC;EACE,YAAA;EfgkDH;AejkDC;EACE,qBAAA;EfmkDH;AepkDC;EACE,qBAAA;EfskDH;AevkDC;EACE,YAAA;EfykDH;Ae1kDC;EACE,qBAAA;Ef4kDH;Ae7kDC;EACE,oBAAA;Ef+kDH;Ae3kDC;EACE,aAAA;Ef6kDH;Ae7lDC;EACE,YAAA;Ef+lDH;AehmDC;EACE,oBAAA;EfkmDH;AenmDC;EACE,oBAAA;EfqmDH;AetmDC;EACE,WAAA;EfwmDH;AezmDC;EACE,oBAAA;Ef2mDH;Ae5mDC;EACE,oBAAA;Ef8mDH;Ae/mDC;EACE,WAAA;EfinDH;AelnDC;EACE,oBAAA;EfonDH;AernDC;EACE,oBAAA;EfunDH;AexnDC;EACE,WAAA;Ef0nDH;Ae3nDC;EACE,oBAAA;Ef6nDH;Ae9nDC;EACE,mBAAA;EfgoDH;Ae5nDC;EACE,YAAA;Ef8nDH;AehnDC;EACE,mBAAA;EfknDH;AennDC;EACE,2BAAA;EfqnDH;AetnDC;EACE,2BAAA;EfwnDH;AeznDC;EACE,kBAAA;Ef2nDH;Ae5nDC;EACE,2BAAA;Ef8nDH;Ae/nDC;EACE,2BAAA;EfioDH;AeloDC;EACE,kBAAA;EfooDH;AeroDC;EACE,2BAAA;EfuoDH;AexoDC;EACE,2BAAA;Ef0oDH;Ae3oDC;EACE,kBAAA;Ef6oDH;Ae9oDC;EACE,2BAAA;EfgpDH;AejpDC;EACE,0BAAA;EfmpDH;AeppDC;EACE,iBAAA;EfspDH;AatpDD;EElCI;IACE,aAAA;If2rDH;EeprDD;IACE,aAAA;IfsrDD;EevrDD;IACE,qBAAA;IfyrDD;Ee1rDD;IACE,qBAAA;If4rDD;Ee7rDD;IACE,YAAA;If+rDD;EehsDD;IACE,qBAAA;IfksDD;EensDD;IACE,qBAAA;IfqsDD;EetsDD;IACE,YAAA;IfwsDD;EezsDD;IACE,qBAAA;If2sDD;Ee5sDD;IACE,qBAAA;If8sDD;Ee/sDD;IACE,YAAA;IfitDD;EeltDD;IACE,qBAAA;IfotDD;EertDD;IACE,oBAAA;IfutDD;EezsDD;IACE,aAAA;If2sDD;Ee5sDD;IACE,qBAAA;If8sDD;Ee/sDD;IACE,qBAAA;IfitDD;EeltDD;IACE,YAAA;IfotDD;EertDD;IACE,qBAAA;IfutDD;EextDD;IACE,qBAAA;If0tDD;Ee3tDD;IACE,YAAA;If6tDD;Ee9tDD;IACE,qBAAA;IfguDD;EejuDD;IACE,qBAAA;IfmuDD;EepuDD;IACE,YAAA;IfsuDD;EevuDD;IACE,qBAAA;IfyuDD;Ee1uDD;IACE,oBAAA;If4uDD;EexuDD;IACE,aAAA;If0uDD;Ee1vDD;IACE,YAAA;If4vDD;Ee7vDD;IACE,oBAAA;If+vDD;EehwDD;IACE,oBAAA;IfkwDD;EenwDD;IACE,WAAA;IfqwDD;EetwDD;IACE,oBAAA;IfwwDD;EezwDD;IACE,oBAAA;If2wDD;Ee5wDD;IACE,WAAA;If8wDD;Ee/wDD;IACE,oBAAA;IfixDD;EelxDD;IACE,oBAAA;IfoxDD;EerxDD;IACE,WAAA;IfuxDD;EexxDD;IACE,oBAAA;If0xDD;Ee3xDD;IACE,mBAAA;If6xDD;EezxDD;IACE,YAAA;If2xDD;Ee7wDD;IACE,mBAAA;If+wDD;EehxDD;IACE,2BAAA;IfkxDD;EenxDD;IACE,2BAAA;IfqxDD;EetxDD;IACE,kBAAA;IfwxDD;EezxDD;IACE,2BAAA;If2xDD;Ee5xDD;IACE,2BAAA;If8xDD;Ee/xDD;IACE,kBAAA;IfiyDD;EelyDD;IACE,2BAAA;IfoyDD;EeryDD;IACE,2BAAA;IfuyDD;EexyDD;IACE,kBAAA;If0yDD;Ee3yDD;IACE,2BAAA;If6yDD;Ee9yDD;IACE,0BAAA;IfgzDD;EejzDD;IACE,iBAAA;IfmzDD;EACF;Aa3yDD;EE3CI;IACE,aAAA;Ify1DH;Eel1DD;IACE,aAAA;Ifo1DD;Eer1DD;IACE,qBAAA;Ifu1DD;Eex1DD;IACE,qBAAA;If01DD;Ee31DD;IACE,YAAA;If61DD;Ee91DD;IACE,qBAAA;Ifg2DD;Eej2DD;IACE,qBAAA;Ifm2DD;Eep2DD;IACE,YAAA;Ifs2DD;Eev2DD;IACE,qBAAA;Ify2DD;Ee12DD;IACE,qBAAA;If42DD;Ee72DD;IACE,YAAA;If+2DD;Eeh3DD;IACE,qBAAA;Ifk3DD;Een3DD;IACE,oBAAA;Ifq3DD;Eev2DD;IACE,aAAA;Ify2DD;Ee12DD;IACE,qBAAA;If42DD;Ee72DD;IACE,qBAAA;If+2DD;Eeh3DD;IACE,YAAA;Ifk3DD;Een3DD;IACE,qBAAA;Ifq3DD;Eet3DD;IACE,qBAAA;Ifw3DD;Eez3DD;IACE,YAAA;If23DD;Ee53DD;IACE,qBAAA;If83DD;Ee/3DD;IACE,qBAAA;Ifi4DD;Eel4DD;IACE,YAAA;Ifo4DD;Eer4DD;IACE,qBAAA;Ifu4DD;Eex4DD;IACE,oBAAA;If04DD;Eet4DD;IACE,aAAA;Ifw4DD;Eex5DD;IACE,YAAA;If05DD;Ee35DD;IACE,oBAAA;If65DD;Ee95DD;IACE,oBAAA;Ifg6DD;Eej6DD;IACE,WAAA;Ifm6DD;Eep6DD;IACE,oBAAA;Ifs6DD;Eev6DD;IACE,oBAAA;Ify6DD;Ee16DD;IACE,WAAA;If46DD;Ee76DD;IACE,oBAAA;If+6DD;Eeh7DD;IACE,oBAAA;Ifk7DD;Een7DD;IACE,WAAA;Ifq7DD;Eet7DD;IACE,oBAAA;Ifw7DD;Eez7DD;IACE,mBAAA;If27DD;Eev7DD;IACE,YAAA;Ify7DD;Ee36DD;IACE,mBAAA;If66DD;Ee96DD;IACE,2BAAA;Ifg7DD;Eej7DD;IACE,2BAAA;Ifm7DD;Eep7DD;IACE,kBAAA;Ifs7DD;Eev7DD;IACE,2BAAA;Ify7DD;Ee17DD;IACE,2BAAA;If47DD;Ee77DD;IACE,kBAAA;If+7DD;Eeh8DD;IACE,2BAAA;Ifk8DD;Een8DD;IACE,2BAAA;Ifq8DD;Eet8DD;IACE,kBAAA;Ifw8DD;Eez8DD;IACE,2BAAA;If28DD;Ee58DD;IACE,0BAAA;If88DD;Ee/8DD;IACE,iBAAA;Ifi9DD;EACF;Aat8DD;EE9CI;IACE,aAAA;Ifu/DH;Eeh/DD;IACE,aAAA;Ifk/DD;Een/DD;IACE,qBAAA;Ifq/DD;Eet/DD;IACE,qBAAA;Ifw/DD;Eez/DD;IACE,YAAA;If2/DD;Ee5/DD;IACE,qBAAA;If8/DD;Ee//DD;IACE,qBAAA;IfigED;EelgED;IACE,YAAA;IfogED;EergED;IACE,qBAAA;IfugED;EexgED;IACE,qBAAA;If0gED;Ee3gED;IACE,YAAA;If6gED;Ee9gED;IACE,qBAAA;IfghED;EejhED;IACE,oBAAA;IfmhED;EergED;IACE,aAAA;IfugED;EexgED;IACE,qBAAA;If0gED;Ee3gED;IACE,qBAAA;If6gED;Ee9gED;IACE,YAAA;IfghED;EejhED;IACE,qBAAA;IfmhED;EephED;IACE,qBAAA;IfshED;EevhED;IACE,YAAA;IfyhED;Ee1hED;IACE,qBAAA;If4hED;Ee7hED;IACE,qBAAA;If+hED;EehiED;IACE,YAAA;IfkiED;EeniED;IACE,qBAAA;IfqiED;EetiED;IACE,oBAAA;IfwiED;EepiED;IACE,aAAA;IfsiED;EetjED;IACE,YAAA;IfwjED;EezjED;IACE,oBAAA;If2jED;Ee5jED;IACE,oBAAA;If8jED;Ee/jED;IACE,WAAA;IfikED;EelkED;IACE,oBAAA;IfokED;EerkED;IACE,oBAAA;IfukED;EexkED;IACE,WAAA;If0kED;Ee3kED;IACE,oBAAA;If6kED;Ee9kED;IACE,oBAAA;IfglED;EejlED;IACE,WAAA;IfmlED;EeplED;IACE,oBAAA;IfslED;EevlED;IACE,mBAAA;IfylED;EerlED;IACE,YAAA;IfulED;EezkED;IACE,mBAAA;If2kED;Ee5kED;IACE,2BAAA;If8kED;Ee/kED;IACE,2BAAA;IfilED;EellED;IACE,kBAAA;IfolED;EerlED;IACE,2BAAA;IfulED;EexlED;IACE,2BAAA;If0lED;Ee3lED;IACE,kBAAA;If6lED;Ee9lED;IACE,2BAAA;IfgmED;EejmED;IACE,2BAAA;IfmmED;EepmED;IACE,kBAAA;IfsmED;EevmED;IACE,2BAAA;IfymED;Ee1mED;IACE,0BAAA;If4mED;Ee7mED;IACE,iBAAA;If+mED;EACF;AgBnrED;EACE,+BAAA;EhBqrED;AgBnrED;EACE,kBAAA;EACA,qBAAA;EACA,gBAAA;EACA,kBAAA;EhBqrED;AgBnrED;EACE,kBAAA;EhBqrED;AgB/qED;EACE,aAAA;EACA,iBAAA;EACA,qBAAA;EhBirED;AgBprED;;;;;;EAWQ,cAAA;EACA,yBAAA;EACA,qBAAA;EACA,+BAAA;EhBirEP;AgB/rED;EAoBI,wBAAA;EACA,kCAAA;EhB8qEH;AgBnsED;;;;;;EA8BQ,eAAA;EhB6qEP;AgB3sED;EAoCI,+BAAA;EhB0qEH;AgB9sED;EAyCI,2BAAA;EhBwqEH;AgBjqED;;;;;;EAOQ,cAAA;EhBkqEP;AgBvpED;EACE,2BAAA;EhBypED;AgB1pED;;;;;;EAQQ,2BAAA;EhB0pEP;AgBlqED;;EAeM,0BAAA;EhBupEL;AgB7oED;EAEI,2BAAA;EhB8oEH;AgBroED;EAEI,2BAAA;EhBsoEH;AgB7nED;EACE,kBAAA;EACA,aAAA;EACA,uBAAA;EhB+nED;AgB1nEG;;EACE,kBAAA;EACA,aAAA;EACA,qBAAA;EhB6nEL;AiBzwEC;;;;;;;;;;;;EAOI,2BAAA;EjBgxEL;AiB1wEC;;;;;EAMI,2BAAA;EjB2wEL;AiB9xEC;;;;;;;;;;;;EAOI,2BAAA;EjBqyEL;AiB/xEC;;;;;EAMI,2BAAA;EjBgyEL;AiBnzEC;;;;;;;;;;;;EAOI,2BAAA;EjB0zEL;AiBpzEC;;;;;EAMI,2BAAA;EjBqzEL;AiBx0EC;;;;;;;;;;;;EAOI,2BAAA;EjB+0EL;AiBz0EC;;;;;EAMI,2BAAA;EjB00EL;AiB71EC;;;;;;;;;;;;EAOI,2BAAA;EjBo2EL;AiB91EC;;;;;EAMI,2BAAA;EjB+1EL;AgB7sED;EACE,kBAAA;EACA,mBAAA;EhB+sED;AgBlpED;EAAA;IA1DI,aAAA;IACA,qBAAA;IACA,oBAAA;IACA,8CAAA;IACA,2BAAA;IhBgtED;EgB1pEH;IAlDM,kBAAA;IhB+sEH;EgB7pEH;;;;;;IAzCY,qBAAA;IhB8sET;EgBrqEH;IAjCM,WAAA;IhBysEH;EgBxqEH;;;;;;IAxBY,gBAAA;IhBwsET;EgBhrEH;;;;;;IApBY,iBAAA;IhB4sET;EgBxrEH;;;;IAPY,kBAAA;IhBqsET;EACF;AkB/5ED;EACE,YAAA;EACA,WAAA;EACA,WAAA;EAIA,cAAA;ElB85ED;AkB35ED;EACE,gBAAA;EACA,aAAA;EACA,YAAA;EACA,qBAAA;EACA,iBAAA;EACA,sBAAA;EACA,gBAAA;EACA,WAAA;EACA,kCAAA;ElB65ED;AkB15ED;EACE,uBAAA;EACA,iBAAA;EACA,oBAAA;EACA,mBAAA;ElB45ED;AkBj5ED;Eb4BE,gCAAA;EACG,6BAAA;EACK,wBAAA;ELw3ET;AkBj5ED;;EAEE,iBAAA;EACA,oBAAA;EACA,qBAAA;ElBm5ED;AkB/4ED;EACE,gBAAA;ElBi5ED;AkB74ED;EACE,gBAAA;EACA,aAAA;ElB+4ED;AkB34ED;;EAEE,cAAA;ElB64ED;AkBz4ED;;;EZxEE,sBAAA;EAEA,4CAAA;EACA,sBAAA;ENq9ED;AkBz4ED;EACE,gBAAA;EACA,kBAAA;EACA,iBAAA;EACA,yBAAA;EACA,gBAAA;ElB24ED;AkBj3ED;EACE,gBAAA;EACA,aAAA;EACA,cAAA;EACA,mBAAA;EACA,iBAAA;EACA,yBAAA;EACA,gBAAA;EACA,2BAAA;EACA,wBAAA;EACA,2BAAA;EACA,oBAAA;EbzDA,0DAAA;EACQ,kDAAA;EAyHR,wFAAA;EACK,2EAAA;EACG,wEAAA;ELqzET;AmB77EC;EACE,uBAAA;EACA,YAAA;EdUF,wFAAA;EACQ,gFAAA;ELs7ET;AKr5EC;EACE,gBAAA;EACA,YAAA;ELu5EH;AKr5EC;EAA0B,gBAAA;ELw5E3B;AKv5EC;EAAgC,gBAAA;EL05EjC;AkBz3EC;;;EAGE,2BAAA;EACA,YAAA;ElB23EH;AkBx3EC;;EAEE,qBAAA;ElB03EH;AkBt3EC;EACE,cAAA;ElBw3EH;AkB52ED;EACE,0BAAA;ElB82ED;AkB10ED;EAxBE;;;;IAIE,mBAAA;IlBq2ED;EkBn2EC;;;;;;;;IAEE,mBAAA;IlB22EH;EkBx2EC;;;;;;;;IAEE,mBAAA;IlBg3EH;EACF;AkBt2ED;EACE,qBAAA;ElBw2ED;AkBh2ED;;EAEE,oBAAA;EACA,gBAAA;EACA,kBAAA;EACA,qBAAA;ElBk2ED;AkBv2ED;;EAQI,kBAAA;EACA,oBAAA;EACA,kBAAA;EACA,qBAAA;EACA,iBAAA;ElBm2EH;AkBh2ED;;;;EAIE,oBAAA;EACA,oBAAA;EACA,oBAAA;ElBk2ED;AkB/1ED;;EAEE,kBAAA;ElBi2ED;AkB71ED;;EAEE,oBAAA;EACA,uBAAA;EACA,oBAAA;EACA,kBAAA;EACA,wBAAA;EACA,qBAAA;EACA,iBAAA;ElB+1ED;AkB71ED;;EAEE,eAAA;EACA,mBAAA;ElB+1ED;AkBt1EC;;;;;;EAGE,qBAAA;ElB21EH;AkBr1EC;;;;EAEE,qBAAA;ElBy1EH;AkBn1EC;;;;EAGI,qBAAA;ElBs1EL;AkB30ED;EAEE,kBAAA;EACA,qBAAA;EAEA,kBAAA;EACA,kBAAA;ElB20ED;AkBz0EC;;EAEE,iBAAA;EACA,kBAAA;ElB20EH;AkB9zED;EC1PE,cAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,oBAAA;EnB2jFD;AmBzjFC;EACE,cAAA;EACA,mBAAA;EnB2jFH;AmBxjFC;;EAEE,cAAA;EnB0jFH;AkB10ED;EAEI,cAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,oBAAA;ElB20EH;AkBj1ED;EASI,cAAA;EACA,mBAAA;ElB20EH;AkBr1ED;;EAcI,cAAA;ElB20EH;AkBz1ED;EAiBI,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;ElB20EH;AkBv0ED;ECtRE,cAAA;EACA,oBAAA;EACA,iBAAA;EACA,wBAAA;EACA,oBAAA;EnBgmFD;AmB9lFC;EACE,cAAA;EACA,mBAAA;EnBgmFH;AmB7lFC;;EAEE,cAAA;EnB+lFH;AkBn1ED;EAEI,cAAA;EACA,oBAAA;EACA,iBAAA;EACA,wBAAA;EACA,oBAAA;ElBo1EH;AkB11ED;EASI,cAAA;EACA,mBAAA;ElBo1EH;AkB91ED;;EAcI,cAAA;ElBo1EH;AkBl2ED;EAiBI,cAAA;EACA,kBAAA;EACA,oBAAA;EACA,iBAAA;EACA,wBAAA;ElBo1EH;AkB30ED;EAEE,oBAAA;ElB40ED;AkB90ED;EAMI,uBAAA;ElB20EH;AkBv0ED;EACE,oBAAA;EACA,QAAA;EACA,UAAA;EACA,YAAA;EACA,gBAAA;EACA,aAAA;EACA,cAAA;EACA,mBAAA;EACA,oBAAA;EACA,sBAAA;ElBy0ED;AkBv0ED;;EAEE,aAAA;EACA,cAAA;EACA,mBAAA;ElBy0ED;AkBv0ED;;EAEE,aAAA;EACA,cAAA;EACA,mBAAA;ElBy0ED;AkBr0ED;;;;;;;;;;EC/YI,gBAAA;EnBguFH;AkBj1ED;EC3YI,uBAAA;Ed+CF,0DAAA;EACQ,kDAAA;ELirFT;AmB/tFG;EACE,uBAAA;Ed4CJ,2EAAA;EACQ,mEAAA;ELsrFT;AkB31ED;ECjYI,gBAAA;EACA,uBAAA;EACA,2BAAA;EnB+tFH;AkBh2ED;EC3XI,gBAAA;EnB8tFH;AkBh2ED;;;;;;;;;;EClZI,gBAAA;EnB8vFH;AkB52ED;EC9YI,uBAAA;Ed+CF,0DAAA;EACQ,kDAAA;EL+sFT;AmB7vFG;EACE,uBAAA;Ed4CJ,2EAAA;EACQ,mEAAA;ELotFT;AkBt3ED;ECpYI,gBAAA;EACA,uBAAA;EACA,2BAAA;EnB6vFH;AkB33ED;EC9XI,gBAAA;EnB4vFH;AkB33ED;;;;;;;;;;ECrZI,gBAAA;EnB4xFH;AkBv4ED;ECjZI,uBAAA;Ed+CF,0DAAA;EACQ,kDAAA;EL6uFT;AmB3xFG;EACE,uBAAA;Ed4CJ,2EAAA;EACQ,mEAAA;ELkvFT;AkBj5ED;ECvYI,gBAAA;EACA,uBAAA;EACA,2BAAA;EnB2xFH;AkBt5ED;ECjYI,gBAAA;EnB0xFH;AkBl5EC;EACG,WAAA;ElBo5EJ;AkBl5EC;EACG,QAAA;ElBo5EJ;AkB14ED;EACE,gBAAA;EACA,iBAAA;EACA,qBAAA;EACA,gBAAA;ElB44ED;AkBzzED;EAAA;IA9DM,uBAAA;IACA,kBAAA;IACA,wBAAA;IlB23EH;EkB/zEH;IAvDM,uBAAA;IACA,aAAA;IACA,wBAAA;IlBy3EH;EkBp0EH;IAhDM,uBAAA;IlBu3EH;EkBv0EH;IA5CM,uBAAA;IACA,wBAAA;IlBs3EH;EkB30EH;;;IAtCQ,aAAA;IlBs3EL;EkBh1EH;IAhCM,aAAA;IlBm3EH;EkBn1EH;IA5BM,kBAAA;IACA,wBAAA;IlBk3EH;EkBv1EH;;IApBM,uBAAA;IACA,eAAA;IACA,kBAAA;IACA,wBAAA;IlB+2EH;EkB91EH;;IAdQ,iBAAA;IlBg3EL;EkBl2EH;;IATM,oBAAA;IACA,gBAAA;IlB+2EH;EkBv2EH;IAHM,QAAA;IlB62EH;EACF;AkBn2ED;;;;EASI,eAAA;EACA,kBAAA;EACA,kBAAA;ElBg2EH;AkB32ED;;EAiBI,kBAAA;ElB81EH;AkB/2ED;EJ3gBE,oBAAA;EACA,qBAAA;Ed63FD;AkB50EC;EAAA;IAVI,mBAAA;IACA,kBAAA;IACA,kBAAA;IlB01EH;EACF;AkB13ED;EAwCI,aAAA;ElBq1EH;AkBv0EC;EAAA;IAJM,0BAAA;IACA,iBAAA;IlB+0EL;EACF;AkBr0EC;EAAA;IAJM,kBAAA;IACA,iBAAA;IlB60EL;EACF;AoB35FD;EACE,uBAAA;EACA,kBAAA;EACA,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,gCAAA;MAAA,4BAAA;EACA,iBAAA;EACA,wBAAA;EACA,+BAAA;EACA,qBAAA;EC6CA,mBAAA;EACA,iBAAA;EACA,yBAAA;EACA,oBAAA;EhB4JA,2BAAA;EACG,wBAAA;EACC,uBAAA;EACI,mBAAA;ELstFT;AoB95FG;;;;;;EdrBF,sBAAA;EAEA,4CAAA;EACA,sBAAA;EN07FD;AoBl6FC;;;EAGE,gBAAA;EACA,uBAAA;EpBo6FH;AoBj6FC;;EAEE,YAAA;EACA,wBAAA;Ef2BF,0DAAA;EACQ,kDAAA;ELy4FT;AoBj6FC;;;EAGE,qBAAA;EE7CF,eAAA;EAGA,2BAAA;EjB8DA,0BAAA;EACQ,kBAAA;ELk5FT;AoBj6FG;;EAEE,sBAAA;EpBm6FL;AoB15FD;EC3DE,gBAAA;EACA,2BAAA;EACA,uBAAA;ErBw9FD;AqBt9FC;;EAEE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBw9FP;AqBt9FC;EACE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBw9FP;AqBt9FC;;;EAGE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBw9FP;AqBt9FG;;;;;;;;;EAGE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB89FT;AqB39FC;;;EAGE,wBAAA;ErB69FH;AqBx9FG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACI,uBAAA;ErBs+FT;AoBx9FD;ECTI,gBAAA;EACA,2BAAA;ErBo+FH;AoBz9FD;EC9DE,gBAAA;EACA,2BAAA;EACA,uBAAA;ErB0hGD;AqBxhGC;;EAEE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB0hGP;AqBxhGC;EACE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB0hGP;AqBxhGC;;;EAGE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB0hGP;AqBxhGG;;;;;;;;;EAGE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBgiGT;AqB7hGC;;;EAGE,wBAAA;ErB+hGH;AqB1hGG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACI,uBAAA;ErBwiGT;AoBvhGD;ECZI,gBAAA;EACA,2BAAA;ErBsiGH;AoBvhGD;EClEE,gBAAA;EACA,2BAAA;EACA,uBAAA;ErB4lGD;AqB1lGC;;EAEE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB4lGP;AqB1lGC;EACE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB4lGP;AqB1lGC;;;EAGE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB4lGP;AqB1lGG;;;;;;;;;EAGE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBkmGT;AqB/lGC;;;EAGE,wBAAA;ErBimGH;AqB5lGG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACI,uBAAA;ErB0mGT;AoBrlGD;EChBI,gBAAA;EACA,2BAAA;ErBwmGH;AoBrlGD;ECtEE,gBAAA;EACA,2BAAA;EACA,uBAAA;ErB8pGD;AqB5pGC;;EAEE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB8pGP;AqB5pGC;EACE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB8pGP;AqB5pGC;;;EAGE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB8pGP;AqB5pGG;;;;;;;;;EAGE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBoqGT;AqBjqGC;;;EAGE,wBAAA;ErBmqGH;AqB9pGG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACI,uBAAA;ErB4qGT;AoBnpGD;ECpBI,gBAAA;EACA,2BAAA;ErB0qGH;AoBnpGD;EC1EE,gBAAA;EACA,2BAAA;EACA,uBAAA;ErBguGD;AqB9tGC;;EAEE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBguGP;AqB9tGC;EACE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBguGP;AqB9tGC;;;EAGE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBguGP;AqB9tGG;;;;;;;;;EAGE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBsuGT;AqBnuGC;;;EAGE,wBAAA;ErBquGH;AqBhuGG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACI,uBAAA;ErB8uGT;AoBjtGD;ECxBI,gBAAA;EACA,2BAAA;ErB4uGH;AoBjtGD;EC9EE,gBAAA;EACA,2BAAA;EACA,uBAAA;ErBkyGD;AqBhyGC;;EAEE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBkyGP;AqBhyGC;EACE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBkyGP;AqBhyGC;;;EAGE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBkyGP;AqBhyGG;;;;;;;;;EAGE,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBwyGT;AqBryGC;;;EAGE,wBAAA;ErBuyGH;AqBlyGG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACI,uBAAA;ErBgzGT;AoB/wGD;EC5BI,gBAAA;EACA,2BAAA;ErB8yGH;AoB1wGD;EACE,gBAAA;EACA,qBAAA;EACA,kBAAA;EpB4wGD;AoB1wGC;;;;;EAKE,+BAAA;EfnCF,0BAAA;EACQ,kBAAA;ELgzGT;AoB3wGC;;;;EAIE,2BAAA;EpB6wGH;AoB3wGC;;EAEE,gBAAA;EACA,4BAAA;EACA,+BAAA;EpB6wGH;AoBzwGG;;;;EAEE,gBAAA;EACA,uBAAA;EpB6wGL;AoBpwGD;;ECrEE,oBAAA;EACA,iBAAA;EACA,wBAAA;EACA,oBAAA;ErB60GD;AoBvwGD;;ECzEE,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,oBAAA;ErBo1GD;AoB1wGD;;EC7EE,kBAAA;EACA,iBAAA;EACA,kBAAA;EACA,oBAAA;ErB21GD;AoBzwGD;EACE,gBAAA;EACA,aAAA;EpB2wGD;AoBvwGD;EACE,iBAAA;EpBywGD;AoBlwGC;;;EACE,aAAA;EpBswGH;AuBh6GD;EACE,YAAA;ElBoLA,0CAAA;EACK,qCAAA;EACG,kCAAA;EL+uGT;AuBn6GC;EACE,YAAA;EvBq6GH;AuBj6GD;EACE,eAAA;EvBm6GD;AuBj6GC;EAAY,gBAAA;EvBo6Gb;AuBn6GC;EAAY,oBAAA;EvBs6Gb;AuBr6GC;EAAY,0BAAA;EvBw6Gb;AuBr6GD;EACE,oBAAA;EACA,WAAA;EACA,kBAAA;ElBuKA,iDAAA;EACQ,4CAAA;KAAA,yCAAA;EAOR,oCAAA;EACQ,+BAAA;KAAA,4BAAA;EAGR,0CAAA;EACQ,qCAAA;KAAA,kCAAA;ELyvGT;AwBn8GD;EACE,uBAAA;EACA,UAAA;EACA,WAAA;EACA,kBAAA;EACA,wBAAA;EACA,wBAAA;EACA,qCAAA;EACA,oCAAA;ExBq8GD;AwBj8GD;;EAEE,oBAAA;ExBm8GD;AwB/7GD;EACE,YAAA;ExBi8GD;AwB77GD;EACE,oBAAA;EACA,WAAA;EACA,SAAA;EACA,eAAA;EACA,eAAA;EACA,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,kBAAA;EACA,iBAAA;EACA,kBAAA;EACA,2BAAA;EACA,2BAAA;EACA,uCAAA;EACA,oBAAA;EnBuBA,qDAAA;EACQ,6CAAA;EmBtBR,sCAAA;UAAA,8BAAA;ExBg8GD;AwB37GC;EACE,UAAA;EACA,YAAA;ExB67GH;AwBt9GD;ECxBE,aAAA;EACA,eAAA;EACA,kBAAA;EACA,2BAAA;EzBi/GD;AwB59GD;EAmCI,gBAAA;EACA,mBAAA;EACA,aAAA;EACA,qBAAA;EACA,yBAAA;EACA,gBAAA;EACA,qBAAA;ExB47GH;AwBt7GC;;EAEE,uBAAA;EACA,gBAAA;EACA,2BAAA;ExBw7GH;AwBl7GC;;;EAGE,gBAAA;EACA,uBAAA;EACA,YAAA;EACA,2BAAA;ExBo7GH;AwB36GC;;;EAGE,gBAAA;ExB66GH;AwBz6GC;;EAEE,uBAAA;EACA,+BAAA;EACA,wBAAA;EE1GF,qEAAA;EF4GE,qBAAA;ExB26GH;AwBt6GD;EAGI,gBAAA;ExBs6GH;AwBz6GD;EAQI,YAAA;ExBo6GH;AwB55GD;EACE,YAAA;EACA,UAAA;ExB85GD;AwBt5GD;EACE,SAAA;EACA,aAAA;ExBw5GD;AwBp5GD;EACE,gBAAA;EACA,mBAAA;EACA,iBAAA;EACA,yBAAA;EACA,gBAAA;EACA,qBAAA;ExBs5GD;AwBl5GD;EACE,iBAAA;EACA,SAAA;EACA,UAAA;EACA,WAAA;EACA,QAAA;EACA,cAAA;ExBo5GD;AwBh5GD;EACE,UAAA;EACA,YAAA;ExBk5GD;AwB14GD;;EAII,eAAA;EACA,0BAAA;EACA,aAAA;ExB04GH;AwBh5GD;;EAUI,WAAA;EACA,cAAA;EACA,oBAAA;ExB04GH;AwBr3GD;EAXE;IAnEA,YAAA;IACA,UAAA;IxBu8GC;EwBr4GD;IAzDA,SAAA;IACA,aAAA;IxBi8GC;EACF;A2BhlHD;;EAEE,oBAAA;EACA,uBAAA;EACA,wBAAA;E3BklHD;A2BtlHD;;EAMI,oBAAA;EACA,aAAA;E3BolHH;A2BllHG;;;;;;;;EAIE,YAAA;E3BwlHL;A2BllHD;;;;EAKI,mBAAA;E3BmlHH;A2B9kHD;EACE,mBAAA;E3BglHD;A2BjlHD;;;EAOI,aAAA;E3B+kHH;A2BtlHD;;;EAYI,kBAAA;E3B+kHH;A2B3kHD;EACE,kBAAA;E3B6kHD;A2BzkHD;EACE,gBAAA;E3B2kHD;A2B1kHC;EClDA,+BAAA;EACG,4BAAA;E5B+nHJ;A2BzkHD;;EC/CE,8BAAA;EACG,2BAAA;E5B4nHJ;A2BxkHD;EACE,aAAA;E3B0kHD;A2BxkHD;EACE,kBAAA;E3B0kHD;A2BxkHD;;ECnEE,+BAAA;EACG,4BAAA;E5B+oHJ;A2BvkHD;ECjEE,8BAAA;EACG,2BAAA;E5B2oHJ;A2BtkHD;;EAEE,YAAA;E3BwkHD;A2BvjHD;EACE,mBAAA;EACA,oBAAA;E3ByjHD;A2BvjHD;EACE,oBAAA;EACA,qBAAA;E3ByjHD;A2BpjHD;EtB/CE,0DAAA;EACQ,kDAAA;ELsmHT;A2BpjHC;EtBnDA,0BAAA;EACQ,kBAAA;EL0mHT;A2BjjHD;EACE,gBAAA;E3BmjHD;A2BhjHD;EACE,yBAAA;EACA,wBAAA;E3BkjHD;A2B/iHD;EACE,yBAAA;E3BijHD;A2B1iHD;;;EAII,gBAAA;EACA,aAAA;EACA,aAAA;EACA,iBAAA;E3B2iHH;A2BljHD;EAcM,aAAA;E3BuiHL;A2BrjHD;;;;EAsBI,kBAAA;EACA,gBAAA;E3BqiHH;A2BhiHC;EACE,kBAAA;E3BkiHH;A2BhiHC;EACE,8BAAA;ECpKF,+BAAA;EACC,8BAAA;E5BusHF;A2BjiHC;EACE,gCAAA;EChLF,4BAAA;EACC,2BAAA;E5BotHF;A2BjiHD;EACE,kBAAA;E3BmiHD;A2BjiHD;;EC/KE,+BAAA;EACC,8BAAA;E5BotHF;A2BhiHD;EC7LE,4BAAA;EACC,2BAAA;E5BguHF;A2B5hHD;EACE,gBAAA;EACA,aAAA;EACA,qBAAA;EACA,2BAAA;E3B8hHD;A2BliHD;;EAOI,aAAA;EACA,qBAAA;EACA,WAAA;E3B+hHH;A2BxiHD;EAYI,aAAA;E3B+hHH;A2B3iHD;EAgBI,YAAA;E3B8hHH;A2B7gHD;;;;EAKM,oBAAA;EACA,wBAAA;EACA,sBAAA;E3B8gHL;A6BxvHD;EACE,oBAAA;EACA,gBAAA;EACA,2BAAA;E7B0vHD;A6BvvHC;EACE,aAAA;EACA,iBAAA;EACA,kBAAA;E7ByvHH;A6BlwHD;EAeI,oBAAA;EACA,YAAA;EAKA,aAAA;EAEA,aAAA;EACA,kBAAA;E7BivHH;A6BxuHD;;;EV8BE,cAAA;EACA,oBAAA;EACA,iBAAA;EACA,wBAAA;EACA,oBAAA;EnB+sHD;AmB7sHC;;;EACE,cAAA;EACA,mBAAA;EnBitHH;AmB9sHC;;;;;;EAEE,cAAA;EnBotHH;A6B1vHD;;;EVyBE,cAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,oBAAA;EnBsuHD;AmBpuHC;;;EACE,cAAA;EACA,mBAAA;EnBwuHH;AmBruHC;;;;;;EAEE,cAAA;EnB2uHH;A6BxwHD;;;EAGE,qBAAA;E7B0wHD;A6BxwHC;;;EACE,kBAAA;E7B4wHH;A6BxwHD;;EAEE,WAAA;EACA,qBAAA;EACA,wBAAA;E7B0wHD;A6BrwHD;EACE,mBAAA;EACA,iBAAA;EACA,qBAAA;EACA,gBAAA;EACA,gBAAA;EACA,oBAAA;EACA,2BAAA;EACA,2BAAA;EACA,oBAAA;E7BuwHD;A6BpwHC;EACE,mBAAA;EACA,iBAAA;EACA,oBAAA;E7BswHH;A6BpwHC;EACE,oBAAA;EACA,iBAAA;EACA,oBAAA;E7BswHH;A6B1xHD;;EA0BI,eAAA;E7BowHH;A6B/vHD;;;;;;;EDhGE,+BAAA;EACG,4BAAA;E5Bw2HJ;A6BhwHD;EACE,iBAAA;E7BkwHD;A6BhwHD;;;;;;;EDpGE,8BAAA;EACG,2BAAA;E5B62HJ;A6BjwHD;EACE,gBAAA;E7BmwHD;A6B9vHD;EACE,oBAAA;EAGA,cAAA;EACA,qBAAA;E7B8vHD;A6BnwHD;EAUI,oBAAA;E7B4vHH;A6BtwHD;EAYM,mBAAA;E7B6vHL;A6B1vHG;;;EAGE,YAAA;E7B4vHL;A6BvvHC;;EAGI,oBAAA;E7BwvHL;A6BrvHC;;EAGI,YAAA;EACA,mBAAA;E7BsvHL;A8Bj5HD;EACE,kBAAA;EACA,iBAAA;EACA,kBAAA;E9Bm5HD;A8Bt5HD;EAOI,oBAAA;EACA,gBAAA;E9Bk5HH;A8B15HD;EAWM,oBAAA;EACA,gBAAA;EACA,oBAAA;E9Bk5HL;A8Bj5HK;;EAEE,uBAAA;EACA,2BAAA;E9Bm5HP;A8B94HG;EACE,gBAAA;E9Bg5HL;A8B94HK;;EAEE,gBAAA;EACA,uBAAA;EACA,+BAAA;EACA,qBAAA;E9Bg5HP;A8Bz4HG;;;EAGE,2BAAA;EACA,uBAAA;E9B24HL;A8Bp7HD;ELHE,aAAA;EACA,eAAA;EACA,kBAAA;EACA,2BAAA;EzB07HD;A8B17HD;EA0DI,iBAAA;E9Bm4HH;A8B13HD;EACE,kCAAA;E9B43HD;A8B73HD;EAGI,aAAA;EAEA,qBAAA;E9B43HH;A8Bj4HD;EASM,mBAAA;EACA,yBAAA;EACA,+BAAA;EACA,4BAAA;E9B23HL;A8B13HK;EACE,uCAAA;E9B43HP;A8Bt3HK;;;EAGE,gBAAA;EACA,2BAAA;EACA,2BAAA;EACA,kCAAA;EACA,iBAAA;E9Bw3HP;A8Bn3HC;EAqDA,aAAA;EA8BA,kBAAA;E9BoyHD;A8Bv3HC;EAwDE,aAAA;E9Bk0HH;A8B13HC;EA0DI,oBAAA;EACA,oBAAA;E9Bm0HL;A8B93HC;EAgEE,WAAA;EACA,YAAA;E9Bi0HH;A8BrzHD;EAAA;IAPM,qBAAA;IACA,WAAA;I9Bg0HH;E8B1zHH;IAJQ,kBAAA;I9Bi0HL;EACF;A8B34HC;EAuFE,iBAAA;EACA,oBAAA;E9BuzHH;A8B/4HC;;;EA8FE,2BAAA;E9BszHH;A8BxyHD;EAAA;IATM,kCAAA;IACA,4BAAA;I9BqzHH;E8B7yHH;;;IAHM,8BAAA;I9BqzHH;EACF;A8Bt5HD;EAEI,aAAA;E9Bu5HH;A8Bz5HD;EAMM,oBAAA;E9Bs5HL;A8B55HD;EASM,kBAAA;E9Bs5HL;A8Bj5HK;;;EAGE,gBAAA;EACA,2BAAA;E9Bm5HP;A8B34HD;EAEI,aAAA;E9B44HH;A8B94HD;EAIM,iBAAA;EACA,gBAAA;E9B64HL;A8Bj4HD;EACE,aAAA;E9Bm4HD;A8Bp4HD;EAII,aAAA;E9Bm4HH;A8Bv4HD;EAMM,oBAAA;EACA,oBAAA;E9Bo4HL;A8B34HD;EAYI,WAAA;EACA,YAAA;E9Bk4HH;A8Bt3HD;EAAA;IAPM,qBAAA;IACA,WAAA;I9Bi4HH;E8B33HH;IAJQ,kBAAA;I9Bk4HL;EACF;A8B13HD;EACE,kBAAA;E9B43HD;A8B73HD;EAKI,iBAAA;EACA,oBAAA;E9B23HH;A8Bj4HD;;;EAYI,2BAAA;E9B03HH;A8B52HD;EAAA;IATM,kCAAA;IACA,4BAAA;I9By3HH;E8Bj3HH;;;IAHM,8BAAA;I9By3HH;EACF;A8Bh3HD;EAEI,eAAA;E9Bi3HH;A8Bn3HD;EAKI,gBAAA;E9Bi3HH;A8Bx2HD;EACE,2BAAA;EACA,8BAAA;E9B02HD;A8Bx2HD;EACE,2BAAA;EACA,8BAAA;E9B02HD;A8Bt2HD;EAEE,kBAAA;EFrPA,4BAAA;EACC,2BAAA;E5B6lIF;A+BvlID;EACE,oBAAA;EACA,kBAAA;EACA,qBAAA;EACA,+BAAA;E/BylID;A+BjlID;EAAA;IAFI,oBAAA;I/BulID;EACF;A+BxkID;EAAA;IAFI,aAAA;I/B8kID;EACF;A+BhkID;EACE,qBAAA;EACA,qBAAA;EACA,oBAAA;EACA,mCAAA;EACA,4DAAA;UAAA,oDAAA;EAEA,mCAAA;E/BikID;A+B/jIC;EACE,kBAAA;E/BikIH;A+BriID;EAAA;IAxBI,aAAA;IACA,eAAA;IACA,0BAAA;YAAA,kBAAA;I/BikID;E+B/jIC;IACE,2BAAA;IACA,yBAAA;IACA,mBAAA;IACA,8BAAA;I/BikIH;E+B9jIC;IACE,qBAAA;I/BgkIH;E+B3jIC;;;IAGE,iBAAA;IACA,kBAAA;I/B6jIH;EACF;A+BzjID;;EAGI,mBAAA;E/B0jIH;A+BrjIC;EAAA;;IAFI,mBAAA;I/B4jIH;EACF;A+BnjID;;;;EAII,qBAAA;EACA,oBAAA;E/BqjIH;A+B/iIC;EAAA;;;;IAHI,iBAAA;IACA,gBAAA;I/ByjIH;EACF;A+B7iID;EACE,eAAA;EACA,uBAAA;E/B+iID;A+B1iID;EAAA;IAFI,kBAAA;I/BgjID;EACF;A+B5iID;;EAEE,iBAAA;EACA,UAAA;EACA,SAAA;EACA,eAAA;E/B8iID;A+BxiID;EAAA;;IAFI,kBAAA;I/B+iID;EACF;A+B7iID;EACE,QAAA;EACA,uBAAA;E/B+iID;A+B7iID;EACE,WAAA;EACA,kBAAA;EACA,uBAAA;E/B+iID;A+BziID;EACE,aAAA;EACA,qBAAA;EACA,iBAAA;EACA,mBAAA;EACA,cAAA;EACA,wEAAA;EACA,mBAAA;E/B2iID;A+BziIC;;EAEE,uBAAA;E/B2iIH;A+BtjID;EAeI,gBAAA;E/B0iIH;A+BjiID;EALI;;IAEE,oBAAA;I/ByiIH;EACF;A+B/hID;EACE,oBAAA;EACA,cAAA;EACA,oBAAA;EACA,mBAAA;EChMA,mBAAA;EACA,sBAAA;EDiMA,+BAAA;EACA,wBAAA;EACA,+BAAA;EACA,oBAAA;E/BkiID;A+B9hIC;EACE,YAAA;E/BgiIH;A+B9iID;EAmBI,gBAAA;EACA,aAAA;EACA,aAAA;EACA,oBAAA;E/B8hIH;A+BpjID;EAyBI,iBAAA;E/B8hIH;A+BxhID;EAAA;IAFI,eAAA;I/B8hID;EACF;A+BrhID;EACE,sBAAA;E/BuhID;A+BxhID;EAII,mBAAA;EACA,sBAAA;EACA,mBAAA;E/BuhIH;A+B3/HC;EAAA;IAtBI,kBAAA;IACA,aAAA;IACA,aAAA;IACA,eAAA;IACA,+BAAA;IACA,WAAA;IACA,0BAAA;YAAA,kBAAA;I/BqhIH;E+BrgID;;IAbM,4BAAA;I/BshIL;E+BzgID;IAVM,mBAAA;I/BshIL;E+BrhIK;;IAEE,wBAAA;I/BuhIP;EACF;A+BrgID;EAAA;IAXI,aAAA;IACA,WAAA;I/BohID;E+B1gIH;IAPM,aAAA;I/BohIH;E+B7gIH;IALQ,oBAAA;IACA,uBAAA;I/BqhIL;EACF;A+B1gID;EACE,oBAAA;EACA,qBAAA;EACA,oBAAA;EACA,mCAAA;EACA,sCAAA;E1BhOA,8FAAA;EACQ,sFAAA;E2B/DR,mBAAA;EACA,sBAAA;EhC6yID;AkBlyHD;EAAA;IA9DM,uBAAA;IACA,kBAAA;IACA,wBAAA;IlBo2HH;EkBxyHH;IAvDM,uBAAA;IACA,aAAA;IACA,wBAAA;IlBk2HH;EkB7yHH;IAhDM,uBAAA;IlBg2HH;EkBhzHH;IA5CM,uBAAA;IACA,wBAAA;IlB+1HH;EkBpzHH;;;IAtCQ,aAAA;IlB+1HL;EkBzzHH;IAhCM,aAAA;IlB41HH;EkB5zHH;IA5BM,kBAAA;IACA,wBAAA;IlB21HH;EkBh0HH;;IApBM,uBAAA;IACA,eAAA;IACA,kBAAA;IACA,wBAAA;IlBw1HH;EkBv0HH;;IAdQ,iBAAA;IlBy1HL;EkB30HH;;IATM,oBAAA;IACA,gBAAA;IlBw1HH;EkBh1HH;IAHM,QAAA;IlBs1HH;EACF;A+BnjIC;EAAA;IANI,oBAAA;I/B6jIH;E+B3jIG;IACE,kBAAA;I/B6jIL;EACF;A+B5iID;EAAA;IARI,aAAA;IACA,WAAA;IACA,gBAAA;IACA,iBAAA;IACA,gBAAA;IACA,mBAAA;I1B3PF,0BAAA;IACQ,kBAAA;ILozIP;EACF;A+BljID;EACE,eAAA;EHtUA,4BAAA;EACC,2BAAA;E5B23IF;A+BljID;EACE,kBAAA;EH3UA,8BAAA;EACC,6BAAA;EAOD,+BAAA;EACC,8BAAA;E5B03IF;A+B9iID;EClVE,mBAAA;EACA,sBAAA;EhCm4ID;A+B/iIC;ECrVA,mBAAA;EACA,sBAAA;EhCu4ID;A+BhjIC;ECxVA,mBAAA;EACA,sBAAA;EhC24ID;A+B1iID;EClWE,mBAAA;EACA,sBAAA;EhC+4ID;A+BtiID;EAAA;IAJI,aAAA;IACA,mBAAA;IACA,oBAAA;I/B8iID;EACF;A+BjhID;EAhBE;IE1WA,wBAAA;IjC+4IC;E+BpiID;IE9WA,yBAAA;IFgXE,qBAAA;I/BsiID;E+BxiID;IAKI,iBAAA;I/BsiIH;EACF;A+B7hID;EACE,2BAAA;EACA,uBAAA;E/B+hID;A+BjiID;EAKI,gBAAA;E/B+hIH;A+B9hIG;;EAEE,gBAAA;EACA,+BAAA;E/BgiIL;A+BziID;EAcI,gBAAA;E/B8hIH;A+B5iID;EAmBM,gBAAA;E/B4hIL;A+B1hIK;;EAEE,gBAAA;EACA,+BAAA;E/B4hIP;A+BxhIK;;;EAGE,gBAAA;EACA,2BAAA;E/B0hIP;A+BthIK;;;EAGE,gBAAA;EACA,+BAAA;E/BwhIP;A+BhkID;EA8CI,uBAAA;E/BqhIH;A+BphIG;;EAEE,2BAAA;E/BshIL;A+BvkID;EAoDM,2BAAA;E/BshIL;A+B1kID;;EA0DI,uBAAA;E/BohIH;A+B7gIK;;;EAGE,2BAAA;EACA,gBAAA;E/B+gIP;A+B9+HC;EAAA;IAzBQ,gBAAA;I/B2gIP;E+B1gIO;;IAEE,gBAAA;IACA,+BAAA;I/B4gIT;E+BxgIO;;;IAGE,gBAAA;IACA,2BAAA;I/B0gIT;E+BtgIO;;;IAGE,gBAAA;IACA,+BAAA;I/BwgIT;EACF;A+B1mID;EA8GI,gBAAA;E/B+/HH;A+B9/HG;EACE,gBAAA;E/BggIL;A+BhnID;EAqHI,gBAAA;E/B8/HH;A+B7/HG;;EAEE,gBAAA;E/B+/HL;A+B3/HK;;;;EAEE,gBAAA;E/B+/HP;A+Bv/HD;EACE,2BAAA;EACA,uBAAA;E/By/HD;A+B3/HD;EAKI,gBAAA;E/By/HH;A+Bx/HG;;EAEE,gBAAA;EACA,+BAAA;E/B0/HL;A+BngID;EAcI,gBAAA;E/Bw/HH;A+BtgID;EAmBM,gBAAA;E/Bs/HL;A+Bp/HK;;EAEE,gBAAA;EACA,+BAAA;E/Bs/HP;A+Bl/HK;;;EAGE,gBAAA;EACA,2BAAA;E/Bo/HP;A+Bh/HK;;;EAGE,gBAAA;EACA,+BAAA;E/Bk/HP;A+B1hID;EA+CI,uBAAA;E/B8+HH;A+B7+HG;;EAEE,2BAAA;E/B++HL;A+BjiID;EAqDM,2BAAA;E/B++HL;A+BpiID;;EA2DI,uBAAA;E/B6+HH;A+Bv+HK;;;EAGE,2BAAA;EACA,gBAAA;E/By+HP;A+Bl8HC;EAAA;IA/BQ,uBAAA;I/Bq+HP;E+Bt8HD;IA5BQ,2BAAA;I/Bq+HP;E+Bz8HD;IAzBQ,gBAAA;I/Bq+HP;E+Bp+HO;;IAEE,gBAAA;IACA,+BAAA;I/Bs+HT;E+Bl+HO;;;IAGE,gBAAA;IACA,2BAAA;I/Bo+HT;E+Bh+HO;;;IAGE,gBAAA;IACA,+BAAA;I/Bk+HT;EACF;A+B1kID;EA+GI,gBAAA;E/B89HH;A+B79HG;EACE,gBAAA;E/B+9HL;A+BhlID;EAsHI,gBAAA;E/B69HH;A+B59HG;;EAEE,gBAAA;E/B89HL;A+B19HK;;;;EAEE,gBAAA;E/B89HP;AkC1mJD;EACE,mBAAA;EACA,qBAAA;EACA,kBAAA;EACA,2BAAA;EACA,oBAAA;ElC4mJD;AkCjnJD;EAQI,uBAAA;ElC4mJH;AkCpnJD;EAWM,mBAAA;EACA,gBAAA;EACA,gBAAA;ElC4mJL;AkCznJD;EAkBI,gBAAA;ElC0mJH;AmC9nJD;EACE,uBAAA;EACA,iBAAA;EACA,gBAAA;EACA,oBAAA;EnCgoJD;AmCpoJD;EAOI,iBAAA;EnCgoJH;AmCvoJD;;EAUM,oBAAA;EACA,aAAA;EACA,mBAAA;EACA,yBAAA;EACA,uBAAA;EACA,gBAAA;EACA,2BAAA;EACA,2BAAA;EACA,mBAAA;EnCioJL;AmC/nJG;;EAGI,gBAAA;EPXN,gCAAA;EACG,6BAAA;E5B4oJJ;AmC9nJG;;EPvBF,iCAAA;EACG,8BAAA;E5BypJJ;AmCznJG;;;;EAEE,YAAA;EACA,gBAAA;EACA,2BAAA;EACA,uBAAA;EnC6nJL;AmCvnJG;;;;;;EAGE,YAAA;EACA,gBAAA;EACA,2BAAA;EACA,uBAAA;EACA,iBAAA;EnC4nJL;AmCnrJD;;;;;;EAkEM,gBAAA;EACA,2BAAA;EACA,uBAAA;EACA,qBAAA;EnCynJL;AmChnJD;;EC3EM,oBAAA;EACA,iBAAA;EpC+rJL;AoC7rJG;;ERMF,gCAAA;EACG,6BAAA;E5B2rJJ;AoC5rJG;;ERRF,iCAAA;EACG,8BAAA;E5BwsJJ;AmC1nJD;;EChFM,mBAAA;EACA,iBAAA;EpC8sJL;AoC5sJG;;ERMF,gCAAA;EACG,6BAAA;E5B0sJJ;AoC3sJG;;ERRF,iCAAA;EACG,8BAAA;E5ButJJ;AqC1tJD;EACE,iBAAA;EACA,gBAAA;EACA,kBAAA;EACA,oBAAA;ErC4tJD;AqChuJD;EAOI,iBAAA;ErC4tJH;AqCnuJD;;EAUM,uBAAA;EACA,mBAAA;EACA,2BAAA;EACA,2BAAA;EACA,qBAAA;ErC6tJL;AqC3uJD;;EAmBM,uBAAA;EACA,2BAAA;ErC4tJL;AqChvJD;;EA2BM,cAAA;ErCytJL;AqCpvJD;;EAkCM,aAAA;ErCstJL;AqCxvJD;;;;EA2CM,gBAAA;EACA,2BAAA;EACA,qBAAA;ErCmtJL;AsCjwJD;EACE,iBAAA;EACA,yBAAA;EACA,gBAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBAAA;EACA,oBAAA;EACA,qBAAA;EACA,0BAAA;EACA,sBAAA;EtCmwJD;AsC/vJG;;EAEE,gBAAA;EACA,uBAAA;EACA,iBAAA;EtCiwJL;AsC5vJC;EACE,eAAA;EtC8vJH;AsC1vJC;EACE,oBAAA;EACA,WAAA;EtC4vJH;AsCrvJD;ECtCE,2BAAA;EvC8xJD;AuC3xJG;;EAEE,2BAAA;EvC6xJL;AsCxvJD;EC1CE,2BAAA;EvCqyJD;AuClyJG;;EAEE,2BAAA;EvCoyJL;AsC3vJD;EC9CE,2BAAA;EvC4yJD;AuCzyJG;;EAEE,2BAAA;EvC2yJL;AsC9vJD;EClDE,2BAAA;EvCmzJD;AuChzJG;;EAEE,2BAAA;EvCkzJL;AsCjwJD;ECtDE,2BAAA;EvC0zJD;AuCvzJG;;EAEE,2BAAA;EvCyzJL;AsCpwJD;EC1DE,2BAAA;EvCi0JD;AuC9zJG;;EAEE,2BAAA;EvCg0JL;AwCl0JD;EACE,uBAAA;EACA,iBAAA;EACA,kBAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBAAA;EACA,0BAAA;EACA,qBAAA;EACA,oBAAA;EACA,2BAAA;EACA,qBAAA;ExCo0JD;AwCj0JC;EACE,eAAA;ExCm0JH;AwC/zJC;EACE,oBAAA;EACA,WAAA;ExCi0JH;AwC9zJC;;EAEE,QAAA;EACA,kBAAA;ExCg0JH;AwC3zJG;;EAEE,gBAAA;EACA,uBAAA;EACA,iBAAA;ExC6zJL;AwCxzJC;;EAEE,gBAAA;EACA,2BAAA;ExC0zJH;AwCvzJC;EACE,cAAA;ExCyzJH;AwCtzJC;EACE,mBAAA;ExCwzJH;AwCrzJC;EACE,kBAAA;ExCuzJH;AyCj3JD;EACE,oBAAA;EACA,qBAAA;EACA,gBAAA;EACA,2BAAA;EzCm3JD;AyCv3JD;;EAQI,gBAAA;EzCm3JH;AyC33JD;EAYI,qBAAA;EACA,iBAAA;EACA,kBAAA;EzCk3JH;AyCh4JD;EAkBI,2BAAA;EzCi3JH;AyC92JC;;EAEE,oBAAA;EzCg3JH;AyCv4JD;EA2BI,iBAAA;EzC+2JH;AyC91JD;EAAA;IAbI,iBAAA;IzC+2JD;EyC72JC;;IAEE,oBAAA;IACA,qBAAA;IzC+2JH;EyCv2JH;;IAHM,iBAAA;IzC82JH;EACF;A0Cv5JD;EACE,gBAAA;EACA,cAAA;EACA,qBAAA;EACA,yBAAA;EACA,2BAAA;EACA,2BAAA;EACA,oBAAA;ErCiLA,6CAAA;EACK,wCAAA;EACG,qCAAA;ELyuJT;A0Cn6JD;;EAaI,mBAAA;EACA,oBAAA;E1C05JH;A0Ct5JC;;;EAGE,uBAAA;E1Cw5JH;A0C76JD;EA0BI,cAAA;EACA,gBAAA;E1Cs5JH;A2C/6JD;EACE,eAAA;EACA,qBAAA;EACA,+BAAA;EACA,oBAAA;E3Ci7JD;A2Cr7JD;EAQI,eAAA;EAEA,gBAAA;E3C+6JH;A2Cz7JD;EAeI,mBAAA;E3C66JH;A2C57JD;;EAqBI,kBAAA;E3C26JH;A2Ch8JD;EAyBI,iBAAA;E3C06JH;A2Cl6JD;;EAEE,qBAAA;E3Co6JD;A2Ct6JD;;EAMI,oBAAA;EACA,WAAA;EACA,cAAA;EACA,gBAAA;E3Co6JH;A2C55JD;ECvDE,2BAAA;EACA,uBAAA;EACA,gBAAA;E5Cs9JD;A2Cj6JD;EClDI,2BAAA;E5Cs9JH;A2Cp6JD;EC/CI,gBAAA;E5Cs9JH;A2Cn6JD;EC3DE,2BAAA;EACA,uBAAA;EACA,gBAAA;E5Ci+JD;A2Cx6JD;ECtDI,2BAAA;E5Ci+JH;A2C36JD;ECnDI,gBAAA;E5Ci+JH;A2C16JD;EC/DE,2BAAA;EACA,uBAAA;EACA,gBAAA;E5C4+JD;A2C/6JD;EC1DI,2BAAA;E5C4+JH;A2Cl7JD;ECvDI,gBAAA;E5C4+JH;A2Cj7JD;ECnEE,2BAAA;EACA,uBAAA;EACA,gBAAA;E5Cu/JD;A2Ct7JD;EC9DI,2BAAA;E5Cu/JH;A2Cz7JD;EC3DI,gBAAA;E5Cu/JH;A6Cz/JD;EACE;IAAQ,6BAAA;I7C4/JP;E6C3/JD;IAAQ,0BAAA;I7C8/JP;EACF;A6C3/JD;EACE;IAAQ,6BAAA;I7C8/JP;E6C7/JD;IAAQ,0BAAA;I7CggKP;EACF;A6CngKD;EACE;IAAQ,6BAAA;I7C8/JP;E6C7/JD;IAAQ,0BAAA;I7CggKP;EACF;A6Cz/JD;EACE,kBAAA;EACA,cAAA;EACA,qBAAA;EACA,2BAAA;EACA,oBAAA;ExCsCA,wDAAA;EACQ,gDAAA;ELs9JT;A6Cx/JD;EACE,aAAA;EACA,WAAA;EACA,cAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;EACA,oBAAA;EACA,2BAAA;ExCyBA,wDAAA;EACQ,gDAAA;EAyHR,qCAAA;EACK,gCAAA;EACG,6BAAA;EL02JT;A6Cr/JD;;ECCI,+MAAA;EACA,0MAAA;EACA,uMAAA;EDAF,oCAAA;UAAA,4BAAA;E7Cy/JD;A6Cl/JD;;ExC5CE,4DAAA;EACK,uDAAA;EACG,oDAAA;ELkiKT;A6C/+JD;EErEE,2BAAA;E/CujKD;A+CpjKC;EDgDE,+MAAA;EACA,0MAAA;EACA,uMAAA;E9CugKH;A6Cn/JD;EEzEE,2BAAA;E/C+jKD;A+C5jKC;EDgDE,+MAAA;EACA,0MAAA;EACA,uMAAA;E9C+gKH;A6Cv/JD;EE7EE,2BAAA;E/CukKD;A+CpkKC;EDgDE,+MAAA;EACA,0MAAA;EACA,uMAAA;E9CuhKH;A6C3/JD;EEjFE,2BAAA;E/C+kKD;A+C5kKC;EDgDE,+MAAA;EACA,0MAAA;EACA,uMAAA;E9C+hKH;AgDvlKD;EAEE,kBAAA;EhDwlKD;AgDtlKC;EACE,eAAA;EhDwlKH;AgDplKD;;EAEE,SAAA;EACA,kBAAA;EhDslKD;AgDnlKD;EACE,gBAAA;EhDqlKD;AgDllKD;EACE,gBAAA;EhDolKD;AgDjlKD;;EAEE,oBAAA;EhDmlKD;AgDhlKD;;EAEE,qBAAA;EhDklKD;AgD/kKD;;;EAGE,qBAAA;EACA,qBAAA;EhDilKD;AgD9kKD;EACE,wBAAA;EhDglKD;AgD7kKD;EACE,wBAAA;EhD+kKD;AgD3kKD;EACE,eAAA;EACA,oBAAA;EhD6kKD;AgDvkKD;EACE,iBAAA;EACA,kBAAA;EhDykKD;AiD3nKD;EAEE,qBAAA;EACA,iBAAA;EjD4nKD;AiDpnKD;EACE,oBAAA;EACA,gBAAA;EACA,oBAAA;EAEA,qBAAA;EACA,2BAAA;EACA,2BAAA;EjDqnKD;AiDlnKC;ErB3BA,8BAAA;EACC,6BAAA;E5BgpKF;AiDnnKC;EACE,kBAAA;ErBvBF,iCAAA;EACC,gCAAA;E5B6oKF;AiD5mKD;EACE,gBAAA;EjD8mKD;AiD/mKD;EAII,gBAAA;EjD8mKH;AiD1mKC;;EAEE,uBAAA;EACA,gBAAA;EACA,2BAAA;EjD4mKH;AiDtmKC;;;EAGE,2BAAA;EACA,gBAAA;EACA,qBAAA;EjDwmKH;AiD7mKC;;;EASI,gBAAA;EjDymKL;AiDlnKC;;;EAYI,gBAAA;EjD2mKL;AiDtmKC;;;EAGE,YAAA;EACA,gBAAA;EACA,2BAAA;EACA,uBAAA;EjDwmKH;AiD9mKC;;;;;;;;;EAYI,gBAAA;EjD6mKL;AiDznKC;;;EAeI,gBAAA;EjD+mKL;AkD3sKC;EACE,gBAAA;EACA,2BAAA;ElD6sKH;AkD3sKG;EACE,gBAAA;ElD6sKL;AkD9sKG;EAII,gBAAA;ElD6sKP;AkD1sKK;;EAEE,gBAAA;EACA,2BAAA;ElD4sKP;AkD1sKK;;;EAGE,aAAA;EACA,2BAAA;EACA,uBAAA;ElD4sKP;AkDjuKC;EACE,gBAAA;EACA,2BAAA;ElDmuKH;AkDjuKG;EACE,gBAAA;ElDmuKL;AkDpuKG;EAII,gBAAA;ElDmuKP;AkDhuKK;;EAEE,gBAAA;EACA,2BAAA;ElDkuKP;AkDhuKK;;;EAGE,aAAA;EACA,2BAAA;EACA,uBAAA;ElDkuKP;AkDvvKC;EACE,gBAAA;EACA,2BAAA;ElDyvKH;AkDvvKG;EACE,gBAAA;ElDyvKL;AkD1vKG;EAII,gBAAA;ElDyvKP;AkDtvKK;;EAEE,gBAAA;EACA,2BAAA;ElDwvKP;AkDtvKK;;;EAGE,aAAA;EACA,2BAAA;EACA,uBAAA;ElDwvKP;AkD7wKC;EACE,gBAAA;EACA,2BAAA;ElD+wKH;AkD7wKG;EACE,gBAAA;ElD+wKL;AkDhxKG;EAII,gBAAA;ElD+wKP;AkD5wKK;;EAEE,gBAAA;EACA,2BAAA;ElD8wKP;AkD5wKK;;;EAGE,aAAA;EACA,2BAAA;EACA,uBAAA;ElD8wKP;AiDlrKD;EACE,eAAA;EACA,oBAAA;EjDorKD;AiDlrKD;EACE,kBAAA;EACA,kBAAA;EjDorKD;AmDxyKD;EACE,qBAAA;EACA,2BAAA;EACA,+BAAA;EACA,oBAAA;E9C0DA,mDAAA;EACQ,2CAAA;ELivKT;AmDvyKD;EACE,eAAA;EnDyyKD;AmDpyKD;EACE,oBAAA;EACA,sCAAA;EvBpBA,8BAAA;EACC,6BAAA;E5B2zKF;AmD1yKD;EAMI,gBAAA;EnDuyKH;AmDlyKD;EACE,eAAA;EACA,kBAAA;EACA,iBAAA;EACA,gBAAA;EnDoyKD;AmDxyKD;;;;;EAWI,gBAAA;EnDoyKH;AmD/xKD;EACE,oBAAA;EACA,2BAAA;EACA,+BAAA;EvBxCA,iCAAA;EACC,gCAAA;E5B00KF;AmDzxKD;;EAGI,kBAAA;EnD0xKH;AmD7xKD;;EAMM,qBAAA;EACA,kBAAA;EnD2xKL;AmDvxKG;;EAEI,eAAA;EvBvEN,8BAAA;EACC,6BAAA;E5Bi2KF;AmDrxKG;;EAEI,kBAAA;EvBvEN,iCAAA;EACC,gCAAA;E5B+1KF;AmD9yKD;EvB1DE,4BAAA;EACC,2BAAA;E5B22KF;AmDjxKD;EAEI,qBAAA;EnDkxKH;AmD/wKD;EACE,qBAAA;EnDixKD;AmDzwKD;;;EAII,kBAAA;EnD0wKH;AmD9wKD;;;EAOM,oBAAA;EACA,qBAAA;EnD4wKL;AmDpxKD;;EvBzGE,8BAAA;EACC,6BAAA;E5Bi4KF;AmDzxKD;;;;EAmBQ,6BAAA;EACA,8BAAA;EnD4wKP;AmDhyKD;;;;;;;;EAwBU,6BAAA;EnDkxKT;AmD1yKD;;;;;;;;EA4BU,8BAAA;EnDwxKT;AmDpzKD;;EvBjGE,iCAAA;EACC,gCAAA;E5By5KF;AmDzzKD;;;;EAyCQ,gCAAA;EACA,iCAAA;EnDsxKP;AmDh0KD;;;;;;;;EA8CU,gCAAA;EnD4xKT;AmD10KD;;;;;;;;EAkDU,iCAAA;EnDkyKT;AmDp1KD;;;;EA2DI,+BAAA;EnD+xKH;AmD11KD;;EA+DI,eAAA;EnD+xKH;AmD91KD;;EAmEI,WAAA;EnD+xKH;AmDl2KD;;;;;;;;;;;;EA0EU,gBAAA;EnDsyKT;AmDh3KD;;;;;;;;;;;;EA8EU,iBAAA;EnDgzKT;AmD93KD;;;;;;;;EAuFU,kBAAA;EnDizKT;AmDx4KD;;;;;;;;EAgGU,kBAAA;EnDkzKT;AmDl5KD;EAsGI,WAAA;EACA,kBAAA;EnD+yKH;AmDryKD;EACE,qBAAA;EnDuyKD;AmDxyKD;EAKI,kBAAA;EACA,oBAAA;EnDsyKH;AmD5yKD;EASM,iBAAA;EnDsyKL;AmD/yKD;EAcI,kBAAA;EnDoyKH;AmDlzKD;;EAkBM,+BAAA;EnDoyKL;AmDtzKD;EAuBI,eAAA;EnDkyKH;AmDzzKD;EAyBM,kCAAA;EnDmyKL;AmD5xKD;EC1PE,uBAAA;EpDyhLD;AoDvhLC;EACE,gBAAA;EACA,2BAAA;EACA,uBAAA;EpDyhLH;AoD5hLC;EAMI,2BAAA;EpDyhLL;AoD/hLC;EASI,gBAAA;EACA,2BAAA;EpDyhLL;AoDthLC;EAEI,8BAAA;EpDuhLL;AmD3yKD;EC7PE,uBAAA;EpD2iLD;AoDziLC;EACE,gBAAA;EACA,2BAAA;EACA,uBAAA;EpD2iLH;AoD9iLC;EAMI,2BAAA;EpD2iLL;AoDjjLC;EASI,gBAAA;EACA,2BAAA;EpD2iLL;AoDxiLC;EAEI,8BAAA;EpDyiLL;AmD1zKD;EChQE,uBAAA;EpD6jLD;AoD3jLC;EACE,gBAAA;EACA,2BAAA;EACA,uBAAA;EpD6jLH;AoDhkLC;EAMI,2BAAA;EpD6jLL;AoDnkLC;EASI,gBAAA;EACA,2BAAA;EpD6jLL;AoD1jLC;EAEI,8BAAA;EpD2jLL;AmDz0KD;ECnQE,uBAAA;EpD+kLD;AoD7kLC;EACE,gBAAA;EACA,2BAAA;EACA,uBAAA;EpD+kLH;AoDllLC;EAMI,2BAAA;EpD+kLL;AoDrlLC;EASI,gBAAA;EACA,2BAAA;EpD+kLL;AoD5kLC;EAEI,8BAAA;EpD6kLL;AmDx1KD;ECtQE,uBAAA;EpDimLD;AoD/lLC;EACE,gBAAA;EACA,2BAAA;EACA,uBAAA;EpDimLH;AoDpmLC;EAMI,2BAAA;EpDimLL;AoDvmLC;EASI,gBAAA;EACA,2BAAA;EpDimLL;AoD9lLC;EAEI,8BAAA;EpD+lLL;AmDv2KD;ECzQE,uBAAA;EpDmnLD;AoDjnLC;EACE,gBAAA;EACA,2BAAA;EACA,uBAAA;EpDmnLH;AoDtnLC;EAMI,2BAAA;EpDmnLL;AoDznLC;EASI,gBAAA;EACA,2BAAA;EpDmnLL;AoDhnLC;EAEI,8BAAA;EpDinLL;AqDjoLD;EACE,oBAAA;EACA,gBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;ErDmoLD;AqDxoLD;;;;;EAYI,oBAAA;EACA,QAAA;EACA,SAAA;EACA,WAAA;EACA,cAAA;EACA,aAAA;EACA,WAAA;ErDmoLH;AqD9nLD;EACE,wBAAA;ErDgoLD;AqD5nLD;EACE,qBAAA;ErD8nLD;AsDzpLD;EACE,kBAAA;EACA,eAAA;EACA,qBAAA;EACA,2BAAA;EACA,2BAAA;EACA,oBAAA;EjDwDA,yDAAA;EACQ,iDAAA;ELomLT;AsDnqLD;EASI,oBAAA;EACA,mCAAA;EtD6pLH;AsDxpLD;EACE,eAAA;EACA,oBAAA;EtD0pLD;AsDxpLD;EACE,cAAA;EACA,oBAAA;EtD0pLD;AuDhrLD;EACE,cAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBAAA;EACA,8BAAA;EjCRA,cAAA;EAGA,2BAAA;EtByrLD;AuDjrLC;;EAEE,gBAAA;EACA,uBAAA;EACA,iBAAA;EjCfF,cAAA;EAGA,2BAAA;EtBisLD;AuD7qLC;EACE,YAAA;EACA,iBAAA;EACA,yBAAA;EACA,WAAA;EACA,0BAAA;EvD+qLH;AwDpsLD;EACE,kBAAA;ExDssLD;AwDlsLD;EACE,eAAA;EACA,kBAAA;EACA,iBAAA;EACA,QAAA;EACA,UAAA;EACA,WAAA;EACA,SAAA;EACA,eAAA;EACA,mCAAA;EAIA,YAAA;ExDisLD;AwD9rLC;EnD+GA,uCAAA;EACI,mCAAA;EACC,kCAAA;EACG,+BAAA;EAkER,qDAAA;EAEK,2CAAA;EACG,qCAAA;ELihLT;AwDpsLC;EnD2GA,oCAAA;EACI,gCAAA;EACC,+BAAA;EACG,4BAAA;EL4lLT;AwDxsLD;EACE,oBAAA;EACA,kBAAA;ExD0sLD;AwDtsLD;EACE,oBAAA;EACA,aAAA;EACA,cAAA;ExDwsLD;AwDpsLD;EACE,oBAAA;EACA,2BAAA;EACA,2BAAA;EACA,sCAAA;EACA,oBAAA;EnDaA,kDAAA;EACQ,0CAAA;EmDZR,sCAAA;UAAA,8BAAA;EAEA,YAAA;ExDssLD;AwDlsLD;EACE,iBAAA;EACA,QAAA;EACA,UAAA;EACA,WAAA;EACA,SAAA;EACA,eAAA;EACA,2BAAA;ExDosLD;AwDlsLC;ElCrEA,YAAA;EAGA,0BAAA;EtBwwLD;AwDrsLC;ElCtEA,cAAA;EAGA,2BAAA;EtB4wLD;AwDpsLD;EACE,eAAA;EACA,kCAAA;EACA,2BAAA;ExDssLD;AwDnsLD;EACE,kBAAA;ExDqsLD;AwDjsLD;EACE,WAAA;EACA,yBAAA;ExDmsLD;AwD9rLD;EACE,oBAAA;EACA,eAAA;ExDgsLD;AwD5rLD;EACE,eAAA;EACA,mBAAA;EACA,+BAAA;ExD8rLD;AwDjsLD;EAQI,kBAAA;EACA,kBAAA;ExD4rLH;AwDrsLD;EAaI,mBAAA;ExD2rLH;AwDxsLD;EAiBI,gBAAA;ExD0rLH;AwDrrLD;EACE,oBAAA;EACA,cAAA;EACA,aAAA;EACA,cAAA;EACA,kBAAA;ExDurLD;AwDrqLD;EAZE;IACE,cAAA;IACA,mBAAA;IxDorLD;EwDlrLD;InDvEA,mDAAA;IACQ,2CAAA;IL4vLP;EwDjrLD;IAAY,cAAA;IxDorLX;EACF;AwD/qLD;EAFE;IAAY,cAAA;IxDqrLX;EACF;AyDp0LD;EACE,oBAAA;EACA,eAAA;EACA,gBAAA;ECRA,wEAAA;EAEA,oBAAA;EACA,qBAAA;EACA,wBAAA;EACA,kBAAA;EACA,yBAAA;EACA,kBAAA;EACA,mBAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;EACA,qBAAA;EACA,oBAAA;EACA,sBAAA;EACA,mBAAA;EDHA,iBAAA;EnCVA,YAAA;EAGA,0BAAA;EtB21LD;AyDh1LC;EnCdA,cAAA;EAGA,2BAAA;EtB+1LD;AyDn1LC;EAAW,kBAAA;EAAmB,gBAAA;EzDu1L/B;AyDt1LC;EAAW,kBAAA;EAAmB,gBAAA;EzD01L/B;AyDz1LC;EAAW,iBAAA;EAAmB,gBAAA;EzD61L/B;AyD51LC;EAAW,mBAAA;EAAmB,gBAAA;EzDg2L/B;AyD51LD;EACE,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,oBAAA;EACA,2BAAA;EACA,oBAAA;EzD81LD;AyD11LD;EACE,oBAAA;EACA,UAAA;EACA,WAAA;EACA,2BAAA;EACA,qBAAA;EzD41LD;AyDx1LC;EACE,WAAA;EACA,WAAA;EACA,mBAAA;EACA,yBAAA;EACA,2BAAA;EzD01LH;AyDx1LC;EACE,WAAA;EACA,YAAA;EACA,qBAAA;EACA,yBAAA;EACA,2BAAA;EzD01LH;AyDx1LC;EACE,WAAA;EACA,WAAA;EACA,qBAAA;EACA,yBAAA;EACA,2BAAA;EzD01LH;AyDx1LC;EACE,UAAA;EACA,SAAA;EACA,kBAAA;EACA,6BAAA;EACA,6BAAA;EzD01LH;AyDx1LC;EACE,UAAA;EACA,UAAA;EACA,kBAAA;EACA,6BAAA;EACA,4BAAA;EzD01LH;AyDx1LC;EACE,QAAA;EACA,WAAA;EACA,mBAAA;EACA,yBAAA;EACA,8BAAA;EzD01LH;AyDx1LC;EACE,QAAA;EACA,YAAA;EACA,kBAAA;EACA,yBAAA;EACA,8BAAA;EzD01LH;AyDx1LC;EACE,QAAA;EACA,WAAA;EACA,kBAAA;EACA,yBAAA;EACA,8BAAA;EzD01LH;A2Dv7LD;EACE,oBAAA;EACA,QAAA;EACA,SAAA;EACA,eAAA;EACA,eAAA;EACA,kBAAA;EACA,cAAA;EDXA,wEAAA;EAEA,oBAAA;EACA,qBAAA;EACA,wBAAA;EACA,kBAAA;EACA,yBAAA;EACA,kBAAA;EACA,mBAAA;EACA,uBAAA;EACA,mBAAA;EACA,sBAAA;EACA,qBAAA;EACA,oBAAA;EACA,sBAAA;EACA,mBAAA;ECAA,iBAAA;EAEA,2BAAA;EACA,sCAAA;UAAA,8BAAA;EACA,2BAAA;EACA,sCAAA;EACA,oBAAA;EtD8CA,mDAAA;EACQ,2CAAA;ELu5LT;A2Dl8LC;EAAY,mBAAA;E3Dq8Lb;A2Dp8LC;EAAY,mBAAA;E3Du8Lb;A2Dt8LC;EAAY,kBAAA;E3Dy8Lb;A2Dx8LC;EAAY,oBAAA;E3D28Lb;A2Dx8LD;EACE,WAAA;EACA,mBAAA;EACA,iBAAA;EACA,2BAAA;EACA,kCAAA;EACA,4BAAA;E3D08LD;A2Dv8LD;EACE,mBAAA;E3Dy8LD;A2Dj8LC;;EAEE,oBAAA;EACA,gBAAA;EACA,UAAA;EACA,WAAA;EACA,2BAAA;EACA,qBAAA;E3Dm8LH;A2Dh8LD;EACE,oBAAA;E3Dk8LD;A2Dh8LD;EACE,oBAAA;EACA,aAAA;E3Dk8LD;A2D97LC;EACE,WAAA;EACA,oBAAA;EACA,wBAAA;EACA,2BAAA;EACA,uCAAA;EACA,eAAA;E3Dg8LH;A2D/7LG;EACE,cAAA;EACA,aAAA;EACA,oBAAA;EACA,wBAAA;EACA,2BAAA;E3Di8LL;A2D97LC;EACE,UAAA;EACA,aAAA;EACA,mBAAA;EACA,sBAAA;EACA,6BAAA;EACA,yCAAA;E3Dg8LH;A2D/7LG;EACE,cAAA;EACA,WAAA;EACA,eAAA;EACA,sBAAA;EACA,6BAAA;E3Di8LL;A2D97LC;EACE,WAAA;EACA,oBAAA;EACA,qBAAA;EACA,8BAAA;EACA,0CAAA;EACA,YAAA;E3Dg8LH;A2D/7LG;EACE,cAAA;EACA,UAAA;EACA,oBAAA;EACA,qBAAA;EACA,8BAAA;E3Di8LL;A2D77LC;EACE,UAAA;EACA,cAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;EACA,wCAAA;E3D+7LH;A2D97LG;EACE,cAAA;EACA,YAAA;EACA,uBAAA;EACA,4BAAA;EACA,eAAA;E3Dg8LL;A4DzjMD;EACE,oBAAA;E5D2jMD;A4DxjMD;EACE,oBAAA;EACA,kBAAA;EACA,aAAA;E5D0jMD;A4D7jMD;EAMI,eAAA;EACA,oBAAA;EvD6KF,2CAAA;EACK,sCAAA;EACG,mCAAA;EL84LT;A4DpkMD;;EAcM,gBAAA;E5D0jML;A4DhiMC;EAAA;IvDiKA,wDAAA;IAEK,8CAAA;IACG,wCAAA;IA7JR,qCAAA;IAEQ,6BAAA;IA+GR,6BAAA;IAEQ,qBAAA;ILm7LP;E4D9jMG;;IvDmHJ,4CAAA;IACQ,oCAAA;IuDjHF,SAAA;I5DikML;E4D/jMG;;IvD8GJ,6CAAA;IACQ,qCAAA;IuD5GF,SAAA;I5DkkML;E4DhkMG;;;IvDyGJ,yCAAA;IACQ,iCAAA;IuDtGF,SAAA;I5DmkML;EACF;A4DzmMD;;;EA6CI,gBAAA;E5DikMH;A4D9mMD;EAiDI,SAAA;E5DgkMH;A4DjnMD;;EAsDI,oBAAA;EACA,QAAA;EACA,aAAA;E5D+jMH;A4DvnMD;EA4DI,YAAA;E5D8jMH;A4D1nMD;EA+DI,aAAA;E5D8jMH;A4D7nMD;;EAmEI,SAAA;E5D8jMH;A4DjoMD;EAuEI,aAAA;E5D6jMH;A4DpoMD;EA0EI,YAAA;E5D6jMH;A4DrjMD;EACE,oBAAA;EACA,QAAA;EACA,SAAA;EACA,WAAA;EACA,YAAA;EtC9FA,cAAA;EAGA,2BAAA;EsC6FA,iBAAA;EACA,gBAAA;EACA,oBAAA;EACA,2CAAA;E5DwjMD;A4DnjMC;EdlGE,oGAAA;EACA,+FAAA;EACA,sHAAA;EAAA,gGAAA;EACA,6BAAA;EACA,wHAAA;E9CwpMH;A4DvjMC;EACE,YAAA;EACA,UAAA;EdvGA,oGAAA;EACA,+FAAA;EACA,sHAAA;EAAA,gGAAA;EACA,6BAAA;EACA,wHAAA;E9CiqMH;A4DzjMC;;EAEE,YAAA;EACA,gBAAA;EACA,uBAAA;EtCtHF,cAAA;EAGA,2BAAA;EtBgrMD;A4D1lMD;;;;EAsCI,oBAAA;EACA,UAAA;EACA,YAAA;EACA,uBAAA;E5D0jMH;A4DnmMD;;EA6CI,WAAA;EACA,oBAAA;E5D0jMH;A4DxmMD;;EAkDI,YAAA;EACA,qBAAA;E5D0jMH;A4D7mMD;;EAuDI,aAAA;EACA,cAAA;EACA,mBAAA;EACA,gBAAA;EACA,oBAAA;E5D0jMH;A4DrjMG;EACE,kBAAA;E5DujML;A4DnjMG;EACE,kBAAA;E5DqjML;A4D3iMD;EACE,oBAAA;EACA,cAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,oBAAA;E5D6iMD;A4DtjMD;EAYI,uBAAA;EACA,aAAA;EACA,cAAA;EACA,aAAA;EACA,qBAAA;EACA,2BAAA;EACA,qBAAA;EACA,iBAAA;EAWA,2BAAA;EACA,oCAAA;E5DmiMH;A4DlkMD;EAkCI,WAAA;EACA,aAAA;EACA,cAAA;EACA,2BAAA;E5DmiMH;A4D5hMD;EACE,oBAAA;EACA,WAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,mBAAA;EACA,sBAAA;EACA,gBAAA;EACA,oBAAA;EACA,2CAAA;E5D8hMD;A4D7hMC;EACE,mBAAA;E5D+hMH;A4Dt/LD;EAhCE;;;;IAKI,aAAA;IACA,cAAA;IACA,mBAAA;IACA,iBAAA;I5DwhMH;E4DhiMD;;IAYI,oBAAA;I5DwhMH;E4DpiMD;;IAgBI,qBAAA;I5DwhMH;E4DnhMD;IACE,WAAA;IACA,YAAA;IACA,sBAAA;I5DqhMD;E4DjhMD;IACE,cAAA;I5DmhMD;EACF;A6DjxMC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEE,cAAA;EACA,gBAAA;E7D+yMH;A6D7yMC;;;;;;;;;;;;;;;EACE,aAAA;E7D6zMH;AiCr0MD;E6BRE,gBAAA;EACA,mBAAA;EACA,oBAAA;E9Dg1MD;AiCv0MD;EACE,yBAAA;EjCy0MD;AiCv0MD;EACE,wBAAA;EjCy0MD;AiCj0MD;EACE,0BAAA;EjCm0MD;AiCj0MD;EACE,2BAAA;EjCm0MD;AiCj0MD;EACE,oBAAA;EjCm0MD;AiCj0MD;E8BzBE,aAAA;EACA,oBAAA;EACA,mBAAA;EACA,+BAAA;EACA,WAAA;E/D61MD;AiC/zMD;EACE,0BAAA;EjCi0MD;AiC1zMD;EACE,iBAAA;EjC4zMD;AgE71MD;EACE,qBAAA;EhE+1MD;AgEz1MD;;;;ECdE,0BAAA;EjE62MD;AgEx1MD;;;;;;;;;;;;EAYE,0BAAA;EhE01MD;AgEn1MD;EAAA;IChDE,2BAAA;IjEu4MC;EiEt4MD;IAAU,2BAAA;IjEy4MT;EiEx4MD;IAAU,+BAAA;IjE24MT;EiE14MD;;IACU,gCAAA;IjE64MT;EACF;AgE71MD;EAAA;IAFI,2BAAA;IhEm2MD;EACF;AgE71MD;EAAA;IAFI,4BAAA;IhEm2MD;EACF;AgE71MD;EAAA;IAFI,kCAAA;IhEm2MD;EACF;AgE51MD;EAAA;ICrEE,2BAAA;IjEq6MC;EiEp6MD;IAAU,2BAAA;IjEu6MT;EiEt6MD;IAAU,+BAAA;IjEy6MT;EiEx6MD;;IACU,gCAAA;IjE26MT;EACF;AgEt2MD;EAAA;IAFI,2BAAA;IhE42MD;EACF;AgEt2MD;EAAA;IAFI,4BAAA;IhE42MD;EACF;AgEt2MD;EAAA;IAFI,kCAAA;IhE42MD;EACF;AgEr2MD;EAAA;IC1FE,2BAAA;IjEm8MC;EiEl8MD;IAAU,2BAAA;IjEq8MT;EiEp8MD;IAAU,+BAAA;IjEu8MT;EiEt8MD;;IACU,gCAAA;IjEy8MT;EACF;AgE/2MD;EAAA;IAFI,2BAAA;IhEq3MD;EACF;AgE/2MD;EAAA;IAFI,4BAAA;IhEq3MD;EACF;AgE/2MD;EAAA;IAFI,kCAAA;IhEq3MD;EACF;AgE92MD;EAAA;IC/GE,2BAAA;IjEi+MC;EiEh+MD;IAAU,2BAAA;IjEm+MT;EiEl+MD;IAAU,+BAAA;IjEq+MT;EiEp+MD;;IACU,gCAAA;IjEu+MT;EACF;AgEx3MD;EAAA;IAFI,2BAAA;IhE83MD;EACF;AgEx3MD;EAAA;IAFI,4BAAA;IhE83MD;EACF;AgEx3MD;EAAA;IAFI,kCAAA;IhE83MD;EACF;AgEv3MD;EAAA;IC5HE,0BAAA;IjEu/MC;EACF;AgEv3MD;EAAA;ICjIE,0BAAA;IjE4/MC;EACF;AgEv3MD;EAAA;ICtIE,0BAAA;IjEigNC;EACF;AgEv3MD;EAAA;IC3IE,0BAAA;IjEsgNC;EACF;AgEp3MD;ECnJE,0BAAA;EjE0gND;AgEj3MD;EAAA;ICjKE,2BAAA;IjEshNC;EiErhND;IAAU,2BAAA;IjEwhNT;EiEvhND;IAAU,+BAAA;IjE0hNT;EiEzhND;;IACU,gCAAA;IjE4hNT;EACF;AgE/3MD;EACE,0BAAA;EhEi4MD;AgE53MD;EAAA;IAFI,2BAAA;IhEk4MD;EACF;AgEh4MD;EACE,0BAAA;EhEk4MD;AgE73MD;EAAA;IAFI,4BAAA;IhEm4MD;EACF;AgEj4MD;EACE,0BAAA;EhEm4MD;AgE93MD;EAAA;IAFI,kCAAA;IhEo4MD;EACF;AgE73MD;EAAA;ICpLE,0BAAA;IjEqjNC;EACF","file":"bootstrap.css","sourcesContent":["/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nmark {\n  background: #ff0;\n  color: #000;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  font: inherit;\n  margin: 0;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  border: 0;\n  padding: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n  *,\n  *:before,\n  *:after {\n    background: transparent !important;\n    color: #000 !important;\n    box-shadow: none !important;\n    text-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('../fonts/glyphicons-halflings-regular.eot');\n  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: \"\\2a\";\n}\n.glyphicon-plus:before {\n  content: \"\\2b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.glyphicon-music:before {\n  content: \"\\e002\";\n}\n.glyphicon-search:before {\n  content: \"\\e003\";\n}\n.glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.glyphicon-star:before {\n  content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.glyphicon-user:before {\n  content: \"\\e008\";\n}\n.glyphicon-film:before {\n  content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.glyphicon-th:before {\n  content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.glyphicon-off:before {\n  content: \"\\e017\";\n}\n.glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.glyphicon-home:before {\n  content: \"\\e021\";\n}\n.glyphicon-file:before {\n  content: \"\\e022\";\n}\n.glyphicon-time:before {\n  content: \"\\e023\";\n}\n.glyphicon-road:before {\n  content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.glyphicon-download:before {\n  content: \"\\e026\";\n}\n.glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.glyphicon-book:before {\n  content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.glyphicon-print:before {\n  content: \"\\e045\";\n}\n.glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.glyphicon-font:before {\n  content: \"\\e047\";\n}\n.glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.glyphicon-list:before {\n  content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.glyphicon-share:before {\n  content: \"\\e066\";\n}\n.glyphicon-check:before {\n  content: \"\\e067\";\n}\n.glyphicon-move:before {\n  content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.glyphicon-play:before {\n  content: \"\\e072\";\n}\n.glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.glyphicon-random:before {\n  content: \"\\e110\";\n}\n.glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.glyphicon-link:before {\n  content: \"\\e144\";\n}\n.glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.glyphicon-record:before {\n  content: \"\\e165\";\n}\n.glyphicon-save:before {\n  content: \"\\e166\";\n}\n.glyphicon-open:before {\n  content: \"\\e167\";\n}\n.glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.glyphicon-import:before {\n  content: \"\\e169\";\n}\n.glyphicon-export:before {\n  content: \"\\e170\";\n}\n.glyphicon-send:before {\n  content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.glyphicon-header:before {\n  content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.glyphicon-cd:before {\n  content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n  content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n  content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n  content: \"\\e204\";\n}\n.glyphicon-copy:before {\n  content: \"\\e205\";\n}\n.glyphicon-paste:before {\n  content: \"\\e206\";\n}\n.glyphicon-alert:before {\n  content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n  content: \"\\e210\";\n}\n.glyphicon-king:before {\n  content: \"\\e211\";\n}\n.glyphicon-queen:before {\n  content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n  content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n  content: \"\\e214\";\n}\n.glyphicon-knight:before {\n  content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n  content: \"\\e216\";\n}\n.glyphicon-tent:before {\n  content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n  content: \"\\e218\";\n}\n.glyphicon-bed:before {\n  content: \"\\e219\";\n}\n.glyphicon-apple:before {\n  content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n  content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n  content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n  content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n  content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n  content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n  content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n  content: \"\\e227\";\n}\n.glyphicon-btc:before {\n  content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n  content: \"\\e227\";\n}\n.glyphicon-yen:before {\n  content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n  content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n  content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n  content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n  content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n  content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: \"\\e232\";\n}\n.glyphicon-education:before {\n  content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n  content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n  content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n  content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n  content: \"\\e237\";\n}\n.glyphicon-oil:before {\n  content: \"\\e238\";\n}\n.glyphicon-grain:before {\n  content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n  content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n  content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n  content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n  content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n  content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n  content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n  content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n  content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n  content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n  content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n  content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n  content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n  content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n  content: \"\\e253\";\n}\n.glyphicon-console:before {\n  content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n  content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n  content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n  content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n  content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n  content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n  content: \"\\e260\";\n}\n* {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: Cantarell, \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #333333;\n  background-color: #ffffff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #428bca;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #2a6496;\n  text-decoration: underline;\n}\na:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 6px;\n}\n.img-thumbnail {\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-radius: 4px;\n  -webkit-transition: all 0.2s ease-in-out;\n  -o-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid #eeeeee;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role=\"button\"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 20px;\n  margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 36px;\n}\nh2,\n.h2 {\n  font-size: 30px;\n}\nh3,\n.h3 {\n  font-size: 24px;\n}\nh4,\n.h4 {\n  font-size: 18px;\n}\nh5,\n.h5 {\n  font-size: 14px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 10px;\n}\n.lead {\n  margin-bottom: 20px;\n  font-size: 16px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 21px;\n  }\n}\nsmall,\n.small {\n  font-size: 85%;\n}\nmark,\n.mark {\n  background-color: #f8e4c7;\n  padding: .2em;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #777777;\n}\n.text-primary {\n  color: #428bca;\n}\na.text-primary:hover,\na.text-primary:focus {\n  color: #3071a9;\n}\n.text-success {\n  color: #3f7815;\n}\na.text-success:hover,\na.text-success:focus {\n  color: #284d0e;\n}\n.text-info {\n  color: #603e7a;\n}\na.text-info:hover,\na.text-info:focus {\n  color: #452d58;\n}\n.text-warning {\n  color: #7e500f;\n}\na.text-warning:hover,\na.text-warning:focus {\n  color: #51330a;\n}\n.text-danger {\n  color: #78153f;\n}\na.text-danger:hover,\na.text-danger:focus {\n  color: #4d0e28;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #428bca;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n  background-color: #3071a9;\n}\n.bg-success {\n  background-color: #dcf6ca;\n}\na.bg-success:hover,\na.bg-success:focus {\n  background-color: #c0ee9e;\n}\n.bg-info {\n  background-color: #f6f2f8;\n}\na.bg-info:hover,\na.bg-info:focus {\n  background-color: #ddd0e7;\n}\n.bg-warning {\n  background-color: #f8e4c7;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n  background-color: #f3ce9a;\n}\n.bg-danger {\n  background-color: #f6cadc;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n  background-color: #ee9ec0;\n}\n.page-header {\n  padding-bottom: 9px;\n  margin: 40px 0 20px;\n  border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n  margin-left: -5px;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-left: 5px;\n  padding-right: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 20px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #777777;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 10px 20px;\n  margin: 0 0 20px;\n  font-size: 17.5px;\n  border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid #eeeeee;\n  border-left: 0;\n  text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\naddress {\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  border-radius: 4px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #ffffff;\n  background-color: #333333;\n  border-radius: 3px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: bold;\n  box-shadow: none;\n}\npre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: #333333;\n  background-color: #f5f5f5;\n  border: 1px solid #cccccc;\n  border-radius: 4px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 750px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 970px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1170px;\n  }\n}\n.container-fluid {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.row {\n  margin-left: -15px;\n  margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0%;\n}\n@media (min-width: 768px) {\n  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0%;\n  }\n}\ntable {\n  background-color: transparent;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #777777;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #dddddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #dddddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #dddddd;\n}\n.table .table {\n  background-color: #ffffff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #dddddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #dddddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dcf6ca;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #cef2b4;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #f6f2f8;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #e9e1f0;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #f8e4c7;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #f6d9b0;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f6cadc;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #f2b4ce;\n}\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 15px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #dddddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  min-width: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: inherit;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555555;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 34px;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #ffffff;\n  background-image: none;\n  border: 1px solid #cccccc;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n  color: #999999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999999;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"],\n  input[type=\"time\"],\n  input[type=\"datetime-local\"],\n  input[type=\"month\"] {\n    line-height: 34px;\n  }\n  input[type=\"date\"].input-sm,\n  input[type=\"time\"].input-sm,\n  input[type=\"datetime-local\"].input-sm,\n  input[type=\"month\"].input-sm,\n  .input-group-sm input[type=\"date\"],\n  .input-group-sm input[type=\"time\"],\n  .input-group-sm input[type=\"datetime-local\"],\n  .input-group-sm input[type=\"month\"] {\n    line-height: 30px;\n  }\n  input[type=\"date\"].input-lg,\n  input[type=\"time\"].input-lg,\n  input[type=\"datetime-local\"].input-lg,\n  input[type=\"month\"].input-lg,\n  .input-group-lg input[type=\"date\"],\n  .input-group-lg input[type=\"time\"],\n  .input-group-lg input[type=\"datetime-local\"],\n  .input-group-lg input[type=\"month\"] {\n    line-height: 46px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n  min-height: 20px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n  cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.form-control-static {\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n  min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.form-group-sm select.form-control {\n  height: 30px;\n  line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  min-height: 32px;\n  padding: 6px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.input-lg {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-lg {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.form-group-lg select.form-control {\n  height: 46px;\n  line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 46px;\n  min-height: 38px;\n  padding: 11px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 42.5px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 34px;\n  height: 34px;\n  line-height: 34px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback {\n  width: 46px;\n  height: 46px;\n  line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3f7815;\n}\n.has-success .form-control {\n  border-color: #3f7815;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n  border-color: #284d0e;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #6ccf24;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #6ccf24;\n}\n.has-success .input-group-addon {\n  color: #3f7815;\n  border-color: #3f7815;\n  background-color: #dcf6ca;\n}\n.has-success .form-control-feedback {\n  color: #3f7815;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #7e500f;\n}\n.has-warning .form-control {\n  border-color: #7e500f;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n  border-color: #51330a;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d98a1a;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d98a1a;\n}\n.has-warning .input-group-addon {\n  color: #7e500f;\n  border-color: #7e500f;\n  background-color: #f8e4c7;\n}\n.has-warning .form-control-feedback {\n  color: #7e500f;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #78153f;\n}\n.has-error .form-control {\n  border-color: #78153f;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n  border-color: #4d0e28;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #cf246c;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #cf246c;\n}\n.has-error .input-group-addon {\n  color: #78153f;\n  border-color: #78153f;\n  background-color: #f6cadc;\n}\n.has-error .form-control-feedback {\n  color: #78153f;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #737373;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  margin-top: 0;\n  margin-bottom: 0;\n  padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 27px;\n}\n.form-horizontal .form-group {\n  margin-left: -15px;\n  margin-right: -15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    text-align: right;\n    margin-bottom: 0;\n    padding-top: 7px;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 14.333333px;\n    font-size: 18px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n    font-size: 12px;\n  }\n}\n.btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  white-space: nowrap;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  border-radius: 4px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #333333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  outline: 0;\n  background-image: none;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n.btn-default {\n  color: #333333;\n  background-color: #ffffff;\n  border-color: #cccccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n  color: #333333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.btn-default:hover {\n  color: #333333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #333333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n  color: #333333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  background-image: none;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n  background-color: #ffffff;\n  border-color: #cccccc;\n}\n.btn-default .badge {\n  color: #ffffff;\n  background-color: #333333;\n}\n.btn-primary {\n  color: #ffffff;\n  background-color: #428bca;\n  border-color: #357ebd;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n  color: #ffffff;\n  background-color: #3071a9;\n  border-color: #193c5a;\n}\n.btn-primary:hover {\n  color: #ffffff;\n  background-color: #3071a9;\n  border-color: #285e8e;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #ffffff;\n  background-color: #3071a9;\n  border-color: #285e8e;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n  color: #ffffff;\n  background-color: #285e8e;\n  border-color: #193c5a;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n  background-color: #428bca;\n  border-color: #357ebd;\n}\n.btn-primary .badge {\n  color: #428bca;\n  background-color: #ffffff;\n}\n.btn-success {\n  color: #ffffff;\n  background-color: #79db32;\n  border-color: #6ccf24;\n}\n.btn-success:focus,\n.btn-success.focus {\n  color: #ffffff;\n  background-color: #61b921;\n  border-color: #346311;\n}\n.btn-success:hover {\n  color: #ffffff;\n  background-color: #61b921;\n  border-color: #519b1b;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #ffffff;\n  background-color: #61b921;\n  border-color: #519b1b;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n  color: #ffffff;\n  background-color: #519b1b;\n  border-color: #346311;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  background-image: none;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n  background-color: #79db32;\n  border-color: #6ccf24;\n}\n.btn-success .badge {\n  color: #79db32;\n  background-color: #ffffff;\n}\n.btn-info {\n  color: #ffffff;\n  background-color: #a07cbc;\n  border-color: #946bb3;\n}\n.btn-info:focus,\n.btn-info.focus {\n  color: #ffffff;\n  background-color: #885aab;\n  border-color: #533669;\n}\n.btn-info:hover {\n  color: #ffffff;\n  background-color: #885aab;\n  border-color: #754c95;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #ffffff;\n  background-color: #885aab;\n  border-color: #754c95;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n  color: #ffffff;\n  background-color: #754c95;\n  border-color: #533669;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  background-image: none;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n  background-color: #a07cbc;\n  border-color: #946bb3;\n}\n.btn-info .badge {\n  color: #a07cbc;\n  background-color: #ffffff;\n}\n.btn-warning {\n  color: #ffffff;\n  background-color: #e59728;\n  border-color: #d98a1a;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n  color: #ffffff;\n  background-color: #c27c18;\n  border-color: #67420d;\n}\n.btn-warning:hover {\n  color: #ffffff;\n  background-color: #c27c18;\n  border-color: #a36814;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #ffffff;\n  background-color: #c27c18;\n  border-color: #a36814;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n  color: #ffffff;\n  background-color: #a36814;\n  border-color: #67420d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n  background-color: #e59728;\n  border-color: #d98a1a;\n}\n.btn-warning .badge {\n  color: #e59728;\n  background-color: #ffffff;\n}\n.btn-danger {\n  color: #ffffff;\n  background-color: #db3279;\n  border-color: #cf246c;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n  color: #ffffff;\n  background-color: #b92161;\n  border-color: #631134;\n}\n.btn-danger:hover {\n  color: #ffffff;\n  background-color: #b92161;\n  border-color: #9b1b51;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #ffffff;\n  background-color: #b92161;\n  border-color: #9b1b51;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n  color: #ffffff;\n  background-color: #9b1b51;\n  border-color: #631134;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n  background-color: #db3279;\n  border-color: #cf246c;\n}\n.btn-danger .badge {\n  color: #db3279;\n  background-color: #ffffff;\n}\n.btn-link {\n  color: #428bca;\n  font-weight: normal;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #2a6496;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #777777;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n  -o-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\ntr.collapse.in {\n  display: table-row;\n}\ntbody.collapse.in {\n  display: table-row-group;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition-property: height, visibility;\n  transition-property: height, visibility;\n  -webkit-transition-duration: 0.35s;\n  transition-duration: 0.35s;\n  -webkit-transition-timing-function: ease;\n  transition-timing-function: ease;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  list-style: none;\n  font-size: 14px;\n  text-align: left;\n  background-color: #ffffff;\n  border: 1px solid #cccccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.42857143;\n  color: #333333;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  text-decoration: none;\n  color: #262626;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #ffffff;\n  text-decoration: none;\n  outline: 0;\n  background-color: #428bca;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  cursor: not-allowed;\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  left: auto;\n  right: 0;\n}\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #777777;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  border-top: 0;\n  border-bottom: 4px solid;\n  content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n  .navbar-right .dropdown-menu {\n    left: auto;\n    right: 0;\n  }\n  .navbar-right .dropdown-menu-left {\n    left: 0;\n    right: auto;\n  }\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-bottom-left-radius: 4px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  float: none;\n  display: table-cell;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n  left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1;\n  color: #555555;\n  text-align: center;\n  background-color: #eeeeee;\n  border: 1px solid #cccccc;\n  border-radius: 4px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 3px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 18px;\n  border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  z-index: 2;\n  margin-left: -1px;\n}\n.nav {\n  margin-bottom: 0;\n  padding-left: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n  color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #777777;\n  text-decoration: none;\n  background-color: transparent;\n  cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #eeeeee;\n  border-color: #428bca;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #dddddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #dddddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #555555;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-bottom-color: transparent;\n  cursor: default;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #dddddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #ffffff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 4px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #ffffff;\n  background-color: #428bca;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #dddddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #ffffff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav .caret {\n  border-top-color: #db3279;\n  border-bottom-color: #db3279;\n}\n.nav a:hover .caret {\n  border-top-color: #b92161;\n  border-bottom-color: #b92161;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 35px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n  .navbar {\n    border-radius: 4px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: 15px;\n  padding-left: 15px;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 768px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n@media (min-width: 768px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.navbar-brand {\n  float: left;\n  padding: 7.5px 15px;\n  font-size: 18px;\n  line-height: 20px;\n  height: 35px;\n  font-family: Comfortaa, \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-weight: bold;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 768px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: -15px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: 15px;\n  padding: 9px 10px;\n  margin-top: 0.5px;\n  margin-bottom: 0.5px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 768px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 3.75px -15px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 20px;\n}\n@media (max-width: 767px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 20px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 7.5px;\n    padding-bottom: 7.5px;\n  }\n}\n.navbar-form {\n  margin-left: -15px;\n  margin-right: -15px;\n  padding: 10px 15px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  margin-top: 0.5px;\n  margin-bottom: 0.5px;\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 767px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-form {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-right-radius: 4px;\n  border-top-left-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: 0.5px;\n  margin-bottom: 0.5px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 2.5px;\n  margin-bottom: 2.5px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 6.5px;\n  margin-bottom: 6.5px;\n}\n.navbar-text {\n  margin-top: 7.5px;\n  margin-bottom: 7.5px;\n}\n@media (min-width: 768px) {\n  .navbar-text {\n    float: left;\n    margin-left: 15px;\n    margin-right: 15px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-left {\n    float: left !important;\n  }\n  .navbar-right {\n    float: right !important;\n    margin-right: -15px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #db3279;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #cccccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n  border-color: #dddddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #dddddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  background-color: #e7e7e7;\n  color: #db3279;\n}\n@media (max-width: 767px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #db3279;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #cccccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-link {\n  color: #777777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333333;\n}\n.navbar-default .btn-link {\n  color: #777777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #333333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #cccccc;\n}\n.navbar-inverse {\n  background-color: #294172;\n  border-color: #1c2c4c;\n}\n.navbar-inverse .navbar-brand {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #ffffff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #777777;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #ffffff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #ffffff;\n  background-color: #1c2c4c;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #ffffff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #203258;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  background-color: #1c2c4c;\n  color: #ffffff;\n}\n@media (max-width: 767px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #1c2c4c;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #1c2c4c;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #9d9d9d;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #ffffff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #ffffff;\n    background-color: #1c2c4c;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #ffffff;\n}\n.navbar-inverse .btn-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #ffffff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444444;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 20px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  content: \"/\\00a0\";\n  padding: 0 5px;\n  color: #cccccc;\n}\n.breadcrumb > .active {\n  color: #777777;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 20px 0;\n  border-radius: 4px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  line-height: 1.42857143;\n  text-decoration: none;\n  color: #428bca;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-bottom-left-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-bottom-right-radius: 4px;\n  border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  z-index: 3;\n  color: #2a6496;\n  background-color: #eeeeee;\n  border-color: #dddddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 2;\n  color: #ffffff;\n  background-color: #428bca;\n  border-color: #428bca;\n  cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #777777;\n  background-color: #ffffff;\n  border-color: #dddddd;\n  cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 18px;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-bottom-left-radius: 6px;\n  border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-bottom-right-radius: 6px;\n  border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-bottom-left-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-bottom-right-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.pager {\n  padding-left: 0;\n  margin: 20px 0;\n  list-style: none;\n  text-align: center;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #777777;\n  background-color: #ffffff;\n  cursor: not-allowed;\n}\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #ffffff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n  color: #ffffff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #5e5e5e;\n}\n.label-primary {\n  background-color: #428bca;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #3071a9;\n}\n.label-success {\n  background-color: #79db32;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #61b921;\n}\n.label-info {\n  background-color: #a07cbc;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #885aab;\n}\n.label-warning {\n  background-color: #e59728;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #c27c18;\n}\n.label-danger {\n  background-color: #db3279;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #b92161;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  color: #ffffff;\n  line-height: 1;\n  vertical-align: baseline;\n  white-space: nowrap;\n  text-align: center;\n  background-color: #777777;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #ffffff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #428bca;\n  background-color: #ffffff;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.jumbotron {\n  padding: 30px 15px;\n  margin-bottom: 30px;\n  color: inherit;\n  background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  color: inherit;\n}\n.jumbotron p {\n  margin-bottom: 15px;\n  font-size: 21px;\n  font-weight: 200;\n}\n.jumbotron > hr {\n  border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n  border-radius: 6px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding: 48px 0;\n  }\n  .container .jumbotron,\n  .container-fluid .jumbotron {\n    padding-left: 60px;\n    padding-right: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 63px;\n  }\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  margin-bottom: 20px;\n  line-height: 1.42857143;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-radius: 4px;\n  -webkit-transition: border 0.2s ease-in-out;\n  -o-transition: border 0.2s ease-in-out;\n  transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n  margin-left: auto;\n  margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: #428bca;\n}\n.thumbnail .caption {\n  padding: 9px;\n  color: #333333;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  background-color: #dcf6ca;\n  border-color: #d8f2b4;\n  color: #3f7815;\n}\n.alert-success hr {\n  border-top-color: #cdee9e;\n}\n.alert-success .alert-link {\n  color: #284d0e;\n}\n.alert-info {\n  background-color: #f6f2f8;\n  border-color: #e7e1f0;\n  color: #603e7a;\n}\n.alert-info hr {\n  border-top-color: #d9d0e7;\n}\n.alert-info .alert-link {\n  color: #452d58;\n}\n.alert-warning {\n  background-color: #f8e4c7;\n  border-color: #f6ceb0;\n  color: #7e500f;\n}\n.alert-warning hr {\n  border-top-color: #f3bf9a;\n}\n.alert-warning .alert-link {\n  color: #51330a;\n}\n.alert-danger {\n  background-color: #f6cadc;\n  border-color: #f2b4d8;\n  color: #78153f;\n}\n.alert-danger hr {\n  border-top-color: #ee9ecd;\n}\n.alert-danger .alert-link {\n  color: #4d0e28;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  overflow: hidden;\n  height: 20px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 12px;\n  line-height: 20px;\n  color: #ffffff;\n  text-align: center;\n  background-color: #428bca;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -o-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #79db32;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #a07cbc;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #e59728;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #db3279;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n.media-body {\n  width: 10000px;\n}\n.media-object {\n  display: block;\n}\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n.media-middle {\n  vertical-align: middle;\n}\n.media-bottom {\n  vertical-align: bottom;\n}\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  margin-bottom: 20px;\n  padding-left: 0;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n}\n.list-group-item:first-child {\n  border-top-right-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\na.list-group-item {\n  color: #555555;\n}\na.list-group-item .list-group-item-heading {\n  color: #333333;\n}\na.list-group-item:hover,\na.list-group-item:focus {\n  text-decoration: none;\n  color: #555555;\n  background-color: #f5f5f5;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n  background-color: #eeeeee;\n  color: #777777;\n  cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n  color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n  color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  z-index: 2;\n  color: #ffffff;\n  background-color: #428bca;\n  border-color: #428bca;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n  color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n  color: #e1edf7;\n}\n.list-group-item-success {\n  color: #3f7815;\n  background-color: #dcf6ca;\n}\na.list-group-item-success {\n  color: #3f7815;\n}\na.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\na.list-group-item-success:focus {\n  color: #3f7815;\n  background-color: #cef2b4;\n}\na.list-group-item-success.active,\na.list-group-item-success.active:hover,\na.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3f7815;\n  border-color: #3f7815;\n}\n.list-group-item-info {\n  color: #603e7a;\n  background-color: #f6f2f8;\n}\na.list-group-item-info {\n  color: #603e7a;\n}\na.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\na.list-group-item-info:focus {\n  color: #603e7a;\n  background-color: #e9e1f0;\n}\na.list-group-item-info.active,\na.list-group-item-info.active:hover,\na.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #603e7a;\n  border-color: #603e7a;\n}\n.list-group-item-warning {\n  color: #7e500f;\n  background-color: #f8e4c7;\n}\na.list-group-item-warning {\n  color: #7e500f;\n}\na.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\na.list-group-item-warning:focus {\n  color: #7e500f;\n  background-color: #f6d9b0;\n}\na.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #7e500f;\n  border-color: #7e500f;\n}\n.list-group-item-danger {\n  color: #78153f;\n  background-color: #f6cadc;\n}\na.list-group-item-danger {\n  color: #78153f;\n}\na.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\na.list-group-item-danger:focus {\n  color: #78153f;\n  background-color: #f2b4ce;\n}\na.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #78153f;\n  border-color: #78153f;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 20px;\n  background-color: #ffffff;\n  border: 1px solid transparent;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 16px;\n  color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #dddddd;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n  margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-left-radius: 3px;\n  border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n  border-top: 1px solid #dddddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  border: 0;\n  margin-bottom: 0;\n}\n.panel-group {\n  margin-bottom: 20px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 4px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n  border-top: 1px solid #dddddd;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #dddddd;\n}\n.panel-default {\n  border-color: #dddddd;\n}\n.panel-default > .panel-heading {\n  color: #333333;\n  background-color: #f5f5f5;\n  border-color: #dddddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #dddddd;\n}\n.panel-default > .panel-heading .badge {\n  color: #f5f5f5;\n  background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #dddddd;\n}\n.panel-primary {\n  border-color: #428bca;\n}\n.panel-primary > .panel-heading {\n  color: #ffffff;\n  background-color: #428bca;\n  border-color: #428bca;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #428bca;\n}\n.panel-primary > .panel-heading .badge {\n  color: #428bca;\n  background-color: #ffffff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #428bca;\n}\n.panel-success {\n  border-color: #d8f2b4;\n}\n.panel-success > .panel-heading {\n  color: #3f7815;\n  background-color: #dcf6ca;\n  border-color: #d8f2b4;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #d8f2b4;\n}\n.panel-success > .panel-heading .badge {\n  color: #dcf6ca;\n  background-color: #3f7815;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #d8f2b4;\n}\n.panel-info {\n  border-color: #e7e1f0;\n}\n.panel-info > .panel-heading {\n  color: #603e7a;\n  background-color: #f6f2f8;\n  border-color: #e7e1f0;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #e7e1f0;\n}\n.panel-info > .panel-heading .badge {\n  color: #f6f2f8;\n  background-color: #603e7a;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #e7e1f0;\n}\n.panel-warning {\n  border-color: #f6ceb0;\n}\n.panel-warning > .panel-heading {\n  color: #7e500f;\n  background-color: #f8e4c7;\n  border-color: #f6ceb0;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #f6ceb0;\n}\n.panel-warning > .panel-heading .badge {\n  color: #f8e4c7;\n  background-color: #7e500f;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #f6ceb0;\n}\n.panel-danger {\n  border-color: #f2b4d8;\n}\n.panel-danger > .panel-heading {\n  color: #78153f;\n  background-color: #f6cadc;\n  border-color: #f2b4d8;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #f2b4d8;\n}\n.panel-danger > .panel-heading .badge {\n  color: #f6cadc;\n  background-color: #78153f;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #f2b4d8;\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  height: 100%;\n  width: 100%;\n  border: 0;\n}\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 6px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 3px;\n}\n.close {\n  float: right;\n  font-size: 21px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000000;\n  text-shadow: 0 1px 0 #ffffff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n  color: #000000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  display: none;\n  overflow: hidden;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, -25%);\n  -ms-transform: translate(0, -25%);\n  -o-transform: translate(0, -25%);\n  transform: translate(0, -25%);\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  -moz-transition: -moz-transform 0.3s ease-out;\n  -o-transition: -o-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #ffffff;\n  border: 1px solid #999999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  background-clip: padding-box;\n  outline: 0;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000000;\n}\n.modal-backdrop.fade {\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n  min-height: 16.42857143px;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n  margin-left: 5px;\n  margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  font-family: Cantarell, \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 12px;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.tooltip.in {\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.tooltip.top {\n  margin-top: -3px;\n  padding: 5px 0;\n}\n.tooltip.right {\n  margin-left: 3px;\n  padding: 0 5px;\n}\n.tooltip.bottom {\n  margin-top: 3px;\n  padding: 5px 0;\n}\n.tooltip.left {\n  margin-left: -3px;\n  padding: 0 5px;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #ffffff;\n  text-align: center;\n  background-color: #000000;\n  border-radius: 4px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000000;\n}\n.tooltip.top-left .tooltip-arrow {\n  bottom: 0;\n  right: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000000;\n}\n.tooltip.top-right .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  font-family: Cantarell, \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 14px;\n  background-color: #ffffff;\n  background-clip: padding-box;\n  border: 1px solid #cccccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  margin: 0;\n  padding: 8px 14px;\n  font-size: 14px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 5px 5px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover > .arrow {\n  border-width: 11px;\n}\n.popover > .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n.popover.top > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-width: 0;\n  border-top-color: #999999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  bottom: -11px;\n}\n.popover.top > .arrow:after {\n  content: \" \";\n  bottom: 1px;\n  margin-left: -10px;\n  border-bottom-width: 0;\n  border-top-color: #ffffff;\n}\n.popover.right > .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-left-width: 0;\n  border-right-color: #999999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n  content: \" \";\n  left: 1px;\n  bottom: -10px;\n  border-left-width: 0;\n  border-right-color: #ffffff;\n}\n.popover.bottom > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  top: -11px;\n}\n.popover.bottom > .arrow:after {\n  content: \" \";\n  top: 1px;\n  margin-left: -10px;\n  border-top-width: 0;\n  border-bottom-color: #ffffff;\n}\n.popover.left > .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n  content: \" \";\n  right: 1px;\n  border-right-width: 0;\n  border-left-color: #ffffff;\n  bottom: -10px;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n}\n.carousel-inner > .item {\n  display: none;\n  position: relative;\n  -webkit-transition: 0.6s ease-in-out left;\n  -o-transition: 0.6s ease-in-out left;\n  transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n  .carousel-inner > .item {\n    -webkit-transition: -webkit-transform 0.6s ease-in-out;\n    -moz-transition: -moz-transform 0.6s ease-in-out;\n    -o-transition: -o-transform 0.6s ease-in-out;\n    transition: transform 0.6s ease-in-out;\n    -webkit-backface-visibility: hidden;\n    -moz-backface-visibility: hidden;\n    backface-visibility: hidden;\n    -webkit-perspective: 1000px;\n    -moz-perspective: 1000px;\n    perspective: 1000px;\n  }\n  .carousel-inner > .item.next,\n  .carousel-inner > .item.active.right {\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.prev,\n  .carousel-inner > .item.active.left {\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.next.left,\n  .carousel-inner > .item.prev.right,\n  .carousel-inner > .item.active {\n    -webkit-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n    left: 0;\n  }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: 15%;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  font-size: 20px;\n  color: #ffffff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-control.left {\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n  left: auto;\n  right: 0;\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  outline: 0;\n  color: #ffffff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  z-index: 5;\n  display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n  margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n  margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  margin-top: -10px;\n  line-height: 1;\n  font-family: serif;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  border: 1px solid #ffffff;\n  border-radius: 10px;\n  cursor: pointer;\n  background-color: #000 \\9;\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n  margin: 0;\n  width: 12px;\n  height: 12px;\n  background-color: #ffffff;\n}\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #ffffff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -15px;\n    font-size: 30px;\n  }\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .icon-prev {\n    margin-left: -15px;\n  }\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-next {\n    margin-right: -15px;\n  }\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-footer:before,\n.modal-footer:after {\n  content: \" \";\n  display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-footer:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table !important;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-block {\n    display: block !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline {\n    display: inline !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table !important;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-block {\n    display: block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table !important;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-block {\n    display: block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table !important;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-block {\n    display: block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table !important;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n.visible-print-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-block {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline-block {\n    display: inline-block !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n//    without disabling user zoom.\n//\n\nhtml {\n  font-family: sans-serif; // 1\n  -ms-text-size-adjust: 100%; // 2\n  -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n  margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block; // 1\n  vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n  background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n  outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n  font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n  font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n  border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n  margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n  overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n//    Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit; // 1\n  font: inherit; // 2\n  margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n  overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n//    and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n//    `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n  cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n  line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box; // 1\n  padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield; // 1\n  box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n  border: 0; // 1\n  padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n  overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n  font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n    *,\n    *:before,\n    *:after {\n        background: transparent !important;\n        color: #000 !important; // Black prints faster: h5bp.com/s\n        box-shadow: none !important;\n        text-shadow: none !important;\n    }\n\n    a,\n    a:visited {\n        text-decoration: underline;\n    }\n\n    a[href]:after {\n        content: \" (\" attr(href) \")\";\n    }\n\n    abbr[title]:after {\n        content: \" (\" attr(title) \")\";\n    }\n\n    // Don't show links that are fragment identifiers,\n    // or use the `javascript:` pseudo protocol\n    a[href^=\"#\"]:after,\n    a[href^=\"javascript:\"]:after {\n        content: \"\";\n    }\n\n    pre,\n    blockquote {\n        border: 1px solid #999;\n        page-break-inside: avoid;\n    }\n\n    thead {\n        display: table-header-group; // h5bp.com/t\n    }\n\n    tr,\n    img {\n        page-break-inside: avoid;\n    }\n\n    img {\n        max-width: 100% !important;\n    }\n\n    p,\n    h2,\n    h3 {\n        orphans: 3;\n        widows: 3;\n    }\n\n    h2,\n    h3 {\n        page-break-after: avoid;\n    }\n\n    // Bootstrap specific changes start\n\n    // Bootstrap components\n    .navbar {\n        display: none;\n    }\n    .btn,\n    .dropup > .btn {\n        > .caret {\n            border-top-color: #000 !important;\n        }\n    }\n    .label {\n        border: 1px solid #000;\n    }\n\n    .table {\n        border-collapse: collapse !important;\n\n        td,\n        th {\n            background-color: #fff !important;\n        }\n    }\n    .table-bordered {\n        th,\n        td {\n            border: 1px solid #ddd !important;\n        }\n    }\n\n    // Bootstrap specific changes end\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// <a href=\"#\"><span class=\"glyphicon glyphicon-star\"></span> Star</a>\n\n// Import the fonts\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('@{icon-font-path}@{icon-font-name}.eot');\n  src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n       url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n       url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n       url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n       url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk               { &:before { content: \"\\2a\"; } }\n.glyphicon-plus                   { &:before { content: \"\\2b\"; } }\n.glyphicon-euro,\n.glyphicon-eur                    { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus                  { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud                  { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope               { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil                 { &:before { content: \"\\270f\"; } }\n.glyphicon-glass                  { &:before { content: \"\\e001\"; } }\n.glyphicon-music                  { &:before { content: \"\\e002\"; } }\n.glyphicon-search                 { &:before { content: \"\\e003\"; } }\n.glyphicon-heart                  { &:before { content: \"\\e005\"; } }\n.glyphicon-star                   { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty             { &:before { content: \"\\e007\"; } }\n.glyphicon-user                   { &:before { content: \"\\e008\"; } }\n.glyphicon-film                   { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large               { &:before { content: \"\\e010\"; } }\n.glyphicon-th                     { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list                { &:before { content: \"\\e012\"; } }\n.glyphicon-ok                     { &:before { content: \"\\e013\"; } }\n.glyphicon-remove                 { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in                { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out               { &:before { content: \"\\e016\"; } }\n.glyphicon-off                    { &:before { content: \"\\e017\"; } }\n.glyphicon-signal                 { &:before { content: \"\\e018\"; } }\n.glyphicon-cog                    { &:before { content: \"\\e019\"; } }\n.glyphicon-trash                  { &:before { content: \"\\e020\"; } }\n.glyphicon-home                   { &:before { content: \"\\e021\"; } }\n.glyphicon-file                   { &:before { content: \"\\e022\"; } }\n.glyphicon-time                   { &:before { content: \"\\e023\"; } }\n.glyphicon-road                   { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt           { &:before { content: \"\\e025\"; } }\n.glyphicon-download               { &:before { content: \"\\e026\"; } }\n.glyphicon-upload                 { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox                  { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle            { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat                 { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh                { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt               { &:before { content: \"\\e032\"; } }\n.glyphicon-lock                   { &:before { content: \"\\e033\"; } }\n.glyphicon-flag                   { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones             { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off             { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down            { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up              { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode                 { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode                { &:before { content: \"\\e040\"; } }\n.glyphicon-tag                    { &:before { content: \"\\e041\"; } }\n.glyphicon-tags                   { &:before { content: \"\\e042\"; } }\n.glyphicon-book                   { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark               { &:before { content: \"\\e044\"; } }\n.glyphicon-print                  { &:before { content: \"\\e045\"; } }\n.glyphicon-camera                 { &:before { content: \"\\e046\"; } }\n.glyphicon-font                   { &:before { content: \"\\e047\"; } }\n.glyphicon-bold                   { &:before { content: \"\\e048\"; } }\n.glyphicon-italic                 { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height            { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width             { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left             { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center           { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right            { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify          { &:before { content: \"\\e055\"; } }\n.glyphicon-list                   { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left            { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right           { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video         { &:before { content: \"\\e059\"; } }\n.glyphicon-picture                { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker             { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust                 { &:before { content: \"\\e063\"; } }\n.glyphicon-tint                   { &:before { content: \"\\e064\"; } }\n.glyphicon-edit                   { &:before { content: \"\\e065\"; } }\n.glyphicon-share                  { &:before { content: \"\\e066\"; } }\n.glyphicon-check                  { &:before { content: \"\\e067\"; } }\n.glyphicon-move                   { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward          { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward          { &:before { content: \"\\e070\"; } }\n.glyphicon-backward               { &:before { content: \"\\e071\"; } }\n.glyphicon-play                   { &:before { content: \"\\e072\"; } }\n.glyphicon-pause                  { &:before { content: \"\\e073\"; } }\n.glyphicon-stop                   { &:before { content: \"\\e074\"; } }\n.glyphicon-forward                { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward           { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward           { &:before { content: \"\\e077\"; } }\n.glyphicon-eject                  { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left           { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right          { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign              { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign             { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign            { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign                { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign          { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign              { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot             { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle          { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle              { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle             { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left             { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right            { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up               { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down             { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt              { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full            { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small           { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign       { &:before { content: \"\\e101\"; } }\n.glyphicon-gift                   { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf                   { &:before { content: \"\\e103\"; } }\n.glyphicon-fire                   { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open               { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close              { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign           { &:before { content: \"\\e107\"; } }\n.glyphicon-plane                  { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar               { &:before { content: \"\\e109\"; } }\n.glyphicon-random                 { &:before { content: \"\\e110\"; } }\n.glyphicon-comment                { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet                 { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up             { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down           { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet                { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart          { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close           { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open            { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical        { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal      { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd                    { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn               { &:before { content: \"\\e122\"; } }\n.glyphicon-bell                   { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate            { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up              { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down            { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right             { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left              { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up                { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down              { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right     { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left      { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up        { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down      { &:before { content: \"\\e134\"; } }\n.glyphicon-globe                  { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench                 { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks                  { &:before { content: \"\\e137\"; } }\n.glyphicon-filter                 { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase              { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen             { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard              { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip              { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty            { &:before { content: \"\\e143\"; } }\n.glyphicon-link                   { &:before { content: \"\\e144\"; } }\n.glyphicon-phone                  { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin                { &:before { content: \"\\e146\"; } }\n.glyphicon-usd                    { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp                    { &:before { content: \"\\e149\"; } }\n.glyphicon-sort                   { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet       { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt   { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order          { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt      { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes     { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked              { &:before { content: \"\\e157\"; } }\n.glyphicon-expand                 { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down          { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up            { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in                 { &:before { content: \"\\e161\"; } }\n.glyphicon-flash                  { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out                { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window             { &:before { content: \"\\e164\"; } }\n.glyphicon-record                 { &:before { content: \"\\e165\"; } }\n.glyphicon-save                   { &:before { content: \"\\e166\"; } }\n.glyphicon-open                   { &:before { content: \"\\e167\"; } }\n.glyphicon-saved                  { &:before { content: \"\\e168\"; } }\n.glyphicon-import                 { &:before { content: \"\\e169\"; } }\n.glyphicon-export                 { &:before { content: \"\\e170\"; } }\n.glyphicon-send                   { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk            { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved           { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove          { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save            { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open            { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card            { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer               { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery                { &:before { content: \"\\e179\"; } }\n.glyphicon-header                 { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed             { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone               { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt              { &:before { content: \"\\e183\"; } }\n.glyphicon-tower                  { &:before { content: \"\\e184\"; } }\n.glyphicon-stats                  { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video               { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video               { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles              { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo           { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby            { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1              { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1              { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1              { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark         { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark      { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download         { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload           { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer           { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous         { &:before { content: \"\\e200\"; } }\n.glyphicon-cd                     { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file              { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file              { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up               { &:before { content: \"\\e204\"; } }\n.glyphicon-copy                   { &:before { content: \"\\e205\"; } }\n.glyphicon-paste                  { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door                   { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key                    { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert                  { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer              { &:before { content: \"\\e210\"; } }\n.glyphicon-king                   { &:before { content: \"\\e211\"; } }\n.glyphicon-queen                  { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn                   { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop                 { &:before { content: \"\\e214\"; } }\n.glyphicon-knight                 { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula           { &:before { content: \"\\e216\"; } }\n.glyphicon-tent                   { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard             { &:before { content: \"\\e218\"; } }\n.glyphicon-bed                    { &:before { content: \"\\e219\"; } }\n.glyphicon-apple                  { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase                  { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass              { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp                   { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate              { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank             { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors               { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin                { &:before { content: \"\\e227\"; } }\n.glyphicon-btc                    { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt                    { &:before { content: \"\\e227\"; } }\n.glyphicon-yen                    { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy                    { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble                  { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub                    { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale                  { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly              { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted       { &:before { content: \"\\e232\"; } }\n.glyphicon-education              { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal      { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical        { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger         { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window           { &:before { content: \"\\e237\"; } }\n.glyphicon-oil                    { &:before { content: \"\\e238\"; } }\n.glyphicon-grain                  { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses             { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size              { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color             { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background        { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top       { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom    { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left      { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical  { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right     { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right         { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left          { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom        { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top           { &:before { content: \"\\e253\"; } }\n.glyphicon-console                { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript            { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript              { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left              { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right             { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down              { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up                { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n  .box-sizing(border-box);\n}\n*:before,\n*:after {\n  .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n  font-family: @font-family-base;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @text-color;\n  background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\n\n// Links\n\na {\n  color: @link-color;\n  text-decoration: none;\n\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: @link-hover-decoration;\n  }\n\n  &:focus {\n    .tab-focus();\n  }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n  margin: 0;\n}\n\n\n// Images\n\nimg {\n  vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n  .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n  border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n  padding: @thumbnail-padding;\n  line-height: @line-height-base;\n  background-color: @thumbnail-bg;\n  border: 1px solid @thumbnail-border;\n  border-radius: @thumbnail-border-radius;\n  .transition(all .2s ease-in-out);\n\n  // Keep them at most 100% wide\n  .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n  border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n  margin-top:    @line-height-computed;\n  margin-bottom: @line-height-computed;\n  border: 0;\n  border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0,0,0,0);\n  border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n  &:active,\n  &:focus {\n    position: static;\n    width: auto;\n    height: auto;\n    margin: 0;\n    overflow: visible;\n    clip: auto;\n  }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n// Upstream patch for normalize.css submitted: https://github.com/necolas/normalize.css/pull/379 - remove this fix once that is merged\n\n[role=\"button\"] {\n  cursor: pointer;\n}","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n  -webkit-animation: @animation;\n       -o-animation: @animation;\n          animation: @animation;\n}\n.animation-name(@name) {\n  -webkit-animation-name: @name;\n          animation-name: @name;\n}\n.animation-duration(@duration) {\n  -webkit-animation-duration: @duration;\n          animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n  -webkit-animation-timing-function: @timing-function;\n          animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n  -webkit-animation-delay: @delay;\n          animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n  -webkit-animation-iteration-count: @iteration-count;\n          animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n  -webkit-animation-direction: @direction;\n          animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n  -webkit-animation-fill-mode: @fill-mode;\n          animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n  -webkit-backface-visibility: @visibility;\n     -moz-backface-visibility: @visibility;\n          backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n          box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n  -webkit-box-sizing: @boxmodel;\n     -moz-box-sizing: @boxmodel;\n          box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n  -webkit-column-count: @column-count;\n     -moz-column-count: @column-count;\n          column-count: @column-count;\n  -webkit-column-gap: @column-gap;\n     -moz-column-gap: @column-gap;\n          column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n  word-wrap: break-word;\n  -webkit-hyphens: @mode;\n     -moz-hyphens: @mode;\n      -ms-hyphens: @mode; // IE10+\n       -o-hyphens: @mode;\n          hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n  // Firefox\n  &::-moz-placeholder {\n    color: @color;\n    opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n  }\n  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n  -webkit-transform: scale(@ratio);\n      -ms-transform: scale(@ratio); // IE9 only\n       -o-transform: scale(@ratio);\n          transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n  -webkit-transform: scale(@ratioX, @ratioY);\n      -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n       -o-transform: scale(@ratioX, @ratioY);\n          transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n  -webkit-transform: scaleX(@ratio);\n      -ms-transform: scaleX(@ratio); // IE9 only\n       -o-transform: scaleX(@ratio);\n          transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n  -webkit-transform: scaleY(@ratio);\n      -ms-transform: scaleY(@ratio); // IE9 only\n       -o-transform: scaleY(@ratio);\n          transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n  -webkit-transform: skewX(@x) skewY(@y);\n      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n       -o-transform: skewX(@x) skewY(@y);\n          transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n  -webkit-transform: translate(@x, @y);\n      -ms-transform: translate(@x, @y); // IE9 only\n       -o-transform: translate(@x, @y);\n          transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n  -webkit-transform: translate3d(@x, @y, @z);\n          transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n  -webkit-transform: rotate(@degrees);\n      -ms-transform: rotate(@degrees); // IE9 only\n       -o-transform: rotate(@degrees);\n          transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n  -webkit-transform: rotateX(@degrees);\n      -ms-transform: rotateX(@degrees); // IE9 only\n       -o-transform: rotateX(@degrees);\n          transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n  -webkit-transform: rotateY(@degrees);\n      -ms-transform: rotateY(@degrees); // IE9 only\n       -o-transform: rotateY(@degrees);\n          transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n  -webkit-perspective: @perspective;\n     -moz-perspective: @perspective;\n          perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n  -webkit-perspective-origin: @perspective;\n     -moz-perspective-origin: @perspective;\n          perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n  -webkit-transform-origin: @origin;\n     -moz-transform-origin: @origin;\n      -ms-transform-origin: @origin; // IE9 only\n          transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n  -webkit-transition: @transition;\n       -o-transition: @transition;\n          transition: @transition;\n}\n.transition-property(@transition-property) {\n  -webkit-transition-property: @transition-property;\n          transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n  -webkit-transition-delay: @transition-delay;\n          transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n  -webkit-transition-duration: @transition-duration;\n          transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n  -webkit-transition-timing-function: @timing-function;\n          transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n  -webkit-transition: -webkit-transform @transition;\n     -moz-transition: -moz-transform @transition;\n       -o-transition: -o-transform @transition;\n          transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n  -webkit-user-select: @select;\n     -moz-user-select: @select;\n      -ms-user-select: @select; // IE10+\n          user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n  // Default\n  outline: thin dotted;\n  // WebKit\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n  display: @display;\n  max-width: 100%; // Part 1: Set a maximum relative to the parent\n  height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n  background-image: url(\"@{file-1x}\");\n\n  @media\n  only screen and (-webkit-min-device-pixel-ratio: 2),\n  only screen and (   min--moz-device-pixel-ratio: 2),\n  only screen and (     -o-min-device-pixel-ratio: 2/1),\n  only screen and (        min-device-pixel-ratio: 2),\n  only screen and (                min-resolution: 192dpi),\n  only screen and (                min-resolution: 2dppx) {\n    background-image: url(\"@{file-2x}\");\n    background-size: @width-1x @height-1x;\n  }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  font-family: @headings-font-family;\n  font-weight: @headings-font-weight;\n  line-height: @headings-line-height;\n  color: @headings-color;\n\n  small,\n  .small {\n    font-weight: normal;\n    line-height: 1;\n    color: @headings-small-color;\n  }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n  margin-top: @line-height-computed;\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 65%;\n  }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n  margin-top: (@line-height-computed / 2);\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 75%;\n  }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n  margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n  margin-bottom: @line-height-computed;\n  font-size: floor((@font-size-base * 1.15));\n  font-weight: 300;\n  line-height: 1.4;\n\n  @media (min-width: @screen-sm-min) {\n    font-size: (@font-size-base * 1.5);\n  }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n  font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n  background-color: @state-warning-bg;\n  padding: .2em;\n}\n\n// Alignment\n.text-left           { text-align: left; }\n.text-right          { text-align: right; }\n.text-center         { text-align: center; }\n.text-justify        { text-align: justify; }\n.text-nowrap         { white-space: nowrap; }\n\n// Transformation\n.text-lowercase      { text-transform: lowercase; }\n.text-uppercase      { text-transform: uppercase; }\n.text-capitalize     { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n  color: @text-muted;\n}\n.text-primary {\n  .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n  .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n  .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n  .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n  .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n  // Given the contrast here, this is the only class to have its color inverted\n  // automatically.\n  color: #fff;\n  .bg-variant(@brand-primary);\n}\n.bg-success {\n  .bg-variant(@state-success-bg);\n}\n.bg-info {\n  .bg-variant(@state-info-bg);\n}\n.bg-warning {\n  .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n  .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n  padding-bottom: ((@line-height-computed / 2) - 1);\n  margin: (@line-height-computed * 2) 0 @line-height-computed;\n  border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n  margin-top: 0;\n  margin-bottom: (@line-height-computed / 2);\n  ul,\n  ol {\n    margin-bottom: 0;\n  }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n  .list-unstyled();\n  margin-left: -5px;\n\n  > li {\n    display: inline-block;\n    padding-left: 5px;\n    padding-right: 5px;\n  }\n}\n\n// Description Lists\ndl {\n  margin-top: 0; // Remove browser default\n  margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n  line-height: @line-height-base;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n  dd {\n    &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    dt {\n      float: left;\n      width: (@dl-horizontal-offset - 20);\n      clear: left;\n      text-align: right;\n      .text-overflow();\n    }\n    dd {\n      margin-left: @dl-horizontal-offset;\n    }\n  }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n  font-size: 90%;\n  .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n  padding: (@line-height-computed / 2) @line-height-computed;\n  margin: 0 0 @line-height-computed;\n  font-size: @blockquote-font-size;\n  border-left: 5px solid @blockquote-border-color;\n\n  p,\n  ul,\n  ol {\n    &:last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  // Note: Deprecated small and .small as of v3.1.0\n  // Context: https://github.com/twbs/bootstrap/issues/11660\n  footer,\n  small,\n  .small {\n    display: block;\n    font-size: 80%; // back to default font-size\n    line-height: @line-height-base;\n    color: @blockquote-small-color;\n\n    &:before {\n      content: '\\2014 \\00A0'; // em dash, nbsp\n    }\n  }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid @blockquote-border-color;\n  border-left: 0;\n  text-align: right;\n\n  // Account for citation\n  footer,\n  small,\n  .small {\n    &:before { content: ''; }\n    &:after {\n      content: '\\00A0 \\2014'; // nbsp, em dash\n    }\n  }\n}\n\n// Addresses\naddress {\n  margin-bottom: @line-height-computed;\n  font-style: normal;\n  line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n  color: @color;\n  a&:hover,\n  a&:focus {\n    color: darken(@color, 10%);\n  }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n  background-color: @color;\n  a&:hover,\n  a&:focus {\n    background-color: darken(@color, 10%);\n  }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n  font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @code-color;\n  background-color: @code-bg;\n  border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @kbd-color;\n  background-color: @kbd-bg;\n  border-radius: @border-radius-small;\n  box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n  kbd {\n    padding: 0;\n    font-size: 100%;\n    font-weight: bold;\n    box-shadow: none;\n  }\n}\n\n// Blocks of code\npre {\n  display: block;\n  padding: ((@line-height-computed - 1) / 2);\n  margin: 0 0 (@line-height-computed / 2);\n  font-size: (@font-size-base - 1); // 14px to 13px\n  line-height: @line-height-base;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: @pre-color;\n  background-color: @pre-bg;\n  border: 1px solid @pre-border-color;\n  border-radius: @border-radius-base;\n\n  // Account for some code outputs that place code tags in pre tags\n  code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    white-space: pre-wrap;\n    background-color: transparent;\n    border-radius: 0;\n  }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n  max-height: @pre-scrollable-max-height;\n  overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n  .container-fixed();\n\n  @media (min-width: @screen-sm-min) {\n    width: @container-sm;\n  }\n  @media (min-width: @screen-md-min) {\n    width: @container-md;\n  }\n  @media (min-width: @screen-lg-min) {\n    width: @container-lg;\n  }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n  .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n  .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n  .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n  .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n  .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n  &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n  margin-left:  (@gutter / -2);\n  margin-right: (@gutter / -2);\n  &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  float: left;\n  width: percentage((@columns / @grid-columns));\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n  margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n  left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n  right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n\n  @media (min-width: @screen-sm-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-offset(@columns) {\n  @media (min-width: @screen-sm-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-push(@columns) {\n  @media (min-width: @screen-sm-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-pull(@columns) {\n  @media (min-width: @screen-sm-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n\n  @media (min-width: @screen-md-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-offset(@columns) {\n  @media (min-width: @screen-md-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-push(@columns) {\n  @media (min-width: @screen-md-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-pull(@columns) {\n  @media (min-width: @screen-md-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n\n  @media (min-width: @screen-lg-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-offset(@columns) {\n  @media (min-width: @screen-lg-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-push(@columns) {\n  @media (min-width: @screen-lg-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-pull(@columns) {\n  @media (min-width: @screen-lg-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n  // Common styles for all sizes of grid columns, widths 1-12\n  .col(@index) { // initial\n    @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n    @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n    .col((@index + 1), ~\"@{list}, @{item}\");\n  }\n  .col(@index, @list) when (@index > @grid-columns) { // terminal\n    @{list} {\n      position: relative;\n      // Prevent columns from collapsing when empty\n      min-height: 1px;\n      // Inner gutter via padding\n      padding-left:  (@grid-gutter-width / 2);\n      padding-right: (@grid-gutter-width / 2);\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n  .col(@index) { // initial\n    @item: ~\".col-@{class}-@{index}\";\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) { // general\n    @item: ~\".col-@{class}-@{index}\";\n    .col((@index + 1), ~\"@{list}, @{item}\");\n  }\n  .col(@index, @list) when (@index > @grid-columns) { // terminal\n    @{list} {\n      float: left;\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n  .col-@{class}-@{index} {\n    width: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n  .col-@{class}-push-@{index} {\n    left: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n  .col-@{class}-push-0 {\n    left: auto;\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n  .col-@{class}-pull-@{index} {\n    right: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n  .col-@{class}-pull-0 {\n    right: auto;\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n  .col-@{class}-offset-@{index} {\n    margin-left: percentage((@index / @grid-columns));\n  }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n  .calc-grid-column(@index, @class, @type);\n  // next iteration\n  .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n  .float-grid-columns(@class);\n  .loop-grid-columns(@grid-columns, @class, width);\n  .loop-grid-columns(@grid-columns, @class, pull);\n  .loop-grid-columns(@grid-columns, @class, push);\n  .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n  background-color: @table-bg;\n}\ncaption {\n  padding-top: @table-cell-padding;\n  padding-bottom: @table-cell-padding;\n  color: @text-muted;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: @line-height-computed;\n  // Cells\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-cell-padding;\n        line-height: @line-height-base;\n        vertical-align: top;\n        border-top: 1px solid @table-border-color;\n      }\n    }\n  }\n  // Bottom align for column headings\n  > thead > tr > th {\n    vertical-align: bottom;\n    border-bottom: 2px solid @table-border-color;\n  }\n  // Remove top border from thead by default\n  > caption + thead,\n  > colgroup + thead,\n  > thead:first-child {\n    > tr:first-child {\n      > th,\n      > td {\n        border-top: 0;\n      }\n    }\n  }\n  // Account for multiple tbody instances\n  > tbody + tbody {\n    border-top: 2px solid @table-border-color;\n  }\n\n  // Nesting\n  .table {\n    background-color: @body-bg;\n  }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-condensed-cell-padding;\n      }\n    }\n  }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n  border: 1px solid @table-border-color;\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        border: 1px solid @table-border-color;\n      }\n    }\n  }\n  > thead > tr {\n    > th,\n    > td {\n      border-bottom-width: 2px;\n    }\n  }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n  > tbody > tr:nth-of-type(odd) {\n    background-color: @table-bg-accent;\n  }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n  > tbody > tr:hover {\n    background-color: @table-bg-hover;\n  }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n  position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n  float: none;\n  display: table-column;\n}\ntable {\n  td,\n  th {\n    &[class*=\"col-\"] {\n      position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n      float: none;\n      display: table-cell;\n    }\n  }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n  @media screen and (max-width: @screen-xs-max) {\n    width: 100%;\n    margin-bottom: (@line-height-computed * 0.75);\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid @table-border-color;\n\n    // Tighten up spacing\n    > .table {\n      margin-bottom: 0;\n\n      // Ensure the content doesn't wrap\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th,\n          > td {\n            white-space: nowrap;\n          }\n        }\n      }\n    }\n\n    // Special overrides for the bordered tables\n    > .table-bordered {\n      border: 0;\n\n      // Nuke the appropriate borders so that the parent can handle them\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th:first-child,\n          > td:first-child {\n            border-left: 0;\n          }\n          > th:last-child,\n          > td:last-child {\n            border-right: 0;\n          }\n        }\n      }\n\n      // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n      // chances are there will be only one `tr` in a `thead` and that would\n      // remove the border altogether.\n      > tbody,\n      > tfoot {\n        > tr:last-child {\n          > th,\n          > td {\n            border-bottom: 0;\n          }\n        }\n      }\n\n    }\n  }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n  // Exact selectors below required to override `.table-striped` and prevent\n  // inheritance to nested tables.\n  .table > thead > tr,\n  .table > tbody > tr,\n  .table > tfoot > tr {\n    > td.@{state},\n    > th.@{state},\n    &.@{state} > td,\n    &.@{state} > th {\n      background-color: @background;\n    }\n  }\n\n  // Hover states for `.table-hover`\n  // Note: this is not available for cells or rows within `thead` or `tfoot`.\n  .table-hover > tbody > tr {\n    > td.@{state}:hover,\n    > th.@{state}:hover,\n    &.@{state}:hover > td,\n    &:hover > .@{state},\n    &.@{state}:hover > th {\n      background-color: darken(@background, 5%);\n    }\n  }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n  // so we reset that to ensure it behaves more like a standard block element.\n  // See https://github.com/twbs/bootstrap/issues/12359.\n  min-width: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: @line-height-computed;\n  font-size: (@font-size-base * 1.5);\n  line-height: inherit;\n  color: @legend-color;\n  border: 0;\n  border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n  display: inline-block;\n  max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n  margin-bottom: 5px;\n  font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n  .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9; // IE8-9\n  line-height: normal;\n}\n\n// Set the height of file controls to match text inputs\ninput[type=\"file\"] {\n  display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n  height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  .tab-focus();\n}\n\n// Adjust output element\noutput {\n  display: block;\n  padding-top: (@padding-base-vertical + 1);\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n  background-color: @input-bg;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid @input-border;\n  border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n  .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n  // Customize the `:focus` state to imitate native WebKit styles.\n  .form-control-focus();\n\n  // Placeholder\n  .placeholder();\n\n  // Disabled and read-only inputs\n  //\n  // HTML5 says that controls under a fieldset > legend:first-child won't be\n  // disabled if the fieldset is disabled. Due to implementation difficulty, we\n  // don't honor that edge case; we style them as disabled anyway.\n  &[disabled],\n  &[readonly],\n  fieldset[disabled] & {\n    background-color: @input-bg-disabled;\n    opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n  }\n\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n\n  // Reset height for `textarea`s\n  textarea& {\n    height: auto;\n  }\n}\n\n\n// Search inputs in iOS\n//\n// This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"],\n  input[type=\"time\"],\n  input[type=\"datetime-local\"],\n  input[type=\"month\"] {\n    line-height: @input-height-base;\n\n    &.input-sm,\n    .input-group-sm & {\n      line-height: @input-height-small;\n    }\n\n    &.input-lg,\n    .input-group-lg & {\n      line-height: @input-height-large;\n    }\n  }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n  margin-bottom: @form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n\n  label {\n    min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n    padding-left: 20px;\n    margin-bottom: 0;\n    font-weight: normal;\n    cursor: pointer;\n  }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 4px \\9;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px; // space out consecutive inline controls\n}\n\n// Apply same disabled cursor tweak as for inputs\n// Some special care is needed because <label>s don't inherit their parent's `cursor`.\n//\n// Note: Neither radios nor checkboxes can be readonly.\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  &[disabled],\n  &.disabled,\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n}\n// These classes are used directly on <label>s\n.radio-inline,\n.checkbox-inline {\n  &.disabled,\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n}\n// These classes are used on elements with <label> descendants\n.radio,\n.checkbox {\n  &.disabled,\n  fieldset[disabled] & {\n    label {\n      cursor: @cursor-disabled;\n    }\n  }\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n  // Size it appropriately next to real form controls\n  padding-top: (@padding-base-vertical + 1);\n  padding-bottom: (@padding-base-vertical + 1);\n  // Remove default margin from `p`\n  margin-bottom: 0;\n  min-height: (@line-height-computed + @font-size-base);\n\n  &.input-lg,\n  &.input-sm {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.input-sm {\n  .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);\n}\n.form-group-sm {\n  .form-control {\n    height: @input-height-small;\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    line-height: @line-height-small;\n    border-radius: @input-border-radius-small;\n  }\n  select.form-control {\n    height: @input-height-small;\n    line-height: @input-height-small;\n  }\n  textarea.form-control,\n  select[multiple].form-control {\n    height: auto;\n  }\n  .form-control-static {\n    height: @input-height-small;\n    min-height: (@line-height-computed + @font-size-small);\n    padding: (@padding-small-vertical + 1) @padding-small-horizontal;\n    font-size: @font-size-small;\n    line-height: @line-height-small;\n  }\n}\n\n.input-lg {\n  .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);\n}\n.form-group-lg {\n  .form-control {\n    height: @input-height-large;\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    line-height: @line-height-large;\n    border-radius: @input-border-radius-large;\n  }\n  select.form-control {\n    height: @input-height-large;\n    line-height: @input-height-large;\n  }\n  textarea.form-control,\n  select[multiple].form-control {\n    height: auto;\n  }\n  .form-control-static {\n    height: @input-height-large;\n    min-height: (@line-height-computed + @font-size-large);\n    padding: (@padding-large-vertical + 1) @padding-large-horizontal;\n    font-size: @font-size-large;\n    line-height: @line-height-large;\n  }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n  // Enable absolute positioning\n  position: relative;\n\n  // Ensure icons don't overlap text\n  .form-control {\n    padding-right: (@input-height-base * 1.25);\n  }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2; // Ensure icon is above input groups\n  display: block;\n  width: @input-height-base;\n  height: @input-height-base;\n  line-height: @input-height-base;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback {\n  width: @input-height-large;\n  height: @input-height-large;\n  line-height: @input-height-large;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback {\n  width: @input-height-small;\n  height: @input-height-small;\n  line-height: @input-height-small;\n}\n\n// Feedback states\n.has-success {\n  .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);\n}\n.has-warning {\n  .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n.has-error {\n  .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n  & ~ .form-control-feedback {\n     top: (@line-height-computed + 5); // Height of the `label` and its margin\n  }\n  &.sr-only ~ .form-control-feedback {\n     top: 0;\n  }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n  display: block; // account for any element using help-block\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: lighten(@text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n.form-inline {\n\n  // Kick in the inline\n  @media (min-width: @screen-sm-min) {\n    // Inline-block all the things for \"inline\"\n    .form-group {\n      display: inline-block;\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // In navbar-form, allow folks to *not* use `.form-group`\n    .form-control {\n      display: inline-block;\n      width: auto; // Prevent labels from stacking above inputs in `.form-group`\n      vertical-align: middle;\n    }\n\n    // Make static controls behave like regular ones\n    .form-control-static {\n      display: inline-block;\n    }\n\n    .input-group {\n      display: inline-table;\n      vertical-align: middle;\n\n      .input-group-addon,\n      .input-group-btn,\n      .form-control {\n        width: auto;\n      }\n    }\n\n    // Input groups need that 100% width though\n    .input-group > .form-control {\n      width: 100%;\n    }\n\n    .control-label {\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // Remove default margin on radios/checkboxes that were used for stacking, and\n    // then undo the floating of radios and checkboxes to match.\n    .radio,\n    .checkbox {\n      display: inline-block;\n      margin-top: 0;\n      margin-bottom: 0;\n      vertical-align: middle;\n\n      label {\n        padding-left: 0;\n      }\n    }\n    .radio input[type=\"radio\"],\n    .checkbox input[type=\"checkbox\"] {\n      position: relative;\n      margin-left: 0;\n    }\n\n    // Re-override the feedback icon.\n    .has-feedback .form-control-feedback {\n      top: 0;\n    }\n  }\n}\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n  // Consistent vertical alignment of radios and checkboxes\n  //\n  // Labels also get some reset styles, but that is scoped to a media query below.\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline {\n    margin-top: 0;\n    margin-bottom: 0;\n    padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n  }\n  // Account for padding we're adding to ensure the alignment and of help text\n  // and other content below items\n  .radio,\n  .checkbox {\n    min-height: (@line-height-computed + (@padding-base-vertical + 1));\n  }\n\n  // Make form groups behave like rows\n  .form-group {\n    .make-row();\n  }\n\n  // Reset spacing and right align labels, but scope to media queries so that\n  // labels on narrow viewports stack the same as a default form example.\n  @media (min-width: @screen-sm-min) {\n    .control-label {\n      text-align: right;\n      margin-bottom: 0;\n      padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n    }\n  }\n\n  // Validation states\n  //\n  // Reposition the icon because it's now within a grid column and columns have\n  // `position: relative;` on them. Also accounts for the grid gutter padding.\n  .has-feedback .form-control-feedback {\n    right: (@grid-gutter-width / 2);\n  }\n\n  // Form group sizes\n  //\n  // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n  // inputs and labels within a `.form-group`.\n  .form-group-lg {\n    @media (min-width: @screen-sm-min) {\n      .control-label {\n        padding-top: ((@padding-large-vertical * @line-height-large) + 1);\n        font-size: @font-size-large;\n      }\n    }\n  }\n  .form-group-sm {\n    @media (min-width: @screen-sm-min) {\n      .control-label {\n        padding-top: (@padding-small-vertical + 1);\n        font-size: @font-size-small;\n      }\n    }\n  }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {\n  // Color the label and help text\n  .help-block,\n  .control-label,\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline,\n  &.radio label,\n  &.checkbox label,\n  &.radio-inline label,\n  &.checkbox-inline label  {\n    color: @text-color;\n  }\n  // Set the border and box shadow on specific inputs to match\n  .form-control {\n    border-color: @border-color;\n    .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work\n    &:focus {\n      border-color: darken(@border-color, 10%);\n      @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);\n      .box-shadow(@shadow);\n    }\n  }\n  // Set validation states also for addons\n  .input-group-addon {\n    color: @text-color;\n    border-color: @border-color;\n    background-color: @background-color;\n  }\n  // Optional feedback icon\n  .form-control-feedback {\n    color: @text-color;\n  }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `@input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n.form-control-focus(@color: @input-border-focus) {\n  @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);\n  &:focus {\n    border-color: @color;\n    outline: 0;\n    .box-shadow(~\"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}\");\n  }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  height: @input-height;\n  padding: @padding-vertical @padding-horizontal;\n  font-size: @font-size;\n  line-height: @line-height;\n  border-radius: @border-radius;\n\n  select& {\n    height: @input-height;\n    line-height: @input-height;\n  }\n\n  textarea&,\n  select[multiple]& {\n    height: auto;\n  }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n  display: inline-block;\n  margin-bottom: 0; // For input.btn\n  font-weight: @btn-font-weight;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  white-space: nowrap;\n  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base);\n  .user-select(none);\n\n  &,\n  &:active,\n  &.active {\n    &:focus,\n    &.focus {\n      .tab-focus();\n    }\n  }\n\n  &:hover,\n  &:focus,\n  &.focus {\n    color: @btn-default-color;\n    text-decoration: none;\n  }\n\n  &:active,\n  &.active {\n    outline: 0;\n    background-image: none;\n    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n    .opacity(.65);\n    .box-shadow(none);\n  }\n\n  a& {\n    &.disabled,\n    fieldset[disabled] & {\n      pointer-events: none; // Future-proof disabling of clicks on `<a>` elements\n    }\n  }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n  .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n  .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n  .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n  .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n  .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n  .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n  color: @link-color;\n  font-weight: normal;\n  border-radius: 0;\n\n  &,\n  &:active,\n  &.active,\n  &[disabled],\n  fieldset[disabled] & {\n    background-color: transparent;\n    .box-shadow(none);\n  }\n  &,\n  &:hover,\n  &:focus,\n  &:active {\n    border-color: transparent;\n  }\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: @link-hover-decoration;\n    background-color: transparent;\n  }\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus {\n      color: @btn-link-disabled-color;\n      text-decoration: none;\n    }\n  }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n  // line-height: ensure even-numbered height of button next to large input\n  .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n.btn-sm {\n  // line-height: ensure proper height of button next to small input\n  .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n.btn-xs {\n  .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n  &.btn-block {\n    width: 100%;\n  }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n  color: @color;\n  background-color: @background;\n  border-color: @border;\n\n  &:focus,\n  &.focus {\n    color: @color;\n    background-color: darken(@background, 10%);\n        border-color: darken(@border, 25%);\n  }\n  &:hover {\n    color: @color;\n    background-color: darken(@background, 10%);\n        border-color: darken(@border, 12%);\n  }\n  &:active,\n  &.active,\n  .open > .dropdown-toggle& {\n    color: @color;\n    background-color: darken(@background, 10%);\n        border-color: darken(@border, 12%);\n\n    &:hover,\n    &:focus,\n    &.focus {\n      color: @color;\n      background-color: darken(@background, 17%);\n          border-color: darken(@border, 25%);\n    }\n  }\n  &:active,\n  &.active,\n  .open > .dropdown-toggle& {\n    background-image: none;\n  }\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    &,\n    &:hover,\n    &:focus,\n    &.focus,\n    &:active,\n    &.active {\n      background-color: @background;\n          border-color: @border;\n    }\n  }\n\n  .badge {\n    color: @background;\n    background-color: @color;\n  }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  padding: @padding-vertical @padding-horizontal;\n  font-size: @font-size;\n  line-height: @line-height;\n  border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n  opacity: @opacity;\n  // IE8 filter\n  @opacity-ie: (@opacity * 100);\n  filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n  opacity: 0;\n  .transition(opacity .15s linear);\n  &.in {\n    opacity: 1;\n  }\n}\n\n.collapse {\n  display: none;\n\n  &.in      { display: block; }\n  tr&.in    { display: table-row; }\n  tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  .transition-property(~\"height, visibility\");\n  .transition-duration(.35s);\n  .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top:   @caret-width-base dashed;\n  border-right: @caret-width-base solid transparent;\n  border-left:  @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n  outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: @zindex-dropdown;\n  display: none; // none by default, but block on \"open\" of the menu\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0; // override default ul\n  list-style: none;\n  font-size: @font-size-base;\n  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n  background-color: @dropdown-bg;\n  border: 1px solid @dropdown-fallback-border; // IE8 fallback\n  border: 1px solid @dropdown-border;\n  border-radius: @border-radius-base;\n  .box-shadow(0 6px 12px rgba(0,0,0,.175));\n  background-clip: padding-box;\n\n  // Aligns the dropdown menu to right\n  //\n  // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n  &.pull-right {\n    right: 0;\n    left: auto;\n  }\n\n  // Dividers (basically an hr) within the dropdown\n  .divider {\n    .nav-divider(@dropdown-divider-bg);\n  }\n\n  // Links within the dropdown menu\n  > li > a {\n    display: block;\n    padding: 3px 20px;\n    clear: both;\n    font-weight: normal;\n    line-height: @line-height-base;\n    color: @dropdown-link-color;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n  }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    color: @dropdown-link-hover-color;\n    background-color: @dropdown-link-hover-bg;\n  }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-active-color;\n    text-decoration: none;\n    outline: 0;\n    background-color: @dropdown-link-active-bg;\n  }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-disabled-color;\n  }\n\n  // Nuke hover/focus effects\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    background-color: transparent;\n    background-image: none; // Remove CSS gradient\n    .reset-filter();\n    cursor: @cursor-disabled;\n  }\n}\n\n// Open state for the dropdown\n.open {\n  // Show the menu\n  > .dropdown-menu {\n    display: block;\n  }\n\n  // Remove the outline when :focus is triggered\n  > a {\n    outline: 0;\n  }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n  left: auto; // Reset the default from `.dropdown-menu`\n  right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: @font-size-small;\n  line-height: @line-height-base;\n  color: @dropdown-header-color;\n  white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n  // Reverse the caret\n  .caret {\n    border-top: 0;\n    border-bottom: @caret-width-base solid;\n    content: \"\";\n  }\n  // Different positioning for bottom up menu\n  .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n    margin-bottom: 2px;\n  }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-right {\n    .dropdown-menu {\n      .dropdown-menu-right();\n    }\n    // Necessary for overrides of the default right aligned menu.\n    // Will remove come v4 in all likelihood.\n    .dropdown-menu-left {\n      .dropdown-menu-left();\n    }\n  }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n  height: 1px;\n  margin: ((@line-height-computed / 2) - 1) 0;\n  overflow: hidden;\n  background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n  filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle; // match .btn alignment given font-size hack above\n  > .btn {\n    position: relative;\n    float: left;\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active,\n    &.active {\n      z-index: 2;\n    }\n  }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n  .btn + .btn,\n  .btn + .btn-group,\n  .btn-group + .btn,\n  .btn-group + .btn-group {\n    margin-left: -1px;\n  }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n  margin-left: -5px; // Offset the first child's margin\n  &:extend(.clearfix all);\n\n  .btn,\n  .btn-group,\n  .input-group {\n    float: left;\n  }\n  > .btn,\n  > .btn-group,\n  > .input-group {\n    margin-left: 5px;\n  }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n  margin-left: 0;\n  &:not(:last-child):not(.dropdown-toggle) {\n    .border-right-radius(0);\n  }\n}\n// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-right-radius(0);\n  }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n  .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n  // Show no shadow for `.btn-link` since it has no other button styles.\n  &.btn-link {\n    .box-shadow(none);\n  }\n}\n\n\n// Reposition the caret\n.btn .caret {\n  margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n  border-width: @caret-width-large @caret-width-large 0;\n  border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n  border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n  > .btn,\n  > .btn-group,\n  > .btn-group > .btn {\n    display: block;\n    float: none;\n    width: 100%;\n    max-width: 100%;\n  }\n\n  // Clear floats so dropdown menus can be properly placed\n  > .btn-group {\n    &:extend(.clearfix all);\n    > .btn {\n      float: none;\n    }\n  }\n\n  > .btn + .btn,\n  > .btn + .btn-group,\n  > .btn-group + .btn,\n  > .btn-group + .btn-group {\n    margin-top: -1px;\n    margin-left: 0;\n  }\n}\n\n.btn-group-vertical > .btn {\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n  &:first-child:not(:last-child) {\n    border-top-right-radius: @border-radius-base;\n    .border-bottom-radius(0);\n  }\n  &:last-child:not(:first-child) {\n    border-bottom-left-radius: @border-radius-base;\n    .border-top-radius(0);\n  }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-bottom-radius(0);\n  }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n  > .btn,\n  > .btn-group {\n    float: none;\n    display: table-cell;\n    width: 1%;\n  }\n  > .btn-group .btn {\n    width: 100%;\n  }\n\n  > .btn-group .dropdown-menu {\n    left: auto;\n  }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n  > .btn,\n  > .btn-group > .btn {\n    input[type=\"radio\"],\n    input[type=\"checkbox\"] {\n      position: absolute;\n      clip: rect(0,0,0,0);\n      pointer-events: none;\n    }\n  }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n  border-top-right-radius: @radius;\n   border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n  border-bottom-right-radius: @radius;\n     border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n  border-bottom-right-radius: @radius;\n   border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n  border-bottom-left-radius: @radius;\n     border-top-left-radius: @radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n  position: relative; // For dropdowns\n  display: table;\n  border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n  // Undo padding and float of grid classes\n  &[class*=\"col-\"] {\n    float: none;\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n  .form-control {\n    // Ensure that the input is always above the *appended* addon button for\n    // proper border colors.\n    position: relative;\n    z-index: 2;\n\n    // IE9 fubars the placeholder attribute in text inputs and the arrows on\n    // select elements in input groups. To fix it, we float the input. Details:\n    // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n    float: left;\n\n    width: 100%;\n    margin-bottom: 0;\n  }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  font-weight: normal;\n  line-height: 1;\n  color: @input-color;\n  text-align: center;\n  background-color: @input-group-addon-bg;\n  border: 1px solid @input-group-addon-border-color;\n  border-radius: @border-radius-base;\n\n  // Sizing\n  &.input-sm {\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    border-radius: @border-radius-small;\n  }\n  &.input-lg {\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    border-radius: @border-radius-large;\n  }\n\n  // Nuke default margins from checkboxes and radios to vertically center within.\n  input[type=\"radio\"],\n  input[type=\"checkbox\"] {\n    margin-top: 0;\n  }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  .border-right-radius(0);\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  .border-left-radius(0);\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n  position: relative;\n  // Jankily prevent input button groups from wrapping with `white-space` and\n  // `font-size` in combination with `inline-block` on buttons.\n  font-size: 0;\n  white-space: nowrap;\n\n  // Negative margin for spacing, position for bringing hovered/focused/actived\n  // element above the siblings.\n  > .btn {\n    position: relative;\n    + .btn {\n      margin-left: -1px;\n    }\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active {\n      z-index: 2;\n    }\n  }\n\n  // Negative margin to only have a 1px border between the two\n  &:first-child {\n    > .btn,\n    > .btn-group {\n      margin-right: -1px;\n    }\n  }\n  &:last-child {\n    > .btn,\n    > .btn-group {\n      z-index: 2;\n      margin-left: -1px;\n    }\n  }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n  margin-bottom: 0;\n  padding-left: 0; // Override default ul/ol\n  list-style: none;\n  &:extend(.clearfix all);\n\n  > li {\n    position: relative;\n    display: block;\n\n    > a {\n      position: relative;\n      display: block;\n      padding: @nav-link-padding;\n      &:hover,\n      &:focus {\n        text-decoration: none;\n        background-color: @nav-link-hover-bg;\n      }\n    }\n\n    // Disabled state sets text to gray and nukes hover/tab effects\n    &.disabled > a {\n      color: @nav-disabled-link-color;\n\n      &:hover,\n      &:focus {\n        color: @nav-disabled-link-hover-color;\n        text-decoration: none;\n        background-color: transparent;\n        cursor: @cursor-disabled;\n      }\n    }\n  }\n\n  // Open dropdowns\n  .open > a {\n    &,\n    &:hover,\n    &:focus {\n      background-color: @nav-link-hover-bg;\n      border-color: @link-color;\n    }\n  }\n\n  // Nav dividers (deprecated with v3.0.1)\n  //\n  // This should have been removed in v3 with the dropping of `.nav-list`, but\n  // we missed it. We don't currently support this anywhere, but in the interest\n  // of maintaining backward compatibility in case you use it, it's deprecated.\n  .nav-divider {\n    .nav-divider();\n  }\n\n  // Prevent IE8 from misplacing imgs\n  //\n  // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n  > li > a > img {\n    max-width: none;\n  }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n  border-bottom: 1px solid @nav-tabs-border-color;\n  > li {\n    float: left;\n    // Make the list-items overlay the bottom border\n    margin-bottom: -1px;\n\n    // Actual tabs (as links)\n    > a {\n      margin-right: 2px;\n      line-height: @line-height-base;\n      border: 1px solid transparent;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n      &:hover {\n        border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n      }\n    }\n\n    // Active state, and its :hover to override normal :hover\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-tabs-active-link-hover-color;\n        background-color: @nav-tabs-active-link-hover-bg;\n        border: 1px solid @nav-tabs-active-link-hover-border-color;\n        border-bottom-color: transparent;\n        cursor: default;\n      }\n    }\n  }\n  // pulling this in mainly for less shorthand\n  &.nav-justified {\n    .nav-justified();\n    .nav-tabs-justified();\n  }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n  > li {\n    float: left;\n\n    // Links rendered as pills\n    > a {\n      border-radius: @nav-pills-border-radius;\n    }\n    + li {\n      margin-left: 2px;\n    }\n\n    // Active state\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-pills-active-link-hover-color;\n        background-color: @nav-pills-active-link-hover-bg;\n      }\n    }\n  }\n}\n\n\n// Stacked pills\n.nav-stacked {\n  > li {\n    float: none;\n    + li {\n      margin-top: 2px;\n      margin-left: 0; // no need for this gap between nav items\n    }\n  }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n  width: 100%;\n\n  > li {\n    float: none;\n    > a {\n      text-align: center;\n      margin-bottom: 5px;\n    }\n  }\n\n  > .dropdown .dropdown-menu {\n    top: auto;\n    left: auto;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li {\n      display: table-cell;\n      width: 1%;\n      > a {\n        margin-bottom: 0;\n      }\n    }\n  }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n  border-bottom: 0;\n\n  > li > a {\n    // Override margin from .nav-tabs\n    margin-right: 0;\n    border-radius: @border-radius-base;\n  }\n\n  > .active > a,\n  > .active > a:hover,\n  > .active > a:focus {\n    border: 1px solid @nav-tabs-justified-link-border-color;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li > a {\n      border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n    }\n    > .active > a,\n    > .active > a:hover,\n    > .active > a:focus {\n      border-bottom-color: @nav-tabs-justified-active-link-border-color;\n    }\n  }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n  > .tab-pane {\n    display: none;\n  }\n  > .active {\n    display: block;\n  }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Make dropdown carets use link color in navs\n.nav .caret {\n  border-top-color: @brand-danger;\n  border-bottom-color: @brand-danger;\n}\n.nav a:hover .caret {\n  border-top-color: darken(@brand-danger, 10%);\n  border-bottom-color: darken(@brand-danger, 10%);\n}\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n  // make dropdown border overlap tab border\n  margin-top: -1px;\n  // Remove the top rounded corners here since there is a hard edge above the menu\n  .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n  position: relative;\n  min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n  margin-bottom: @navbar-margin-bottom;\n  border: 1px solid transparent;\n\n  // Prevent floats from breaking the navbar\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: @navbar-border-radius;\n  }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n  }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: @navbar-padding-horizontal;\n  padding-left:  @navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n  &:extend(.clearfix all);\n  -webkit-overflow-scrolling: touch;\n\n  &.in {\n    overflow-y: auto;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n\n    &.collapse {\n      display: block !important;\n      height: auto !important;\n      padding-bottom: 0; // Override default setting\n      overflow: visible !important;\n    }\n\n    &.in {\n      overflow-y: visible;\n    }\n\n    // Undo the collapse side padding for navbars with containers to ensure\n    // alignment of right-aligned contents.\n    .navbar-fixed-top &,\n    .navbar-static-top &,\n    .navbar-fixed-bottom & {\n      padding-left: 0;\n      padding-right: 0;\n    }\n  }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  .navbar-collapse {\n    max-height: @navbar-collapse-max-height;\n\n    @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n      max-height: 200px;\n    }\n  }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n  > .navbar-header,\n  > .navbar-collapse {\n    margin-right: -@navbar-padding-horizontal;\n    margin-left:  -@navbar-padding-horizontal;\n\n    @media (min-width: @grid-float-breakpoint) {\n      margin-right: 0;\n      margin-left:  0;\n    }\n  }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n  z-index: @zindex-navbar;\n  border-width: 0 0 1px;\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: @zindex-navbar-fixed;\n\n  // Undo the rounded corners\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0; // override .navbar defaults\n  border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n  float: left;\n  padding: @navbar-padding-vertical @navbar-padding-horizontal;\n  font-size: @font-size-large;\n  line-height: @line-height-computed;\n  height: @navbar-height;\n  font-family: @font-family-brand;\n  font-weight: bold;\n\n  &:hover,\n  &:focus {\n    text-decoration: none;\n  }\n\n  > img {\n    display: block;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    .navbar > .container &,\n    .navbar > .container-fluid & {\n      margin-left: -@navbar-padding-horizontal;\n    }\n  }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: @navbar-padding-horizontal;\n  padding: 9px 10px;\n  .navbar-vertical-align(34px);\n  background-color: transparent;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  border-radius: @border-radius-base;\n\n  // We remove the `outline` here, but later compensate by attaching `:hover`\n  // styles to `:focus`.\n  &:focus {\n    outline: 0;\n  }\n\n  // Bars\n  .icon-bar {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 1px;\n  }\n  .icon-bar + .icon-bar {\n    margin-top: 4px;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    display: none;\n  }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n  margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n  > li > a {\n    padding-top:    10px;\n    padding-bottom: 10px;\n    line-height: @line-height-computed;\n  }\n\n  @media (max-width: @grid-float-breakpoint-max) {\n    // Dropdowns get custom display when collapsed\n    .open .dropdown-menu {\n      position: static;\n      float: none;\n      width: auto;\n      margin-top: 0;\n      background-color: transparent;\n      border: 0;\n      box-shadow: none;\n      > li > a,\n      .dropdown-header {\n        padding: 5px 15px 5px 25px;\n      }\n      > li > a {\n        line-height: @line-height-computed;\n        &:hover,\n        &:focus {\n          background-image: none;\n        }\n      }\n    }\n  }\n\n  // Uncollapse the nav\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin: 0;\n\n    > li {\n      float: left;\n      > a {\n        padding-top:    @navbar-padding-vertical;\n        padding-bottom: @navbar-padding-vertical;\n      }\n    }\n  }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n  margin-left: -@navbar-padding-horizontal;\n  margin-right: -@navbar-padding-horizontal;\n  padding: 10px @navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n  .box-shadow(@shadow);\n\n  // Mixin behavior for optimum display\n  .form-inline();\n\n  .form-group {\n    @media (max-width: @grid-float-breakpoint-max) {\n      margin-bottom: 5px;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n  }\n\n  // Vertically center in expanded, horizontal navbar\n  .navbar-vertical-align(@input-height-base);\n\n  // Undo 100% width for pull classes\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    .box-shadow(none);\n  }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  .border-top-radius(@navbar-border-radius);\n  .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n  .navbar-vertical-align(@input-height-base);\n\n  &.btn-sm {\n    .navbar-vertical-align(@input-height-small);\n  }\n  &.btn-xs {\n    .navbar-vertical-align(22);\n  }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n  .navbar-vertical-align(@line-height-computed);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin-left: @navbar-padding-horizontal;\n    margin-right: @navbar-padding-horizontal;\n  }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-left  { .pull-left(); }\n  .navbar-right {\n    .pull-right();\n    margin-right: -@navbar-padding-horizontal;\n\n    ~ .navbar-right {\n      margin-right: 0;\n    }\n  }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n  background-color: @navbar-default-bg;\n  border-color: @navbar-default-border;\n\n  .navbar-brand {\n    color: @navbar-default-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-brand-hover-color;\n      background-color: @navbar-default-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-default-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-default-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-hover-color;\n        background-color: @navbar-default-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-active-color;\n        background-color: @navbar-default-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n        background-color: @navbar-default-link-disabled-bg;\n      }\n    }\n  }\n\n  .navbar-toggle {\n    border-color: @navbar-default-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-default-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-default-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: @navbar-default-border;\n  }\n\n  // Dropdown menu items\n  .navbar-nav {\n    // Remove background color from open dropdown\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        background-color: @navbar-default-link-active-bg;\n        color: @navbar-default-link-active-color;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display when collapsed\n      .open .dropdown-menu {\n        > li > a {\n          color: @navbar-default-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-hover-color;\n            background-color: @navbar-default-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-active-color;\n            background-color: @navbar-default-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-disabled-color;\n            background-color: @navbar-default-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n\n  // Links in navbars\n  //\n  // Add a class to ensure links outside the navbar nav are colored correctly.\n\n  .navbar-link {\n    color: @navbar-default-link-color;\n    &:hover {\n      color: @navbar-default-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: @navbar-default-link-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n      }\n    }\n  }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n  background-color: @navbar-inverse-bg;\n  border-color: @navbar-inverse-border;\n\n  .navbar-brand {\n    color: @navbar-inverse-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-brand-hover-color;\n      background-color: @navbar-inverse-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-inverse-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-inverse-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-hover-color;\n        background-color: @navbar-inverse-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-active-color;\n        background-color: @navbar-inverse-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n        background-color: @navbar-inverse-link-disabled-bg;\n      }\n    }\n  }\n\n  // Darken the responsive nav toggle\n  .navbar-toggle {\n    border-color: @navbar-inverse-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-inverse-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-inverse-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: darken(@navbar-inverse-bg, 7%);\n  }\n\n  // Dropdowns\n  .navbar-nav {\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        background-color: @navbar-inverse-link-active-bg;\n        color: @navbar-inverse-link-active-color;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display\n      .open .dropdown-menu {\n        > .dropdown-header {\n          border-color: @navbar-inverse-border;\n        }\n        .divider {\n          background-color: @navbar-inverse-border;\n        }\n        > li > a {\n          color: @navbar-inverse-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-hover-color;\n            background-color: @navbar-inverse-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-active-color;\n            background-color: @navbar-inverse-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-disabled-color;\n            background-color: @navbar-inverse-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n  .navbar-link {\n    color: @navbar-inverse-link-color;\n    &:hover {\n      color: @navbar-inverse-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: @navbar-inverse-link-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n      }\n    }\n  }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n  margin-top: ((@navbar-height - @element-height) / 2);\n  margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n  .clearfix();\n}\n.center-block {\n  .center-block();\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n  display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n  position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n  padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n  margin-bottom: @line-height-computed;\n  list-style: none;\n  background-color: @breadcrumb-bg;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline-block;\n\n    + li:before {\n      content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n      padding: 0 5px;\n      color: @breadcrumb-color;\n    }\n  }\n\n  > .active {\n    color: @breadcrumb-active-color;\n  }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline; // Remove list-style and block-level defaults\n    > a,\n    > span {\n      position: relative;\n      float: left; // Collapse white-space\n      padding: @padding-base-vertical @padding-base-horizontal;\n      line-height: @line-height-base;\n      text-decoration: none;\n      color: @pagination-color;\n      background-color: @pagination-bg;\n      border: 1px solid @pagination-border;\n      margin-left: -1px;\n    }\n    &:first-child {\n      > a,\n      > span {\n        margin-left: 0;\n        .border-left-radius(@border-radius-base);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius-base);\n      }\n    }\n  }\n\n  > li > a,\n  > li > span {\n    &:hover,\n    &:focus {\n      z-index: 3;\n      color: @pagination-hover-color;\n      background-color: @pagination-hover-bg;\n      border-color: @pagination-hover-border;\n    }\n  }\n\n  > .active > a,\n  > .active > span {\n    &,\n    &:hover,\n    &:focus {\n      z-index: 2;\n      color: @pagination-active-color;\n      background-color: @pagination-active-bg;\n      border-color: @pagination-active-border;\n      cursor: default;\n    }\n  }\n\n  > .disabled {\n    > span,\n    > span:hover,\n    > span:focus,\n    > a,\n    > a:hover,\n    > a:focus {\n      color: @pagination-disabled-color;\n      background-color: @pagination-disabled-bg;\n      border-color: @pagination-disabled-border;\n      cursor: @cursor-disabled;\n    }\n  }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n  .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n  .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) {\n  > li {\n    > a,\n    > span {\n      padding: @padding-vertical @padding-horizontal;\n      font-size: @font-size;\n    }\n    &:first-child {\n      > a,\n      > span {\n        .border-left-radius(@border-radius);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius);\n      }\n    }\n  }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  list-style: none;\n  text-align: center;\n  &:extend(.clearfix all);\n  li {\n    display: inline;\n    > a,\n    > span {\n      display: inline-block;\n      padding: 5px 14px;\n      background-color: @pager-bg;\n      border: 1px solid @pager-border;\n      border-radius: @pager-border-radius;\n    }\n\n    > a:hover,\n    > a:focus {\n      text-decoration: none;\n      background-color: @pager-hover-bg;\n    }\n  }\n\n  .next {\n    > a,\n    > span {\n      float: right;\n    }\n  }\n\n  .previous {\n    > a,\n    > span {\n      float: left;\n    }\n  }\n\n  .disabled {\n    > a,\n    > a:hover,\n    > a:focus,\n    > span {\n      color: @pager-disabled-color;\n      background-color: @pager-bg;\n      cursor: @cursor-disabled;\n    }\n  }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: @label-color;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n\n  // Add hover effects, but only for links\n  a& {\n    &:hover,\n    &:focus {\n      color: @label-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Empty labels collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for labels in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n  .label-variant(@label-default-bg);\n}\n\n.label-primary {\n  .label-variant(@label-primary-bg);\n}\n\n.label-success {\n  .label-variant(@label-success-bg);\n}\n\n.label-info {\n  .label-variant(@label-info-bg);\n}\n\n.label-warning {\n  .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n  .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n  background-color: @color;\n\n  &[href] {\n    &:hover,\n    &:focus {\n      background-color: darken(@color, 10%);\n    }\n  }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: @font-size-small;\n  font-weight: @badge-font-weight;\n  color: @badge-color;\n  line-height: @badge-line-height;\n  vertical-align: baseline;\n  white-space: nowrap;\n  text-align: center;\n  background-color: @badge-bg;\n  border-radius: @badge-border-radius;\n\n  // Empty badges collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for badges in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n\n  .btn-xs &,\n  .btn-group-xs > .btn & {\n    top: 0;\n    padding: 1px 5px;\n  }\n\n  // Hover state, but only for links\n  a& {\n    &:hover,\n    &:focus {\n      color: @badge-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Account for badges in navs\n  .list-group-item.active > &,\n  .nav-pills > .active > a > & {\n    color: @badge-active-color;\n    background-color: @badge-active-bg;\n  }\n\n  .list-group-item > & {\n    float: right;\n  }\n\n  .list-group-item > & + & {\n    margin-right: 5px;\n  }\n\n  .nav-pills > li > a > & {\n    margin-left: 3px;\n  }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n  padding: @jumbotron-padding (@jumbotron-padding / 2);\n  margin-bottom: @jumbotron-padding;\n  color: @jumbotron-color;\n  background-color: @jumbotron-bg;\n\n  h1,\n  .h1 {\n    color: @jumbotron-heading-color;\n  }\n\n  p {\n    margin-bottom: (@jumbotron-padding / 2);\n    font-size: @jumbotron-font-size;\n    font-weight: 200;\n  }\n\n  > hr {\n    border-top-color: darken(@jumbotron-bg, 10%);\n  }\n\n  .container &,\n  .container-fluid & {\n    border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n  }\n\n  .container {\n    max-width: 100%;\n  }\n\n  @media screen and (min-width: @screen-sm-min) {\n    padding: (@jumbotron-padding * 1.6) 0;\n\n    .container &,\n    .container-fluid & {\n      padding-left:  (@jumbotron-padding * 2);\n      padding-right: (@jumbotron-padding * 2);\n    }\n\n    h1,\n    .h1 {\n      font-size: @jumbotron-heading-font-size;\n    }\n  }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n  display: block;\n  padding: @thumbnail-padding;\n  margin-bottom: @line-height-computed;\n  line-height: @line-height-base;\n  background-color: @thumbnail-bg;\n  border: 1px solid @thumbnail-border;\n  border-radius: @thumbnail-border-radius;\n  .transition(border .2s ease-in-out);\n\n  > img,\n  a > img {\n    &:extend(.img-responsive);\n    margin-left: auto;\n    margin-right: auto;\n  }\n\n  // Add a hover state for linked versions only\n  a&:hover,\n  a&:focus,\n  a&.active {\n    border-color: @link-color;\n  }\n\n  // Image captions\n  .caption {\n    padding: @thumbnail-caption-padding;\n    color: @thumbnail-caption-color;\n  }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n  padding: @alert-padding;\n  margin-bottom: @line-height-computed;\n  border: 1px solid transparent;\n  border-radius: @alert-border-radius;\n\n  // Headings for larger alerts\n  h4 {\n    margin-top: 0;\n    // Specified for the h4 to prevent conflicts of changing @headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: @alert-link-font-weight;\n  }\n\n  // Improve alignment and spacing of inner content\n  > p,\n  > ul {\n    margin-bottom: 0;\n  }\n\n  > p + p {\n    margin-top: 5px;\n  }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n  padding-right: (@alert-padding + 20);\n\n  // Adjust close link position\n  .close {\n    position: relative;\n    top: -2px;\n    right: -21px;\n    color: inherit;\n  }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n  .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n  .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n  .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n  .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n  background-color: @background;\n  border-color: @border;\n  color: @text-color;\n\n  hr {\n    border-top-color: darken(@border, 5%);\n  }\n  .alert-link {\n    color: darken(@text-color, 10%);\n  }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n  overflow: hidden;\n  height: @line-height-computed;\n  margin-bottom: @line-height-computed;\n  background-color: @progress-bg;\n  border-radius: @progress-border-radius;\n  .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: @font-size-small;\n  line-height: @line-height-computed;\n  color: @progress-bar-color;\n  text-align: center;\n  background-color: @progress-bar-bg;\n  .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n  .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  #gradient > .striped();\n  background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n  .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n  .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n  .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n  .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n  .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Gradients\n\n#gradient {\n\n  // Horizontal gradient, from left to right\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n    background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  // Vertical gradient, from top to bottom\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12\n    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n    background-repeat: repeat-x;\n    background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n    background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n  }\n  .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .radial(@inner-color: #555; @outer-color: #333) {\n    background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n    background-image: radial-gradient(circle, @inner-color, @outer-color);\n    background-repeat: no-repeat;\n  }\n  .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n    background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n  }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n  background-color: @color;\n\n  // Deprecated parent class requirement as of v3.2.0\n  .progress-striped & {\n    #gradient > .striped();\n  }\n}\n",".media {\n  // Proper spacing between instances of .media\n  margin-top: 15px;\n\n  &:first-child {\n    margin-top: 0;\n  }\n}\n\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n\n.media-body {\n  width: 10000px;\n}\n\n.media-object {\n  display: block;\n}\n\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n\n.media-middle {\n  vertical-align: middle;\n}\n\n.media-bottom {\n  vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n  // No need to set list-style: none; since .list-group-item is block level\n  margin-bottom: 20px;\n  padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  // Place the border on the list items and negative margin up for better styling\n  margin-bottom: -1px;\n  background-color: @list-group-bg;\n  border: 1px solid @list-group-border;\n\n  // Round the first and last items\n  &:first-child {\n    .border-top-radius(@list-group-border-radius);\n  }\n  &:last-child {\n    margin-bottom: 0;\n    .border-bottom-radius(@list-group-border-radius);\n  }\n}\n\n\n// Linked list items\n//\n// Use anchor elements instead of `li`s or `div`s to create linked list items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item {\n  color: @list-group-link-color;\n\n  .list-group-item-heading {\n    color: @list-group-link-heading-color;\n  }\n\n  // Hover state\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    color: @list-group-link-hover-color;\n    background-color: @list-group-hover-bg;\n  }\n}\n\n.list-group-item {\n  // Disabled state\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:focus {\n    background-color: @list-group-disabled-bg;\n    color: @list-group-disabled-color;\n    cursor: @cursor-disabled;\n\n    // Force color to inherit for custom content\n    .list-group-item-heading {\n      color: inherit;\n    }\n    .list-group-item-text {\n      color: @list-group-disabled-text-color;\n    }\n  }\n\n  // Active class on item itself, not parent\n  &.active,\n  &.active:hover,\n  &.active:focus {\n    z-index: 2; // Place active items above their siblings for proper border styling\n    color: @list-group-active-color;\n    background-color: @list-group-active-bg;\n    border-color: @list-group-active-border;\n\n    // Force color to inherit for custom content\n    .list-group-item-heading,\n    .list-group-item-heading > small,\n    .list-group-item-heading > .small {\n      color: inherit;\n    }\n    .list-group-item-text {\n      color: @list-group-active-text-color;\n    }\n  }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n  .list-group-item-@{state} {\n    color: @color;\n    background-color: @background;\n\n    a& {\n      color: @color;\n\n      .list-group-item-heading {\n        color: inherit;\n      }\n\n      &:hover,\n      &:focus {\n        color: @color;\n        background-color: darken(@background, 5%);\n      }\n      &.active,\n      &.active:hover,\n      &.active:focus {\n        color: #fff;\n        background-color: @color;\n        border-color: @color;\n      }\n    }\n  }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n  margin-bottom: @line-height-computed;\n  background-color: @panel-bg;\n  border: 1px solid transparent;\n  border-radius: @panel-border-radius;\n  .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n  padding: @panel-body-padding;\n  &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n  padding: @panel-heading-padding;\n  border-bottom: 1px solid transparent;\n  .border-top-radius((@panel-border-radius - 1));\n\n  > .dropdown .dropdown-toggle {\n    color: inherit;\n  }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: ceil((@font-size-base * 1.125));\n  color: inherit;\n\n  > a,\n  > small,\n  > .small,\n  > small > a,\n  > .small > a {\n    color: inherit;\n  }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n  padding: @panel-footer-padding;\n  background-color: @panel-footer-bg;\n  border-top: 1px solid @panel-inner-border;\n  .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n  > .list-group,\n  > .panel-collapse > .list-group {\n    margin-bottom: 0;\n\n    .list-group-item {\n      border-width: 1px 0;\n      border-radius: 0;\n    }\n\n    // Add border top radius for first one\n    &:first-child {\n      .list-group-item:first-child {\n        border-top: 0;\n        .border-top-radius((@panel-border-radius - 1));\n      }\n    }\n\n    // Add border bottom radius for last one\n    &:last-child {\n      .list-group-item:last-child {\n        border-bottom: 0;\n        .border-bottom-radius((@panel-border-radius - 1));\n      }\n    }\n  }\n  > .panel-heading + .panel-collapse > .list-group {\n    .list-group-item:first-child {\n      .border-top-radius(0);\n    }\n  }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n  .list-group-item:first-child {\n    border-top-width: 0;\n  }\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n  > .table,\n  > .table-responsive > .table,\n  > .panel-collapse > .table {\n    margin-bottom: 0;\n\n    caption {\n      padding-left: @panel-body-padding;\n      padding-right: @panel-body-padding;\n    }\n  }\n  // Add border top radius for first one\n  > .table:first-child,\n  > .table-responsive:first-child > .table:first-child {\n    .border-top-radius((@panel-border-radius - 1));\n\n    > thead:first-child,\n    > tbody:first-child {\n      > tr:first-child {\n        border-top-left-radius: (@panel-border-radius - 1);\n        border-top-right-radius: (@panel-border-radius - 1);\n\n        td:first-child,\n        th:first-child {\n          border-top-left-radius: (@panel-border-radius - 1);\n        }\n        td:last-child,\n        th:last-child {\n          border-top-right-radius: (@panel-border-radius - 1);\n        }\n      }\n    }\n  }\n  // Add border bottom radius for last one\n  > .table:last-child,\n  > .table-responsive:last-child > .table:last-child {\n    .border-bottom-radius((@panel-border-radius - 1));\n\n    > tbody:last-child,\n    > tfoot:last-child {\n      > tr:last-child {\n        border-bottom-left-radius: (@panel-border-radius - 1);\n        border-bottom-right-radius: (@panel-border-radius - 1);\n\n        td:first-child,\n        th:first-child {\n          border-bottom-left-radius: (@panel-border-radius - 1);\n        }\n        td:last-child,\n        th:last-child {\n          border-bottom-right-radius: (@panel-border-radius - 1);\n        }\n      }\n    }\n  }\n  > .panel-body + .table,\n  > .panel-body + .table-responsive,\n  > .table + .panel-body,\n  > .table-responsive + .panel-body {\n    border-top: 1px solid @table-border-color;\n  }\n  > .table > tbody:first-child > tr:first-child th,\n  > .table > tbody:first-child > tr:first-child td {\n    border-top: 0;\n  }\n  > .table-bordered,\n  > .table-responsive > .table-bordered {\n    border: 0;\n    > thead,\n    > tbody,\n    > tfoot {\n      > tr {\n        > th:first-child,\n        > td:first-child {\n          border-left: 0;\n        }\n        > th:last-child,\n        > td:last-child {\n          border-right: 0;\n        }\n      }\n    }\n    > thead,\n    > tbody {\n      > tr:first-child {\n        > td,\n        > th {\n          border-bottom: 0;\n        }\n      }\n    }\n    > tbody,\n    > tfoot {\n      > tr:last-child {\n        > td,\n        > th {\n          border-bottom: 0;\n        }\n      }\n    }\n  }\n  > .table-responsive {\n    border: 0;\n    margin-bottom: 0;\n  }\n}\n\n\n// Collapsable panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n  margin-bottom: @line-height-computed;\n\n  // Tighten up margin so it's only between panels\n  .panel {\n    margin-bottom: 0;\n    border-radius: @panel-border-radius;\n\n    + .panel {\n      margin-top: 5px;\n    }\n  }\n\n  .panel-heading {\n    border-bottom: 0;\n\n    + .panel-collapse > .panel-body,\n    + .panel-collapse > .list-group {\n      border-top: 1px solid @panel-inner-border;\n    }\n  }\n\n  .panel-footer {\n    border-top: 0;\n    + .panel-collapse .panel-body {\n      border-bottom: 1px solid @panel-inner-border;\n    }\n  }\n}\n\n\n// Contextual variations\n.panel-default {\n  .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n  .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n  .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n  .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n  .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n  .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n  border-color: @border;\n\n  & > .panel-heading {\n    color: @heading-text-color;\n    background-color: @heading-bg-color;\n    border-color: @heading-border;\n\n    + .panel-collapse > .panel-body {\n      border-top-color: @border;\n    }\n    .badge {\n      color: @heading-bg-color;\n      background-color: @heading-text-color;\n    }\n  }\n  & > .panel-footer {\n    + .panel-collapse > .panel-body {\n      border-bottom-color: @border;\n    }\n  }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n\n  .embed-responsive-item,\n  iframe,\n  embed,\n  object,\n  video {\n    position: absolute;\n    top: 0;\n    left: 0;\n    bottom: 0;\n    height: 100%;\n    width: 100%;\n    border: 0;\n  }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: @well-bg;\n  border: 1px solid @well-border;\n  border-radius: @border-radius-base;\n  .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n  blockquote {\n    border-color: #ddd;\n    border-color: rgba(0,0,0,.15);\n  }\n}\n\n// Sizes\n.well-lg {\n  padding: 24px;\n  border-radius: @border-radius-large;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n  float: right;\n  font-size: (@font-size-base * 1.5);\n  font-weight: @close-font-weight;\n  line-height: 1;\n  color: @close-color;\n  text-shadow: @close-text-shadow;\n  .opacity(.2);\n\n  &:hover,\n  &:focus {\n    color: @close-color;\n    text-decoration: none;\n    cursor: pointer;\n    .opacity(.5);\n  }\n\n  // Additional properties for button version\n  // iOS requires the button element instead of an anchor tag.\n  // If you want the anchor version, it requires `href=\"#\"`.\n  // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n  button& {\n    padding: 0;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    -webkit-appearance: none;\n  }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open      - body class for killing the scroll\n// .modal           - container to scroll within\n// .modal-dialog    - positioning shell for the actual modal\n// .modal-content   - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n  overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n  display: none;\n  overflow: hidden;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: @zindex-modal;\n  -webkit-overflow-scrolling: touch;\n\n  // Prevent Chrome on Windows from adding a focus outline. For details, see\n  // https://github.com/twbs/bootstrap/pull/10951.\n  outline: 0;\n\n  // When fading in the modal, animate it to slide down\n  &.fade .modal-dialog {\n    .translate(0, -25%);\n    .transition-transform(~\"0.3s ease-out\");\n  }\n  &.in .modal-dialog { .translate(0, 0) }\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n  position: relative;\n  background-color: @modal-content-bg;\n  border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n  border: 1px solid @modal-content-border-color;\n  border-radius: @border-radius-large;\n  .box-shadow(0 3px 9px rgba(0,0,0,.5));\n  background-clip: padding-box;\n  // Remove focus outline from opened modal\n  outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: @zindex-modal-background;\n  background-color: @modal-backdrop-bg;\n  // Fade for backdrop\n  &.fade { .opacity(0); }\n  &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n  padding: @modal-title-padding;\n  border-bottom: 1px solid @modal-header-border-color;\n  min-height: (@modal-title-padding + @modal-title-line-height);\n}\n// Close icon\n.modal-header .close {\n  margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n  margin: 0;\n  line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n  position: relative;\n  padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n  padding: @modal-inner-padding;\n  text-align: right; // right align buttons\n  border-top: 1px solid @modal-footer-border-color;\n  &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n  // Properly space out buttons\n  .btn + .btn {\n    margin-left: 5px;\n    margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n  }\n  // but override that for button groups\n  .btn-group .btn + .btn {\n    margin-left: -1px;\n  }\n  // and override it for block buttons as well\n  .btn-block + .btn-block {\n    margin-left: 0;\n  }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n  // Automatically set modal's width for larger viewports\n  .modal-dialog {\n    width: @modal-md;\n    margin: 30px auto;\n  }\n  .modal-content {\n    .box-shadow(0 5px 15px rgba(0,0,0,.5));\n  }\n\n  // Modal sizes\n  .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n  .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n  position: absolute;\n  z-index: @zindex-tooltip;\n  display: block;\n  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n  // So reset our font and text properties to avoid inheriting weird values.\n  .reset-text();\n  font-size: @font-size-small;\n\n  .opacity(0);\n\n  &.in     { .opacity(@tooltip-opacity); }\n  &.top    { margin-top:  -3px; padding: @tooltip-arrow-width 0; }\n  &.right  { margin-left:  3px; padding: 0 @tooltip-arrow-width; }\n  &.bottom { margin-top:   3px; padding: @tooltip-arrow-width 0; }\n  &.left   { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n  max-width: @tooltip-max-width;\n  padding: 3px 8px;\n  color: @tooltip-color;\n  text-align: center;\n  background-color: @tooltip-bg;\n  border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n  &.top .tooltip-arrow {\n    bottom: 0;\n    left: 50%;\n    margin-left: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-top-color: @tooltip-arrow-color;\n  }\n  &.top-left .tooltip-arrow {\n    bottom: 0;\n    right: @tooltip-arrow-width;\n    margin-bottom: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-top-color: @tooltip-arrow-color;\n  }\n  &.top-right .tooltip-arrow {\n    bottom: 0;\n    left: @tooltip-arrow-width;\n    margin-bottom: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-top-color: @tooltip-arrow-color;\n  }\n  &.right .tooltip-arrow {\n    top: 50%;\n    left: 0;\n    margin-top: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-right-color: @tooltip-arrow-color;\n  }\n  &.left .tooltip-arrow {\n    top: 50%;\n    right: 0;\n    margin-top: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-left-color: @tooltip-arrow-color;\n  }\n  &.bottom .tooltip-arrow {\n    top: 0;\n    left: 50%;\n    margin-left: -@tooltip-arrow-width;\n    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-bottom-color: @tooltip-arrow-color;\n  }\n  &.bottom-left .tooltip-arrow {\n    top: 0;\n    right: @tooltip-arrow-width;\n    margin-top: -@tooltip-arrow-width;\n    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-bottom-color: @tooltip-arrow-color;\n  }\n  &.bottom-right .tooltip-arrow {\n    top: 0;\n    left: @tooltip-arrow-width;\n    margin-top: -@tooltip-arrow-width;\n    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-bottom-color: @tooltip-arrow-color;\n  }\n}\n",".reset-text() {\n  font-family: @font-family-base;\n  // We deliberately do NOT reset font-size.\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: @line-height-base;\n  text-align: left; // Fallback for where `start` is not supported\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: @zindex-popover;\n  display: none;\n  max-width: @popover-max-width;\n  padding: 1px;\n  // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n  // So reset our font and text properties to avoid inheriting weird values.\n  .reset-text();\n  font-size: @font-size-base;\n\n  background-color: @popover-bg;\n  background-clip: padding-box;\n  border: 1px solid @popover-fallback-border-color;\n  border: 1px solid @popover-border-color;\n  border-radius: @border-radius-large;\n  .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n  // Offset the popover to account for the popover arrow\n  &.top     { margin-top: -@popover-arrow-width; }\n  &.right   { margin-left: @popover-arrow-width; }\n  &.bottom  { margin-top: @popover-arrow-width; }\n  &.left    { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n  margin: 0; // reset heading margin\n  padding: 8px 14px;\n  font-size: @font-size-base;\n  background-color: @popover-title-bg;\n  border-bottom: 1px solid darken(@popover-title-bg, 5%);\n  border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n  padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n  &,\n  &:after {\n    position: absolute;\n    display: block;\n    width: 0;\n    height: 0;\n    border-color: transparent;\n    border-style: solid;\n  }\n}\n.popover > .arrow {\n  border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n  border-width: @popover-arrow-width;\n  content: \"\";\n}\n\n.popover {\n  &.top > .arrow {\n    left: 50%;\n    margin-left: -@popover-arrow-outer-width;\n    border-bottom-width: 0;\n    border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-top-color: @popover-arrow-outer-color;\n    bottom: -@popover-arrow-outer-width;\n    &:after {\n      content: \" \";\n      bottom: 1px;\n      margin-left: -@popover-arrow-width;\n      border-bottom-width: 0;\n      border-top-color: @popover-arrow-color;\n    }\n  }\n  &.right > .arrow {\n    top: 50%;\n    left: -@popover-arrow-outer-width;\n    margin-top: -@popover-arrow-outer-width;\n    border-left-width: 0;\n    border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-right-color: @popover-arrow-outer-color;\n    &:after {\n      content: \" \";\n      left: 1px;\n      bottom: -@popover-arrow-width;\n      border-left-width: 0;\n      border-right-color: @popover-arrow-color;\n    }\n  }\n  &.bottom > .arrow {\n    left: 50%;\n    margin-left: -@popover-arrow-outer-width;\n    border-top-width: 0;\n    border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-bottom-color: @popover-arrow-outer-color;\n    top: -@popover-arrow-outer-width;\n    &:after {\n      content: \" \";\n      top: 1px;\n      margin-left: -@popover-arrow-width;\n      border-top-width: 0;\n      border-bottom-color: @popover-arrow-color;\n    }\n  }\n\n  &.left > .arrow {\n    top: 50%;\n    right: -@popover-arrow-outer-width;\n    margin-top: -@popover-arrow-outer-width;\n    border-right-width: 0;\n    border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-left-color: @popover-arrow-outer-color;\n    &:after {\n      content: \" \";\n      right: 1px;\n      border-right-width: 0;\n      border-left-color: @popover-arrow-color;\n      bottom: -@popover-arrow-width;\n    }\n  }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n  position: relative;\n}\n\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n\n  > .item {\n    display: none;\n    position: relative;\n    .transition(.6s ease-in-out left);\n\n    // Account for jankitude on images\n    > img,\n    > a > img {\n      &:extend(.img-responsive);\n      line-height: 1;\n    }\n\n    // WebKit CSS3 transforms for supported devices\n    @media all and (transform-3d), (-webkit-transform-3d) {\n      .transition-transform(~'0.6s ease-in-out');\n      .backface-visibility(~'hidden');\n      .perspective(1000px);\n\n      &.next,\n      &.active.right {\n        .translate3d(100%, 0, 0);\n        left: 0;\n      }\n      &.prev,\n      &.active.left {\n        .translate3d(-100%, 0, 0);\n        left: 0;\n      }\n      &.next.left,\n      &.prev.right,\n      &.active {\n        .translate3d(0, 0, 0);\n        left: 0;\n      }\n    }\n  }\n\n  > .active,\n  > .next,\n  > .prev {\n    display: block;\n  }\n\n  > .active {\n    left: 0;\n  }\n\n  > .next,\n  > .prev {\n    position: absolute;\n    top: 0;\n    width: 100%;\n  }\n\n  > .next {\n    left: 100%;\n  }\n  > .prev {\n    left: -100%;\n  }\n  > .next.left,\n  > .prev.right {\n    left: 0;\n  }\n\n  > .active.left {\n    left: -100%;\n  }\n  > .active.right {\n    left: 100%;\n  }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: @carousel-control-width;\n  .opacity(@carousel-control-opacity);\n  font-size: @carousel-control-font-size;\n  color: @carousel-control-color;\n  text-align: center;\n  text-shadow: @carousel-text-shadow;\n  // We can't have this transition here because WebKit cancels the carousel\n  // animation if you trip this while in the middle of another animation.\n\n  // Set gradients for backgrounds\n  &.left {\n    #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n  }\n  &.right {\n    left: auto;\n    right: 0;\n    #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n  }\n\n  // Hover/focus state\n  &:hover,\n  &:focus {\n    outline: 0;\n    color: @carousel-control-color;\n    text-decoration: none;\n    .opacity(.9);\n  }\n\n  // Toggles\n  .icon-prev,\n  .icon-next,\n  .glyphicon-chevron-left,\n  .glyphicon-chevron-right {\n    position: absolute;\n    top: 50%;\n    z-index: 5;\n    display: inline-block;\n  }\n  .icon-prev,\n  .glyphicon-chevron-left {\n    left: 50%;\n    margin-left: -10px;\n  }\n  .icon-next,\n  .glyphicon-chevron-right {\n    right: 50%;\n    margin-right: -10px;\n  }\n  .icon-prev,\n  .icon-next {\n    width:  20px;\n    height: 20px;\n    margin-top: -10px;\n    line-height: 1;\n    font-family: serif;\n  }\n\n\n  .icon-prev {\n    &:before {\n      content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n    }\n  }\n  .icon-next {\n    &:before {\n      content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n    }\n  }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n\n  li {\n    display: inline-block;\n    width:  10px;\n    height: 10px;\n    margin: 1px;\n    text-indent: -999px;\n    border: 1px solid @carousel-indicator-border-color;\n    border-radius: 10px;\n    cursor: pointer;\n\n    // IE8-9 hack for event handling\n    //\n    // Internet Explorer 8-9 does not support clicks on elements without a set\n    // `background-color`. We cannot use `filter` since that's not viewed as a\n    // background color by the browser. Thus, a hack is needed.\n    // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n    //\n    // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n    // set alpha transparency for the best results possible.\n    background-color: #000 \\9; // IE8\n    background-color: rgba(0,0,0,0); // IE9\n  }\n  .active {\n    margin: 0;\n    width:  12px;\n    height: 12px;\n    background-color: @carousel-indicator-active-bg;\n  }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: @carousel-caption-color;\n  text-align: center;\n  text-shadow: @carousel-text-shadow;\n  & .btn {\n    text-shadow: none; // No shadow for button elements in carousel-caption\n  }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n  // Scale up the controls a smidge\n  .carousel-control {\n    .glyphicon-chevron-left,\n    .glyphicon-chevron-right,\n    .icon-prev,\n    .icon-next {\n      width: 30px;\n      height: 30px;\n      margin-top: -15px;\n      font-size: 30px;\n    }\n    .glyphicon-chevron-left,\n    .icon-prev {\n      margin-left: -15px;\n    }\n    .glyphicon-chevron-right,\n    .icon-next {\n      margin-right: -15px;\n    }\n  }\n\n  // Show and left align the captions\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n\n  // Move up the indicators\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n//    contenteditable attribute is included anywhere else in the document.\n//    Otherwise it causes space to appear at the top and bottom of elements\n//    that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n//    `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n  &:before,\n  &:after {\n    content: \" \"; // 1\n    display: table; // 2\n  }\n  &:after {\n    clear: both;\n  }\n}\n","// Center-align a block level element\n\n.center-block() {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n","// CSS image replacement\n//\n// Heads up! v3 launched with with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (will be removed in v4)\n.hide-text() {\n  font: ~\"0/0\" a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n  .hide-text();\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n  width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n\n.visible-xs {\n  @media (max-width: @screen-xs-max) {\n    .responsive-visibility();\n  }\n}\n.visible-xs-block {\n  @media (max-width: @screen-xs-max) {\n    display: block !important;\n  }\n}\n.visible-xs-inline {\n  @media (max-width: @screen-xs-max) {\n    display: inline !important;\n  }\n}\n.visible-xs-inline-block {\n  @media (max-width: @screen-xs-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-sm {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    .responsive-visibility();\n  }\n}\n.visible-sm-block {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: block !important;\n  }\n}\n.visible-sm-inline {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: inline !important;\n  }\n}\n.visible-sm-inline-block {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-md {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    .responsive-visibility();\n  }\n}\n.visible-md-block {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: block !important;\n  }\n}\n.visible-md-inline {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: inline !important;\n  }\n}\n.visible-md-inline-block {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-lg {\n  @media (min-width: @screen-lg-min) {\n    .responsive-visibility();\n  }\n}\n.visible-lg-block {\n  @media (min-width: @screen-lg-min) {\n    display: block !important;\n  }\n}\n.visible-lg-inline {\n  @media (min-width: @screen-lg-min) {\n    display: inline !important;\n  }\n}\n.visible-lg-inline-block {\n  @media (min-width: @screen-lg-min) {\n    display: inline-block !important;\n  }\n}\n\n.hidden-xs {\n  @media (max-width: @screen-xs-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-sm {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-md {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-lg {\n  @media (min-width: @screen-lg-min) {\n    .responsive-invisibility();\n  }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n  .responsive-invisibility();\n\n  @media print {\n    .responsive-visibility();\n  }\n}\n.visible-print-block {\n  display: none !important;\n\n  @media print {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n\n  @media print {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n\n  @media print {\n    display: inline-block !important;\n  }\n}\n\n.hidden-print {\n  @media print {\n    .responsive-invisibility();\n  }\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n  display: block !important;\n  table&  { display: table !important; }\n  tr&     { display: table-row !important; }\n  th&,\n  td&     { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n  display: none !important;\n}\n"]}
\ No newline at end of file
diff --git a/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap.min.css b/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap.min.css
new file mode 100644
index 0000000..be7e906
--- /dev/null
+++ b/hubs/static/bootstrap-3.3.4-fedora/css/bootstrap.min.css
@@ -0,0 +1,5 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}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{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;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-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:Cantarell,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:focus,a:hover{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;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}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;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}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#f8e4c7}.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}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:focus,a.text-primary:hover{color:#3071a9}.text-success{color:#3f7815}a.text-success:focus,a.text-success:hover{color:#284d0e}.text-info{color:#603e7a}a.text-info:focus,a.text-info:hover{color:#452d58}.text-warning{color:#7e500f}a.text-warning:focus,a.text-warning:hover{color:#51330a}.text-danger{color:#78153f}a.text-danger:focus,a.text-danger:hover{color:#4d0e28}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:focus,a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dcf6ca}a.bg-success:focus,a.bg-success:hover{background-color:#c0ee9e}.bg-info{background-color:#f6f2f8}a.bg-info:focus,a.bg-info:hover{background-color:#ddd0e7}.bg-warning{background-color:#f8e4c7}a.bg-warning:focus,a.bg-warning:hover{background-color:#f3ce9a}.bg-danger{background-color:#f6cadc}a.bg-danger:focus,a.bg-danger:hover{background-color:#ee9ec0}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small: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.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.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{position:relative;min-height:1px;padding-right:15px;padding-left: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-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-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{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-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{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-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-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.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.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.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 #ddd}.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{border:1px solid #ddd}.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 #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float: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:#f5f5f5}.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:#e8e8e8}.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:#dcf6ca}.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:#cef2b4}.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:#f6f2f8}.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:#e9e1f0}.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:#f8e4c7}.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:#f6d9b0}.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:#f6cadc}.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:#f2b4ce}.table-responsive{min-height:.01%;overflow-x:auto}@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 #ddd}.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{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-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:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{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[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[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-top:4px \9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}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}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}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-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}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.3333333;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.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-group-sm+.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:#3f7815}.has-success .form-control{border-color:#3f7815;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#284d0e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #6ccf24;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #6ccf24}.has-success .input-group-addon{color:#3f7815;background-color:#dcf6ca;border-color:#3f7815}.has-success .form-control-feedback{color:#3f7815}.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:#7e500f}.has-warning .form-control{border-color:#7e500f;-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:#51330a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d98a1a;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d98a1a}.has-warning .input-group-addon{color:#7e500f;background-color:#f8e4c7;border-color:#7e500f}.has-warning .form-control-feedback{color:#7e500f}.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:#78153f}.has-error .form-control{border-color:#78153f;-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:#4d0e28;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #cf246c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #cf246c}.has-error .input-group-addon{color:#78153f;background-color:#f6cadc;border-color:#78153f}.has-error .form-control-feedback{color:#78153f}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .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 .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.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 .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);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;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.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>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#3071a9;border-color:#193c5a}.btn-primary:hover{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.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>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#285e8e;border-color:#193c5a}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.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.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#79db32;border-color:#6ccf24}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#61b921;border-color:#346311}.btn-success:hover{color:#fff;background-color:#61b921;border-color:#519b1b}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#61b921;border-color:#519b1b}.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>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#519b1b;border-color:#346311}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.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.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#79db32;border-color:#6ccf24}.btn-success .badge{color:#79db32;background-color:#fff}.btn-info{color:#fff;background-color:#a07cbc;border-color:#946bb3}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#885aab;border-color:#533669}.btn-info:hover{color:#fff;background-color:#885aab;border-color:#754c95}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#885aab;border-color:#754c95}.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>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#754c95;border-color:#533669}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.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.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#a07cbc;border-color:#946bb3}.btn-info .badge{color:#a07cbc;background-color:#fff}.btn-warning{color:#fff;background-color:#e59728;border-color:#d98a1a}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#c27c18;border-color:#67420d}.btn-warning:hover{color:#fff;background-color:#c27c18;border-color:#a36814}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#c27c18;border-color:#a36814}.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>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#a36814;border-color:#67420d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.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.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#e59728;border-color:#d98a1a}.btn-warning .badge{color:#e59728;background-color:#fff}.btn-danger{color:#fff;background-color:#db3279;border-color:#cf246c}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#b92161;border-color:#631134}.btn-danger:hover{color:#fff;background-color:#b92161;border-color:#9b1b51}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#b92161;border-color:#9b1b51}.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>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#9b1b51;border-color:#631134}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.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.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#db3279;border-color:#cf246c}.btn-danger .badge{color:#db3279;background-color:#fff}.btn-link{font-weight:400;color:#428bca;border-radius:0}.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:#2a6496;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:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.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 .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:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.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 .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.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%}.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:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{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)>.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-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.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-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.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}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{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>.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){border-top-right-radius:0;border-bottom-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>.dropdown-toggle{border-top-left-radius:0;border-bottom-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{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-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{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav .caret{border-top-color:#db3279;border-bottom-color:#db3279}.nav a:hover .caret{border-top-color:#b92161;border-bottom-color:#b92161}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:35px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px)and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:35px;padding:7.5px 15px;font-family:Comfortaa,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;font-weight:700;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:.5px;margin-right:15px;margin-bottom:.5px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:3.75px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:7.5px;padding-bottom:7.5px}}.navbar-form{padding:10px 15px;margin-top:.5px;margin-right:-15px;margin-bottom:.5px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:.5px;margin-bottom:.5px}.navbar-btn.btn-sm{margin-top:2.5px;margin-bottom:2.5px}.navbar-btn.btn-xs{margin-top:6.5px;margin-bottom:6.5px}.navbar-text{margin-top:7.5px;margin-bottom:7.5px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#db3279;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#db3279;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#db3279;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#294172;border-color:#1c2c4c}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#1c2c4c}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#203258}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#1c2c4c}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#1c2c4c}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#1c2c4c}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#1c2c4c}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:3;color:#2a6496;background-color:#eee;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:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.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:#eee}.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:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#3071a9}.label-success{background-color:#79db32}.label-success[href]:focus,.label-success[href]:hover{background-color:#61b921}.label-info{background-color:#a07cbc}.label-info[href]:focus,.label-info[href]:hover{background-color:#885aab}.label-warning{background-color:#e59728}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#c27c18}.label-danger{background-color:#db3279}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#b92161}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;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}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3f7815;background-color:#dcf6ca;border-color:#d8f2b4}.alert-success hr{border-top-color:#cdee9e}.alert-success .alert-link{color:#284d0e}.alert-info{color:#603e7a;background-color:#f6f2f8;border-color:#e7e1f0}.alert-info hr{border-top-color:#d9d0e7}.alert-info .alert-link{color:#452d58}.alert-warning{color:#7e500f;background-color:#f8e4c7;border-color:#f6ceb0}.alert-warning hr{border-top-color:#f3bf9a}.alert-warning .alert-link{color:#51330a}.alert-danger{color:#78153f;background-color:#f6cadc;border-color:#f2b4d8}.alert-danger hr{border-top-color:#ee9ecd}.alert-danger .alert-link{color:#4d0e28}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#79db32}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#a07cbc}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#e59728}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#db3279}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.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}.media-middle{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{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.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:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.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: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: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{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:#e1edf7}.list-group-item-success{color:#3f7815;background-color:#dcf6ca}a.list-group-item-success{color:#3f7815}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3f7815;background-color:#cef2b4}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3f7815;border-color:#3f7815}.list-group-item-info{color:#603e7a;background-color:#f6f2f8}a.list-group-item-info{color:#603e7a}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#603e7a;background-color:#e9e1f0}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#603e7a;border-color:#603e7a}.list-group-item-warning{color:#7e500f;background-color:#f8e4c7}a.list-group-item-warning{color:#7e500f}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#7e500f;background-color:#f6d9b0}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#7e500f;border-color:#7e500f}.list-group-item-danger{color:#78153f;background-color:#f6cadc}a.list-group-item-danger{color:#78153f}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#78153f;background-color:#f2b4ce}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#78153f;border-color:#78153f}.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-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.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,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-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-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table: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,.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-right-radius:3px;border-bottom-left-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 #ddd}.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>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>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.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-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{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.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:#333;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:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d8f2b4}.panel-success>.panel-heading{color:#3f7815;background-color:#dcf6ca;border-color:#d8f2b4}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d8f2b4}.panel-success>.panel-heading .badge{color:#dcf6ca;background-color:#3f7815}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d8f2b4}.panel-info{border-color:#e7e1f0}.panel-info>.panel-heading{color:#603e7a;background-color:#f6f2f8;border-color:#e7e1f0}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#e7e1f0}.panel-info>.panel-heading .badge{color:#f6f2f8;background-color:#603e7a}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#e7e1f0}.panel-warning{border-color:#f6ceb0}.panel-warning>.panel-heading{color:#7e500f;background-color:#f8e4c7;border-color:#f6ceb0}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f6ceb0}.panel-warning>.panel-heading .badge{color:#f8e4c7;background-color:#7e500f}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f6ceb0}.panel-danger{border-color:#f2b4d8}.panel-danger>.panel-heading{color:#78153f;background-color:#f6cadc;border-color:#f2b4d8}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f2b4d8}.panel-danger>.panel-heading .badge{color:#f6cadc;background-color:#78153f}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f2b4d8}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.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-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.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{position:absolute;z-index:1070;display:block;font-family:Cantarell,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.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{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:Cantarell,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;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);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;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{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";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{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px)and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px)and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}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}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
\ No newline at end of file
diff --git a/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.eot b/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.eot
new file mode 100644
index 0000000..b93a495
Binary files /dev/null and b/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.eot differ
diff --git a/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.svg b/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.svg
new file mode 100644
index 0000000..94fb549
--- /dev/null
+++ b/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.svg
@@ -0,0 +1,288 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
+<font-face units-per-em="1200" ascent="960" descent="-240" />
+<missing-glyph horiz-adv-x="500" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="400" />
+<glyph unicode=" " />
+<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
+<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xa0;" />
+<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
+<glyph unicode="&#x2000;" horiz-adv-x="650" />
+<glyph unicode="&#x2001;" horiz-adv-x="1300" />
+<glyph unicode="&#x2002;" horiz-adv-x="650" />
+<glyph unicode="&#x2003;" horiz-adv-x="1300" />
+<glyph unicode="&#x2004;" horiz-adv-x="433" />
+<glyph unicode="&#x2005;" horiz-adv-x="325" />
+<glyph unicode="&#x2006;" horiz-adv-x="216" />
+<glyph unicode="&#x2007;" horiz-adv-x="216" />
+<glyph unicode="&#x2008;" horiz-adv-x="162" />
+<glyph unicode="&#x2009;" horiz-adv-x="260" />
+<glyph unicode="&#x200a;" horiz-adv-x="72" />
+<glyph unicode="&#x202f;" horiz-adv-x="260" />
+<glyph unicode="&#x205f;" horiz-adv-x="325" />
+<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
+<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
+<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
+<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
+<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
+<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
+<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
+<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
+<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
+<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
+<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
+<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
+<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
+<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
+<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
+<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
+<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
+<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
+<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
+<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
+<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
+<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
+<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
+<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
+<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
+<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
+<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
+<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
+<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
+<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
+<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
+<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
+<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
+<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
+<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
+<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
+<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
+<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
+<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
+<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
+<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
+<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
+<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
+<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
+<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
+<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
+<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
+<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
+<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
+<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
+<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
+<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
+<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
+<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
+<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
+<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
+<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
+<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
+<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
+<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
+<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
+<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
+<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
+<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
+<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
+<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
+<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
+<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
+<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
+<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
+<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
+<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
+<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
+<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
+<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
+<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
+<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
+<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
+<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
+<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
+<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
+<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
+<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
+<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
+<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
+<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
+<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
+<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
+<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
+<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
+<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
+<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
+<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
+<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
+<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
+<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
+<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
+<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
+<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
+<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
+<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
+<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
+<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
+<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
+<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
+<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
+<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
+<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
+<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
+<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
+<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
+<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
+<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
+<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
+<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
+<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
+<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
+<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
+<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
+<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
+<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
+<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
+<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
+<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
+<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
+<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
+<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
+<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
+<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
+<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
+<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
+<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
+<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
+<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
+<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
+<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
+<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
+<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
+<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
+<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
+<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
+<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
+<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
+<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
+<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
+<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
+<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
+<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
+<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
+<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
+<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
+<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
+<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
+<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
+<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
+<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
+<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
+<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
+<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
+<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
+<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
+<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
+<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
+<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
+<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
+<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
+<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
+<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
+<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
+<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
+<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
+<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
+<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
+<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
+<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
+<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
+<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
+<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
+<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
+<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
+<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
+<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
+<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
+<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
+<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
+<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
+<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
+<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
+<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
+<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
+<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
+<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
+<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
+<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
+<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
+<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
+<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
+<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
+<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
+<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
+<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.ttf b/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.ttf
new file mode 100644
index 0000000..1413fc6
Binary files /dev/null and b/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.ttf differ
diff --git a/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.woff b/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.woff
new file mode 100644
index 0000000..9e61285
Binary files /dev/null and b/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.woff differ
diff --git a/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.woff2 b/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.woff2
new file mode 100644
index 0000000..64539b5
Binary files /dev/null and b/hubs/static/bootstrap-3.3.4-fedora/fonts/glyphicons-halflings-regular.woff2 differ
diff --git a/hubs/static/bootstrap-3.3.4-fedora/js/bootstrap.js b/hubs/static/bootstrap-3.3.4-fedora/js/bootstrap.js
new file mode 100644
index 0000000..335cc61
--- /dev/null
+++ b/hubs/static/bootstrap-3.3.4-fedora/js/bootstrap.js
@@ -0,0 +1,2319 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+if (typeof jQuery === 'undefined') {
+  throw new Error('Bootstrap\'s JavaScript requires jQuery')
+}
+
++function ($) {
+  'use strict';
+  var version = $.fn.jquery.split(' ')[0].split('.')
+  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
+    throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher')
+  }
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: transition.js v3.3.4
+ * http://getbootstrap.com/javascript/#transitions
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
+  // ============================================================
+
+  function transitionEnd() {
+    var el = document.createElement('bootstrap')
+
+    var transEndEventNames = {
+      WebkitTransition : 'webkitTransitionEnd',
+      MozTransition    : 'transitionend',
+      OTransition      : 'oTransitionEnd otransitionend',
+      transition       : 'transitionend'
+    }
+
+    for (var name in transEndEventNames) {
+      if (el.style[name] !== undefined) {
+        return { end: transEndEventNames[name] }
+      }
+    }
+
+    return false // explicit for ie8 (  ._.)
+  }
+
+  // http://blog.alexmaccaw.com/css-transitions
+  $.fn.emulateTransitionEnd = function (duration) {
+    var called = false
+    var $el = this
+    $(this).one('bsTransitionEnd', function () { called = true })
+    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
+    setTimeout(callback, duration)
+    return this
+  }
+
+  $(function () {
+    $.support.transition = transitionEnd()
+
+    if (!$.support.transition) return
+
+    $.event.special.bsTransitionEnd = {
+      bindType: $.support.transition.end,
+      delegateType: $.support.transition.end,
+      handle: function (e) {
+        if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
+      }
+    }
+  })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: alert.js v3.3.4
+ * http://getbootstrap.com/javascript/#alerts
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // ALERT CLASS DEFINITION
+  // ======================
+
+  var dismiss = '[data-dismiss="alert"]'
+  var Alert   = function (el) {
+    $(el).on('click', dismiss, this.close)
+  }
+
+  Alert.VERSION = '3.3.4'
+
+  Alert.TRANSITION_DURATION = 150
+
+  Alert.prototype.close = function (e) {
+    var $this    = $(this)
+    var selector = $this.attr('data-target')
+
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+    }
+
+    var $parent = $(selector)
+
+    if (e) e.preventDefault()
+
+    if (!$parent.length) {
+      $parent = $this.closest('.alert')
+    }
+
+    $parent.trigger(e = $.Event('close.bs.alert'))
+
+    if (e.isDefaultPrevented()) return
+
+    $parent.removeClass('in')
+
+    function removeElement() {
+      // detach from parent, fire event then clean up data
+      $parent.detach().trigger('closed.bs.alert').remove()
+    }
+
+    $.support.transition && $parent.hasClass('fade') ?
+      $parent
+        .one('bsTransitionEnd', removeElement)
+        .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
+      removeElement()
+  }
+
+
+  // ALERT PLUGIN DEFINITION
+  // =======================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this = $(this)
+      var data  = $this.data('bs.alert')
+
+      if (!data) $this.data('bs.alert', (data = new Alert(this)))
+      if (typeof option == 'string') data[option].call($this)
+    })
+  }
+
+  var old = $.fn.alert
+
+  $.fn.alert             = Plugin
+  $.fn.alert.Constructor = Alert
+
+
+  // ALERT NO CONFLICT
+  // =================
+
+  $.fn.alert.noConflict = function () {
+    $.fn.alert = old
+    return this
+  }
+
+
+  // ALERT DATA-API
+  // ==============
+
+  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: button.js v3.3.4
+ * http://getbootstrap.com/javascript/#buttons
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // BUTTON PUBLIC CLASS DEFINITION
+  // ==============================
+
+  var Button = function (element, options) {
+    this.$element  = $(element)
+    this.options   = $.extend({}, Button.DEFAULTS, options)
+    this.isLoading = false
+  }
+
+  Button.VERSION  = '3.3.4'
+
+  Button.DEFAULTS = {
+    loadingText: 'loading...'
+  }
+
+  Button.prototype.setState = function (state) {
+    var d    = 'disabled'
+    var $el  = this.$element
+    var val  = $el.is('input') ? 'val' : 'html'
+    var data = $el.data()
+
+    state = state + 'Text'
+
+    if (data.resetText == null) $el.data('resetText', $el[val]())
+
+    // push to event loop to allow forms to submit
+    setTimeout($.proxy(function () {
+      $el[val](data[state] == null ? this.options[state] : data[state])
+
+      if (state == 'loadingText') {
+        this.isLoading = true
+        $el.addClass(d).attr(d, d)
+      } else if (this.isLoading) {
+        this.isLoading = false
+        $el.removeClass(d).removeAttr(d)
+      }
+    }, this), 0)
+  }
+
+  Button.prototype.toggle = function () {
+    var changed = true
+    var $parent = this.$element.closest('[data-toggle="buttons"]')
+
+    if ($parent.length) {
+      var $input = this.$element.find('input')
+      if ($input.prop('type') == 'radio') {
+        if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
+        else $parent.find('.active').removeClass('active')
+      }
+      if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
+    } else {
+      this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
+    }
+
+    if (changed) this.$element.toggleClass('active')
+  }
+
+
+  // BUTTON PLUGIN DEFINITION
+  // ========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.button')
+      var options = typeof option == 'object' && option
+
+      if (!data) $this.data('bs.button', (data = new Button(this, options)))
+
+      if (option == 'toggle') data.toggle()
+      else if (option) data.setState(option)
+    })
+  }
+
+  var old = $.fn.button
+
+  $.fn.button             = Plugin
+  $.fn.button.Constructor = Button
+
+
+  // BUTTON NO CONFLICT
+  // ==================
+
+  $.fn.button.noConflict = function () {
+    $.fn.button = old
+    return this
+  }
+
+
+  // BUTTON DATA-API
+  // ===============
+
+  $(document)
+    .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+      var $btn = $(e.target)
+      if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+      Plugin.call($btn, 'toggle')
+      e.preventDefault()
+    })
+    .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+      $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
+    })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: carousel.js v3.3.4
+ * http://getbootstrap.com/javascript/#carousel
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // CAROUSEL CLASS DEFINITION
+  // =========================
+
+  var Carousel = function (element, options) {
+    this.$element    = $(element)
+    this.$indicators = this.$element.find('.carousel-indicators')
+    this.options     = options
+    this.paused      = null
+    this.sliding     = null
+    this.interval    = null
+    this.$active     = null
+    this.$items      = null
+
+    this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
+
+    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
+      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
+      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
+  }
+
+  Carousel.VERSION  = '3.3.4'
+
+  Carousel.TRANSITION_DURATION = 600
+
+  Carousel.DEFAULTS = {
+    interval: 5000,
+    pause: 'hover',
+    wrap: true,
+    keyboard: true
+  }
+
+  Carousel.prototype.keydown = function (e) {
+    if (/input|textarea/i.test(e.target.tagName)) return
+    switch (e.which) {
+      case 37: this.prev(); break
+      case 39: this.next(); break
+      default: return
+    }
+
+    e.preventDefault()
+  }
+
+  Carousel.prototype.cycle = function (e) {
+    e || (this.paused = false)
+
+    this.interval && clearInterval(this.interval)
+
+    this.options.interval
+      && !this.paused
+      && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
+
+    return this
+  }
+
+  Carousel.prototype.getItemIndex = function (item) {
+    this.$items = item.parent().children('.item')
+    return this.$items.index(item || this.$active)
+  }
+
+  Carousel.prototype.getItemForDirection = function (direction, active) {
+    var activeIndex = this.getItemIndex(active)
+    var willWrap = (direction == 'prev' && activeIndex === 0)
+                || (direction == 'next' && activeIndex == (this.$items.length - 1))
+    if (willWrap && !this.options.wrap) return active
+    var delta = direction == 'prev' ? -1 : 1
+    var itemIndex = (activeIndex + delta) % this.$items.length
+    return this.$items.eq(itemIndex)
+  }
+
+  Carousel.prototype.to = function (pos) {
+    var that        = this
+    var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
+
+    if (pos > (this.$items.length - 1) || pos < 0) return
+
+    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
+    if (activeIndex == pos) return this.pause().cycle()
+
+    return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
+  }
+
+  Carousel.prototype.pause = function (e) {
+    e || (this.paused = true)
+
+    if (this.$element.find('.next, .prev').length && $.support.transition) {
+      this.$element.trigger($.support.transition.end)
+      this.cycle(true)
+    }
+
+    this.interval = clearInterval(this.interval)
+
+    return this
+  }
+
+  Carousel.prototype.next = function () {
+    if (this.sliding) return
+    return this.slide('next')
+  }
+
+  Carousel.prototype.prev = function () {
+    if (this.sliding) return
+    return this.slide('prev')
+  }
+
+  Carousel.prototype.slide = function (type, next) {
+    var $active   = this.$element.find('.item.active')
+    var $next     = next || this.getItemForDirection(type, $active)
+    var isCycling = this.interval
+    var direction = type == 'next' ? 'left' : 'right'
+    var that      = this
+
+    if ($next.hasClass('active')) return (this.sliding = false)
+
+    var relatedTarget = $next[0]
+    var slideEvent = $.Event('slide.bs.carousel', {
+      relatedTarget: relatedTarget,
+      direction: direction
+    })
+    this.$element.trigger(slideEvent)
+    if (slideEvent.isDefaultPrevented()) return
+
+    this.sliding = true
+
+    isCycling && this.pause()
+
+    if (this.$indicators.length) {
+      this.$indicators.find('.active').removeClass('active')
+      var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
+      $nextIndicator && $nextIndicator.addClass('active')
+    }
+
+    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
+    if ($.support.transition && this.$element.hasClass('slide')) {
+      $next.addClass(type)
+      $next[0].offsetWidth // force reflow
+      $active.addClass(direction)
+      $next.addClass(direction)
+      $active
+        .one('bsTransitionEnd', function () {
+          $next.removeClass([type, direction].join(' ')).addClass('active')
+          $active.removeClass(['active', direction].join(' '))
+          that.sliding = false
+          setTimeout(function () {
+            that.$element.trigger(slidEvent)
+          }, 0)
+        })
+        .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
+    } else {
+      $active.removeClass('active')
+      $next.addClass('active')
+      this.sliding = false
+      this.$element.trigger(slidEvent)
+    }
+
+    isCycling && this.cycle()
+
+    return this
+  }
+
+
+  // CAROUSEL PLUGIN DEFINITION
+  // ==========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.carousel')
+      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
+      var action  = typeof option == 'string' ? option : options.slide
+
+      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
+      if (typeof option == 'number') data.to(option)
+      else if (action) data[action]()
+      else if (options.interval) data.pause().cycle()
+    })
+  }
+
+  var old = $.fn.carousel
+
+  $.fn.carousel             = Plugin
+  $.fn.carousel.Constructor = Carousel
+
+
+  // CAROUSEL NO CONFLICT
+  // ====================
+
+  $.fn.carousel.noConflict = function () {
+    $.fn.carousel = old
+    return this
+  }
+
+
+  // CAROUSEL DATA-API
+  // =================
+
+  var clickHandler = function (e) {
+    var href
+    var $this   = $(this)
+    var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
+    if (!$target.hasClass('carousel')) return
+    var options = $.extend({}, $target.data(), $this.data())
+    var slideIndex = $this.attr('data-slide-to')
+    if (slideIndex) options.interval = false
+
+    Plugin.call($target, options)
+
+    if (slideIndex) {
+      $target.data('bs.carousel').to(slideIndex)
+    }
+
+    e.preventDefault()
+  }
+
+  $(document)
+    .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
+    .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
+
+  $(window).on('load', function () {
+    $('[data-ride="carousel"]').each(function () {
+      var $carousel = $(this)
+      Plugin.call($carousel, $carousel.data())
+    })
+  })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: collapse.js v3.3.4
+ * http://getbootstrap.com/javascript/#collapse
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // COLLAPSE PUBLIC CLASS DEFINITION
+  // ================================
+
+  var Collapse = function (element, options) {
+    this.$element      = $(element)
+    this.options       = $.extend({}, Collapse.DEFAULTS, options)
+    this.$trigger      = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
+                           '[data-toggle="collapse"][data-target="#' + element.id + '"]')
+    this.transitioning = null
+
+    if (this.options.parent) {
+      this.$parent = this.getParent()
+    } else {
+      this.addAriaAndCollapsedClass(this.$element, this.$trigger)
+    }
+
+    if (this.options.toggle) this.toggle()
+  }
+
+  Collapse.VERSION  = '3.3.4'
+
+  Collapse.TRANSITION_DURATION = 350
+
+  Collapse.DEFAULTS = {
+    toggle: true
+  }
+
+  Collapse.prototype.dimension = function () {
+    var hasWidth = this.$element.hasClass('width')
+    return hasWidth ? 'width' : 'height'
+  }
+
+  Collapse.prototype.show = function () {
+    if (this.transitioning || this.$element.hasClass('in')) return
+
+    var activesData
+    var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')
+
+    if (actives && actives.length) {
+      activesData = actives.data('bs.collapse')
+      if (activesData && activesData.transitioning) return
+    }
+
+    var startEvent = $.Event('show.bs.collapse')
+    this.$element.trigger(startEvent)
+    if (startEvent.isDefaultPrevented()) return
+
+    if (actives && actives.length) {
+      Plugin.call(actives, 'hide')
+      activesData || actives.data('bs.collapse', null)
+    }
+
+    var dimension = this.dimension()
+
+    this.$element
+      .removeClass('collapse')
+      .addClass('collapsing')[dimension](0)
+      .attr('aria-expanded', true)
+
+    this.$trigger
+      .removeClass('collapsed')
+      .attr('aria-expanded', true)
+
+    this.transitioning = 1
+
+    var complete = function () {
+      this.$element
+        .removeClass('collapsing')
+        .addClass('collapse in')[dimension]('')
+      this.transitioning = 0
+      this.$element
+        .trigger('shown.bs.collapse')
+    }
+
+    if (!$.support.transition) return complete.call(this)
+
+    var scrollSize = $.camelCase(['scroll', dimension].join('-'))
+
+    this.$element
+      .one('bsTransitionEnd', $.proxy(complete, this))
+      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
+  }
+
+  Collapse.prototype.hide = function () {
+    if (this.transitioning || !this.$element.hasClass('in')) return
+
+    var startEvent = $.Event('hide.bs.collapse')
+    this.$element.trigger(startEvent)
+    if (startEvent.isDefaultPrevented()) return
+
+    var dimension = this.dimension()
+
+    this.$element[dimension](this.$element[dimension]())[0].offsetHeight
+
+    this.$element
+      .addClass('collapsing')
+      .removeClass('collapse in')
+      .attr('aria-expanded', false)
+
+    this.$trigger
+      .addClass('collapsed')
+      .attr('aria-expanded', false)
+
+    this.transitioning = 1
+
+    var complete = function () {
+      this.transitioning = 0
+      this.$element
+        .removeClass('collapsing')
+        .addClass('collapse')
+        .trigger('hidden.bs.collapse')
+    }
+
+    if (!$.support.transition) return complete.call(this)
+
+    this.$element
+      [dimension](0)
+      .one('bsTransitionEnd', $.proxy(complete, this))
+      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
+  }
+
+  Collapse.prototype.toggle = function () {
+    this[this.$element.hasClass('in') ? 'hide' : 'show']()
+  }
+
+  Collapse.prototype.getParent = function () {
+    return $(this.options.parent)
+      .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
+      .each($.proxy(function (i, element) {
+        var $element = $(element)
+        this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
+      }, this))
+      .end()
+  }
+
+  Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
+    var isOpen = $element.hasClass('in')
+
+    $element.attr('aria-expanded', isOpen)
+    $trigger
+      .toggleClass('collapsed', !isOpen)
+      .attr('aria-expanded', isOpen)
+  }
+
+  function getTargetFromTrigger($trigger) {
+    var href
+    var target = $trigger.attr('data-target')
+      || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
+
+    return $(target)
+  }
+
+
+  // COLLAPSE PLUGIN DEFINITION
+  // ==========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.collapse')
+      var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+      if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
+      if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.collapse
+
+  $.fn.collapse             = Plugin
+  $.fn.collapse.Constructor = Collapse
+
+
+  // COLLAPSE NO CONFLICT
+  // ====================
+
+  $.fn.collapse.noConflict = function () {
+    $.fn.collapse = old
+    return this
+  }
+
+
+  // COLLAPSE DATA-API
+  // =================
+
+  $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
+    var $this   = $(this)
+
+    if (!$this.attr('data-target')) e.preventDefault()
+
+    var $target = getTargetFromTrigger($this)
+    var data    = $target.data('bs.collapse')
+    var option  = data ? 'toggle' : $this.data()
+
+    Plugin.call($target, option)
+  })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: dropdown.js v3.3.4
+ * http://getbootstrap.com/javascript/#dropdowns
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // DROPDOWN CLASS DEFINITION
+  // =========================
+
+  var backdrop = '.dropdown-backdrop'
+  var toggle   = '[data-toggle="dropdown"]'
+  var Dropdown = function (element) {
+    $(element).on('click.bs.dropdown', this.toggle)
+  }
+
+  Dropdown.VERSION = '3.3.4'
+
+  Dropdown.prototype.toggle = function (e) {
+    var $this = $(this)
+
+    if ($this.is('.disabled, :disabled')) return
+
+    var $parent  = getParent($this)
+    var isActive = $parent.hasClass('open')
+
+    clearMenus()
+
+    if (!isActive) {
+      if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
+        // if mobile we use a backdrop because click events don't delegate
+        $(document.createElement('div'))
+          .addClass('dropdown-backdrop')
+          .insertAfter($(this))
+          .on('click', clearMenus)
+      }
+
+      var relatedTarget = { relatedTarget: this }
+      $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
+
+      if (e.isDefaultPrevented()) return
+
+      $this
+        .trigger('focus')
+        .attr('aria-expanded', 'true')
+
+      $parent
+        .toggleClass('open')
+        .trigger('shown.bs.dropdown', relatedTarget)
+    }
+
+    return false
+  }
+
+  Dropdown.prototype.keydown = function (e) {
+    if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
+
+    var $this = $(this)
+
+    e.preventDefault()
+    e.stopPropagation()
+
+    if ($this.is('.disabled, :disabled')) return
+
+    var $parent  = getParent($this)
+    var isActive = $parent.hasClass('open')
+
+    if ((!isActive && e.which != 27) || (isActive && e.which == 27)) {
+      if (e.which == 27) $parent.find(toggle).trigger('focus')
+      return $this.trigger('click')
+    }
+
+    var desc = ' li:not(.disabled):visible a'
+    var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
+
+    if (!$items.length) return
+
+    var index = $items.index(e.target)
+
+    if (e.which == 38 && index > 0)                 index--                        // up
+    if (e.which == 40 && index < $items.length - 1) index++                        // down
+    if (!~index)                                      index = 0
+
+    $items.eq(index).trigger('focus')
+  }
+
+  function clearMenus(e) {
+    if (e && e.which === 3) return
+    $(backdrop).remove()
+    $(toggle).each(function () {
+      var $this         = $(this)
+      var $parent       = getParent($this)
+      var relatedTarget = { relatedTarget: this }
+
+      if (!$parent.hasClass('open')) return
+
+      if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
+
+      $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
+
+      if (e.isDefaultPrevented()) return
+
+      $this.attr('aria-expanded', 'false')
+      $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
+    })
+  }
+
+  function getParent($this) {
+    var selector = $this.attr('data-target')
+
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+    }
+
+    var $parent = selector && $(selector)
+
+    return $parent && $parent.length ? $parent : $this.parent()
+  }
+
+
+  // DROPDOWN PLUGIN DEFINITION
+  // ==========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this = $(this)
+      var data  = $this.data('bs.dropdown')
+
+      if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
+      if (typeof option == 'string') data[option].call($this)
+    })
+  }
+
+  var old = $.fn.dropdown
+
+  $.fn.dropdown             = Plugin
+  $.fn.dropdown.Constructor = Dropdown
+
+
+  // DROPDOWN NO CONFLICT
+  // ====================
+
+  $.fn.dropdown.noConflict = function () {
+    $.fn.dropdown = old
+    return this
+  }
+
+
+  // APPLY TO STANDARD DROPDOWN ELEMENTS
+  // ===================================
+
+  $(document)
+    .on('click.bs.dropdown.data-api', clearMenus)
+    .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
+    .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+    .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
+    .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: modal.js v3.3.4
+ * http://getbootstrap.com/javascript/#modals
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // MODAL CLASS DEFINITION
+  // ======================
+
+  var Modal = function (element, options) {
+    this.options             = options
+    this.$body               = $(document.body)
+    this.$element            = $(element)
+    this.$dialog             = this.$element.find('.modal-dialog')
+    this.$backdrop           = null
+    this.isShown             = null
+    this.originalBodyPad     = null
+    this.scrollbarWidth      = 0
+    this.ignoreBackdropClick = false
+
+    if (this.options.remote) {
+      this.$element
+        .find('.modal-content')
+        .load(this.options.remote, $.proxy(function () {
+          this.$element.trigger('loaded.bs.modal')
+        }, this))
+    }
+  }
+
+  Modal.VERSION  = '3.3.4'
+
+  Modal.TRANSITION_DURATION = 300
+  Modal.BACKDROP_TRANSITION_DURATION = 150
+
+  Modal.DEFAULTS = {
+    backdrop: true,
+    keyboard: true,
+    show: true
+  }
+
+  Modal.prototype.toggle = function (_relatedTarget) {
+    return this.isShown ? this.hide() : this.show(_relatedTarget)
+  }
+
+  Modal.prototype.show = function (_relatedTarget) {
+    var that = this
+    var e    = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
+
+    this.$element.trigger(e)
+
+    if (this.isShown || e.isDefaultPrevented()) return
+
+    this.isShown = true
+
+    this.checkScrollbar()
+    this.setScrollbar()
+    this.$body.addClass('modal-open')
+
+    this.escape()
+    this.resize()
+
+    this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
+
+    this.$dialog.on('mousedown.dismiss.bs.modal', function () {
+      that.$element.one('mouseup.dismiss.bs.modal', function (e) {
+        if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
+      })
+    })
+
+    this.backdrop(function () {
+      var transition = $.support.transition && that.$element.hasClass('fade')
+
+      if (!that.$element.parent().length) {
+        that.$element.appendTo(that.$body) // don't move modals dom position
+      }
+
+      that.$element
+        .show()
+        .scrollTop(0)
+
+      that.adjustDialog()
+
+      if (transition) {
+        that.$element[0].offsetWidth // force reflow
+      }
+
+      that.$element.addClass('in')
+
+      that.enforceFocus()
+
+      var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
+
+      transition ?
+        that.$dialog // wait for modal to slide in
+          .one('bsTransitionEnd', function () {
+            that.$element.trigger('focus').trigger(e)
+          })
+          .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
+        that.$element.trigger('focus').trigger(e)
+    })
+  }
+
+  Modal.prototype.hide = function (e) {
+    if (e) e.preventDefault()
+
+    e = $.Event('hide.bs.modal')
+
+    this.$element.trigger(e)
+
+    if (!this.isShown || e.isDefaultPrevented()) return
+
+    this.isShown = false
+
+    this.escape()
+    this.resize()
+
+    $(document).off('focusin.bs.modal')
+
+    this.$element
+      .removeClass('in')
+      .off('click.dismiss.bs.modal')
+      .off('mouseup.dismiss.bs.modal')
+
+    this.$dialog.off('mousedown.dismiss.bs.modal')
+
+    $.support.transition && this.$element.hasClass('fade') ?
+      this.$element
+        .one('bsTransitionEnd', $.proxy(this.hideModal, this))
+        .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
+      this.hideModal()
+  }
+
+  Modal.prototype.enforceFocus = function () {
+    $(document)
+      .off('focusin.bs.modal') // guard against infinite focus loop
+      .on('focusin.bs.modal', $.proxy(function (e) {
+        if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
+          this.$element.trigger('focus')
+        }
+      }, this))
+  }
+
+  Modal.prototype.escape = function () {
+    if (this.isShown && this.options.keyboard) {
+      this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
+        e.which == 27 && this.hide()
+      }, this))
+    } else if (!this.isShown) {
+      this.$element.off('keydown.dismiss.bs.modal')
+    }
+  }
+
+  Modal.prototype.resize = function () {
+    if (this.isShown) {
+      $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
+    } else {
+      $(window).off('resize.bs.modal')
+    }
+  }
+
+  Modal.prototype.hideModal = function () {
+    var that = this
+    this.$element.hide()
+    this.backdrop(function () {
+      that.$body.removeClass('modal-open')
+      that.resetAdjustments()
+      that.resetScrollbar()
+      that.$element.trigger('hidden.bs.modal')
+    })
+  }
+
+  Modal.prototype.removeBackdrop = function () {
+    this.$backdrop && this.$backdrop.remove()
+    this.$backdrop = null
+  }
+
+  Modal.prototype.backdrop = function (callback) {
+    var that = this
+    var animate = this.$element.hasClass('fade') ? 'fade' : ''
+
+    if (this.isShown && this.options.backdrop) {
+      var doAnimate = $.support.transition && animate
+
+      this.$backdrop = $(document.createElement('div'))
+        .addClass('modal-backdrop ' + animate)
+        .appendTo(this.$body)
+
+      this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
+        if (this.ignoreBackdropClick) {
+          this.ignoreBackdropClick = false
+          return
+        }
+        if (e.target !== e.currentTarget) return
+        this.options.backdrop == 'static'
+          ? this.$element[0].focus()
+          : this.hide()
+      }, this))
+
+      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+
+      this.$backdrop.addClass('in')
+
+      if (!callback) return
+
+      doAnimate ?
+        this.$backdrop
+          .one('bsTransitionEnd', callback)
+          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
+        callback()
+
+    } else if (!this.isShown && this.$backdrop) {
+      this.$backdrop.removeClass('in')
+
+      var callbackRemove = function () {
+        that.removeBackdrop()
+        callback && callback()
+      }
+      $.support.transition && this.$element.hasClass('fade') ?
+        this.$backdrop
+          .one('bsTransitionEnd', callbackRemove)
+          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
+        callbackRemove()
+
+    } else if (callback) {
+      callback()
+    }
+  }
+
+  // these following methods are used to handle overflowing modals
+
+  Modal.prototype.handleUpdate = function () {
+    this.adjustDialog()
+  }
+
+  Modal.prototype.adjustDialog = function () {
+    var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
+
+    this.$element.css({
+      paddingLeft:  !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
+      paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
+    })
+  }
+
+  Modal.prototype.resetAdjustments = function () {
+    this.$element.css({
+      paddingLeft: '',
+      paddingRight: ''
+    })
+  }
+
+  Modal.prototype.checkScrollbar = function () {
+    var fullWindowWidth = window.innerWidth
+    if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
+      var documentElementRect = document.documentElement.getBoundingClientRect()
+      fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
+    }
+    this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
+    this.scrollbarWidth = this.measureScrollbar()
+  }
+
+  Modal.prototype.setScrollbar = function () {
+    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
+    this.originalBodyPad = document.body.style.paddingRight || ''
+    if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
+  }
+
+  Modal.prototype.resetScrollbar = function () {
+    this.$body.css('padding-right', this.originalBodyPad)
+  }
+
+  Modal.prototype.measureScrollbar = function () { // thx walsh
+    var scrollDiv = document.createElement('div')
+    scrollDiv.className = 'modal-scrollbar-measure'
+    this.$body.append(scrollDiv)
+    var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
+    this.$body[0].removeChild(scrollDiv)
+    return scrollbarWidth
+  }
+
+
+  // MODAL PLUGIN DEFINITION
+  // =======================
+
+  function Plugin(option, _relatedTarget) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.modal')
+      var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+      if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
+      if (typeof option == 'string') data[option](_relatedTarget)
+      else if (options.show) data.show(_relatedTarget)
+    })
+  }
+
+  var old = $.fn.modal
+
+  $.fn.modal             = Plugin
+  $.fn.modal.Constructor = Modal
+
+
+  // MODAL NO CONFLICT
+  // =================
+
+  $.fn.modal.noConflict = function () {
+    $.fn.modal = old
+    return this
+  }
+
+
+  // MODAL DATA-API
+  // ==============
+
+  $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
+    var $this   = $(this)
+    var href    = $this.attr('href')
+    var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
+    var option  = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
+
+    if ($this.is('a')) e.preventDefault()
+
+    $target.one('show.bs.modal', function (showEvent) {
+      if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
+      $target.one('hidden.bs.modal', function () {
+        $this.is(':visible') && $this.trigger('focus')
+      })
+    })
+    Plugin.call($target, option, this)
+  })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: tooltip.js v3.3.4
+ * http://getbootstrap.com/javascript/#tooltip
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // TOOLTIP PUBLIC CLASS DEFINITION
+  // ===============================
+
+  var Tooltip = function (element, options) {
+    this.type       = null
+    this.options    = null
+    this.enabled    = null
+    this.timeout    = null
+    this.hoverState = null
+    this.$element   = null
+
+    this.init('tooltip', element, options)
+  }
+
+  Tooltip.VERSION  = '3.3.4'
+
+  Tooltip.TRANSITION_DURATION = 150
+
+  Tooltip.DEFAULTS = {
+    animation: true,
+    placement: 'top',
+    selector: false,
+    template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
+    trigger: 'hover focus',
+    title: '',
+    delay: 0,
+    html: false,
+    container: false,
+    viewport: {
+      selector: 'body',
+      padding: 0
+    }
+  }
+
+  Tooltip.prototype.init = function (type, element, options) {
+    this.enabled   = true
+    this.type      = type
+    this.$element  = $(element)
+    this.options   = this.getOptions(options)
+    this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
+
+    if (this.$element[0] instanceof document.constructor && !this.options.selector) {
+      throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
+    }
+
+    var triggers = this.options.trigger.split(' ')
+
+    for (var i = triggers.length; i--;) {
+      var trigger = triggers[i]
+
+      if (trigger == 'click') {
+        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
+      } else if (trigger != 'manual') {
+        var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focusin'
+        var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
+
+        this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
+        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
+      }
+    }
+
+    this.options.selector ?
+      (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+      this.fixTitle()
+  }
+
+  Tooltip.prototype.getDefaults = function () {
+    return Tooltip.DEFAULTS
+  }
+
+  Tooltip.prototype.getOptions = function (options) {
+    options = $.extend({}, this.getDefaults(), this.$element.data(), options)
+
+    if (options.delay && typeof options.delay == 'number') {
+      options.delay = {
+        show: options.delay,
+        hide: options.delay
+      }
+    }
+
+    return options
+  }
+
+  Tooltip.prototype.getDelegateOptions = function () {
+    var options  = {}
+    var defaults = this.getDefaults()
+
+    this._options && $.each(this._options, function (key, value) {
+      if (defaults[key] != value) options[key] = value
+    })
+
+    return options
+  }
+
+  Tooltip.prototype.enter = function (obj) {
+    var self = obj instanceof this.constructor ?
+      obj : $(obj.currentTarget).data('bs.' + this.type)
+
+    if (self && self.$tip && self.$tip.is(':visible')) {
+      self.hoverState = 'in'
+      return
+    }
+
+    if (!self) {
+      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
+      $(obj.currentTarget).data('bs.' + this.type, self)
+    }
+
+    clearTimeout(self.timeout)
+
+    self.hoverState = 'in'
+
+    if (!self.options.delay || !self.options.delay.show) return self.show()
+
+    self.timeout = setTimeout(function () {
+      if (self.hoverState == 'in') self.show()
+    }, self.options.delay.show)
+  }
+
+  Tooltip.prototype.leave = function (obj) {
+    var self = obj instanceof this.constructor ?
+      obj : $(obj.currentTarget).data('bs.' + this.type)
+
+    if (!self) {
+      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
+      $(obj.currentTarget).data('bs.' + this.type, self)
+    }
+
+    clearTimeout(self.timeout)
+
+    self.hoverState = 'out'
+
+    if (!self.options.delay || !self.options.delay.hide) return self.hide()
+
+    self.timeout = setTimeout(function () {
+      if (self.hoverState == 'out') self.hide()
+    }, self.options.delay.hide)
+  }
+
+  Tooltip.prototype.show = function () {
+    var e = $.Event('show.bs.' + this.type)
+
+    if (this.hasContent() && this.enabled) {
+      this.$element.trigger(e)
+
+      var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
+      if (e.isDefaultPrevented() || !inDom) return
+      var that = this
+
+      var $tip = this.tip()
+
+      var tipId = this.getUID(this.type)
+
+      this.setContent()
+      $tip.attr('id', tipId)
+      this.$element.attr('aria-describedby', tipId)
+
+      if (this.options.animation) $tip.addClass('fade')
+
+      var placement = typeof this.options.placement == 'function' ?
+        this.options.placement.call(this, $tip[0], this.$element[0]) :
+        this.options.placement
+
+      var autoToken = /\s?auto?\s?/i
+      var autoPlace = autoToken.test(placement)
+      if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
+
+      $tip
+        .detach()
+        .css({ top: 0, left: 0, display: 'block' })
+        .addClass(placement)
+        .data('bs.' + this.type, this)
+
+      this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
+
+      var pos          = this.getPosition()
+      var actualWidth  = $tip[0].offsetWidth
+      var actualHeight = $tip[0].offsetHeight
+
+      if (autoPlace) {
+        var orgPlacement = placement
+        var $container   = this.options.container ? $(this.options.container) : this.$element.parent()
+        var containerDim = this.getPosition($container)
+
+        placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top'    :
+                    placement == 'top'    && pos.top    - actualHeight < containerDim.top    ? 'bottom' :
+                    placement == 'right'  && pos.right  + actualWidth  > containerDim.width  ? 'left'   :
+                    placement == 'left'   && pos.left   - actualWidth  < containerDim.left   ? 'right'  :
+                    placement
+
+        $tip
+          .removeClass(orgPlacement)
+          .addClass(placement)
+      }
+
+      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
+
+      this.applyPlacement(calculatedOffset, placement)
+
+      var complete = function () {
+        var prevHoverState = that.hoverState
+        that.$element.trigger('shown.bs.' + that.type)
+        that.hoverState = null
+
+        if (prevHoverState == 'out') that.leave(that)
+      }
+
+      $.support.transition && this.$tip.hasClass('fade') ?
+        $tip
+          .one('bsTransitionEnd', complete)
+          .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+        complete()
+    }
+  }
+
+  Tooltip.prototype.applyPlacement = function (offset, placement) {
+    var $tip   = this.tip()
+    var width  = $tip[0].offsetWidth
+    var height = $tip[0].offsetHeight
+
+    // manually read margins because getBoundingClientRect includes difference
+    var marginTop = parseInt($tip.css('margin-top'), 10)
+    var marginLeft = parseInt($tip.css('margin-left'), 10)
+
+    // we must check for NaN for ie 8/9
+    if (isNaN(marginTop))  marginTop  = 0
+    if (isNaN(marginLeft)) marginLeft = 0
+
+    offset.top  = offset.top  + marginTop
+    offset.left = offset.left + marginLeft
+
+    // $.fn.offset doesn't round pixel values
+    // so we use setOffset directly with our own function B-0
+    $.offset.setOffset($tip[0], $.extend({
+      using: function (props) {
+        $tip.css({
+          top: Math.round(props.top),
+          left: Math.round(props.left)
+        })
+      }
+    }, offset), 0)
+
+    $tip.addClass('in')
+
+    // check to see if placing tip in new offset caused the tip to resize itself
+    var actualWidth  = $tip[0].offsetWidth
+    var actualHeight = $tip[0].offsetHeight
+
+    if (placement == 'top' && actualHeight != height) {
+      offset.top = offset.top + height - actualHeight
+    }
+
+    var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
+
+    if (delta.left) offset.left += delta.left
+    else offset.top += delta.top
+
+    var isVertical          = /top|bottom/.test(placement)
+    var arrowDelta          = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
+    var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
+
+    $tip.offset(offset)
+    this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
+  }
+
+  Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
+    this.arrow()
+      .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
+      .css(isVertical ? 'top' : 'left', '')
+  }
+
+  Tooltip.prototype.setContent = function () {
+    var $tip  = this.tip()
+    var title = this.getTitle()
+
+    $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
+    $tip.removeClass('fade in top bottom left right')
+  }
+
+  Tooltip.prototype.hide = function (callback) {
+    var that = this
+    var $tip = $(this.$tip)
+    var e    = $.Event('hide.bs.' + this.type)
+
+    function complete() {
+      if (that.hoverState != 'in') $tip.detach()
+      that.$element
+        .removeAttr('aria-describedby')
+        .trigger('hidden.bs.' + that.type)
+      callback && callback()
+    }
+
+    this.$element.trigger(e)
+
+    if (e.isDefaultPrevented()) return
+
+    $tip.removeClass('in')
+
+    $.support.transition && $tip.hasClass('fade') ?
+      $tip
+        .one('bsTransitionEnd', complete)
+        .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+      complete()
+
+    this.hoverState = null
+
+    return this
+  }
+
+  Tooltip.prototype.fixTitle = function () {
+    var $e = this.$element
+    if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {
+      $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
+    }
+  }
+
+  Tooltip.prototype.hasContent = function () {
+    return this.getTitle()
+  }
+
+  Tooltip.prototype.getPosition = function ($element) {
+    $element   = $element || this.$element
+
+    var el     = $element[0]
+    var isBody = el.tagName == 'BODY'
+
+    var elRect    = el.getBoundingClientRect()
+    if (elRect.width == null) {
+      // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
+      elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
+    }
+    var elOffset  = isBody ? { top: 0, left: 0 } : $element.offset()
+    var scroll    = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
+    var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
+
+    return $.extend({}, elRect, scroll, outerDims, elOffset)
+  }
+
+  Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
+    return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2 } :
+           placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+           placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
+        /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
+
+  }
+
+  Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
+    var delta = { top: 0, left: 0 }
+    if (!this.$viewport) return delta
+
+    var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
+    var viewportDimensions = this.getPosition(this.$viewport)
+
+    if (/right|left/.test(placement)) {
+      var topEdgeOffset    = pos.top - viewportPadding - viewportDimensions.scroll
+      var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
+      if (topEdgeOffset < viewportDimensions.top) { // top overflow
+        delta.top = viewportDimensions.top - topEdgeOffset
+      } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
+        delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
+      }
+    } else {
+      var leftEdgeOffset  = pos.left - viewportPadding
+      var rightEdgeOffset = pos.left + viewportPadding + actualWidth
+      if (leftEdgeOffset < viewportDimensions.left) { // left overflow
+        delta.left = viewportDimensions.left - leftEdgeOffset
+      } else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
+        delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
+      }
+    }
+
+    return delta
+  }
+
+  Tooltip.prototype.getTitle = function () {
+    var title
+    var $e = this.$element
+    var o  = this.options
+
+    title = $e.attr('data-original-title')
+      || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
+
+    return title
+  }
+
+  Tooltip.prototype.getUID = function (prefix) {
+    do prefix += ~~(Math.random() * 1000000)
+    while (document.getElementById(prefix))
+    return prefix
+  }
+
+  Tooltip.prototype.tip = function () {
+    return (this.$tip = this.$tip || $(this.options.template))
+  }
+
+  Tooltip.prototype.arrow = function () {
+    return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
+  }
+
+  Tooltip.prototype.enable = function () {
+    this.enabled = true
+  }
+
+  Tooltip.prototype.disable = function () {
+    this.enabled = false
+  }
+
+  Tooltip.prototype.toggleEnabled = function () {
+    this.enabled = !this.enabled
+  }
+
+  Tooltip.prototype.toggle = function (e) {
+    var self = this
+    if (e) {
+      self = $(e.currentTarget).data('bs.' + this.type)
+      if (!self) {
+        self = new this.constructor(e.currentTarget, this.getDelegateOptions())
+        $(e.currentTarget).data('bs.' + this.type, self)
+      }
+    }
+
+    self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
+  }
+
+  Tooltip.prototype.destroy = function () {
+    var that = this
+    clearTimeout(this.timeout)
+    this.hide(function () {
+      that.$element.off('.' + that.type).removeData('bs.' + that.type)
+    })
+  }
+
+
+  // TOOLTIP PLUGIN DEFINITION
+  // =========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.tooltip')
+      var options = typeof option == 'object' && option
+
+      if (!data && /destroy|hide/.test(option)) return
+      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.tooltip
+
+  $.fn.tooltip             = Plugin
+  $.fn.tooltip.Constructor = Tooltip
+
+
+  // TOOLTIP NO CONFLICT
+  // ===================
+
+  $.fn.tooltip.noConflict = function () {
+    $.fn.tooltip = old
+    return this
+  }
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: popover.js v3.3.4
+ * http://getbootstrap.com/javascript/#popovers
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // POPOVER PUBLIC CLASS DEFINITION
+  // ===============================
+
+  var Popover = function (element, options) {
+    this.init('popover', element, options)
+  }
+
+  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
+
+  Popover.VERSION  = '3.3.4'
+
+  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
+    placement: 'right',
+    trigger: 'click',
+    content: '',
+    template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
+  })
+
+
+  // NOTE: POPOVER EXTENDS tooltip.js
+  // ================================
+
+  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
+
+  Popover.prototype.constructor = Popover
+
+  Popover.prototype.getDefaults = function () {
+    return Popover.DEFAULTS
+  }
+
+  Popover.prototype.setContent = function () {
+    var $tip    = this.tip()
+    var title   = this.getTitle()
+    var content = this.getContent()
+
+    $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
+    $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
+      this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
+    ](content)
+
+    $tip.removeClass('fade top bottom left right in')
+
+    // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
+    // this manually by checking the contents.
+    if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
+  }
+
+  Popover.prototype.hasContent = function () {
+    return this.getTitle() || this.getContent()
+  }
+
+  Popover.prototype.getContent = function () {
+    var $e = this.$element
+    var o  = this.options
+
+    return $e.attr('data-content')
+      || (typeof o.content == 'function' ?
+            o.content.call($e[0]) :
+            o.content)
+  }
+
+  Popover.prototype.arrow = function () {
+    return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
+  }
+
+
+  // POPOVER PLUGIN DEFINITION
+  // =========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.popover')
+      var options = typeof option == 'object' && option
+
+      if (!data && /destroy|hide/.test(option)) return
+      if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.popover
+
+  $.fn.popover             = Plugin
+  $.fn.popover.Constructor = Popover
+
+
+  // POPOVER NO CONFLICT
+  // ===================
+
+  $.fn.popover.noConflict = function () {
+    $.fn.popover = old
+    return this
+  }
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: scrollspy.js v3.3.4
+ * http://getbootstrap.com/javascript/#scrollspy
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // SCROLLSPY CLASS DEFINITION
+  // ==========================
+
+  function ScrollSpy(element, options) {
+    this.$body          = $(document.body)
+    this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
+    this.options        = $.extend({}, ScrollSpy.DEFAULTS, options)
+    this.selector       = (this.options.target || '') + ' .nav li > a'
+    this.offsets        = []
+    this.targets        = []
+    this.activeTarget   = null
+    this.scrollHeight   = 0
+
+    this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
+    this.refresh()
+    this.process()
+  }
+
+  ScrollSpy.VERSION  = '3.3.4'
+
+  ScrollSpy.DEFAULTS = {
+    offset: 10
+  }
+
+  ScrollSpy.prototype.getScrollHeight = function () {
+    return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
+  }
+
+  ScrollSpy.prototype.refresh = function () {
+    var that          = this
+    var offsetMethod  = 'offset'
+    var offsetBase    = 0
+
+    this.offsets      = []
+    this.targets      = []
+    this.scrollHeight = this.getScrollHeight()
+
+    if (!$.isWindow(this.$scrollElement[0])) {
+      offsetMethod = 'position'
+      offsetBase   = this.$scrollElement.scrollTop()
+    }
+
+    this.$body
+      .find(this.selector)
+      .map(function () {
+        var $el   = $(this)
+        var href  = $el.data('target') || $el.attr('href')
+        var $href = /^#./.test(href) && $(href)
+
+        return ($href
+          && $href.length
+          && $href.is(':visible')
+          && [[$href[offsetMethod]().top + offsetBase, href]]) || null
+      })
+      .sort(function (a, b) { return a[0] - b[0] })
+      .each(function () {
+        that.offsets.push(this[0])
+        that.targets.push(this[1])
+      })
+  }
+
+  ScrollSpy.prototype.process = function () {
+    var scrollTop    = this.$scrollElement.scrollTop() + this.options.offset
+    var scrollHeight = this.getScrollHeight()
+    var maxScroll    = this.options.offset + scrollHeight - this.$scrollElement.height()
+    var offsets      = this.offsets
+    var targets      = this.targets
+    var activeTarget = this.activeTarget
+    var i
+
+    if (this.scrollHeight != scrollHeight) {
+      this.refresh()
+    }
+
+    if (scrollTop >= maxScroll) {
+      return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
+    }
+
+    if (activeTarget && scrollTop < offsets[0]) {
+      this.activeTarget = null
+      return this.clear()
+    }
+
+    for (i = offsets.length; i--;) {
+      activeTarget != targets[i]
+        && scrollTop >= offsets[i]
+        && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
+        && this.activate(targets[i])
+    }
+  }
+
+  ScrollSpy.prototype.activate = function (target) {
+    this.activeTarget = target
+
+    this.clear()
+
+    var selector = this.selector +
+      '[data-target="' + target + '"],' +
+      this.selector + '[href="' + target + '"]'
+
+    var active = $(selector)
+      .parents('li')
+      .addClass('active')
+
+    if (active.parent('.dropdown-menu').length) {
+      active = active
+        .closest('li.dropdown')
+        .addClass('active')
+    }
+
+    active.trigger('activate.bs.scrollspy')
+  }
+
+  ScrollSpy.prototype.clear = function () {
+    $(this.selector)
+      .parentsUntil(this.options.target, '.active')
+      .removeClass('active')
+  }
+
+
+  // SCROLLSPY PLUGIN DEFINITION
+  // ===========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.scrollspy')
+      var options = typeof option == 'object' && option
+
+      if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.scrollspy
+
+  $.fn.scrollspy             = Plugin
+  $.fn.scrollspy.Constructor = ScrollSpy
+
+
+  // SCROLLSPY NO CONFLICT
+  // =====================
+
+  $.fn.scrollspy.noConflict = function () {
+    $.fn.scrollspy = old
+    return this
+  }
+
+
+  // SCROLLSPY DATA-API
+  // ==================
+
+  $(window).on('load.bs.scrollspy.data-api', function () {
+    $('[data-spy="scroll"]').each(function () {
+      var $spy = $(this)
+      Plugin.call($spy, $spy.data())
+    })
+  })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: tab.js v3.3.4
+ * http://getbootstrap.com/javascript/#tabs
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // TAB CLASS DEFINITION
+  // ====================
+
+  var Tab = function (element) {
+    this.element = $(element)
+  }
+
+  Tab.VERSION = '3.3.4'
+
+  Tab.TRANSITION_DURATION = 150
+
+  Tab.prototype.show = function () {
+    var $this    = this.element
+    var $ul      = $this.closest('ul:not(.dropdown-menu)')
+    var selector = $this.data('target')
+
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+    }
+
+    if ($this.parent('li').hasClass('active')) return
+
+    var $previous = $ul.find('.active:last a')
+    var hideEvent = $.Event('hide.bs.tab', {
+      relatedTarget: $this[0]
+    })
+    var showEvent = $.Event('show.bs.tab', {
+      relatedTarget: $previous[0]
+    })
+
+    $previous.trigger(hideEvent)
+    $this.trigger(showEvent)
+
+    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
+
+    var $target = $(selector)
+
+    this.activate($this.closest('li'), $ul)
+    this.activate($target, $target.parent(), function () {
+      $previous.trigger({
+        type: 'hidden.bs.tab',
+        relatedTarget: $this[0]
+      })
+      $this.trigger({
+        type: 'shown.bs.tab',
+        relatedTarget: $previous[0]
+      })
+    })
+  }
+
+  Tab.prototype.activate = function (element, container, callback) {
+    var $active    = container.find('> .active')
+    var transition = callback
+      && $.support.transition
+      && (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length)
+
+    function next() {
+      $active
+        .removeClass('active')
+        .find('> .dropdown-menu > .active')
+          .removeClass('active')
+        .end()
+        .find('[data-toggle="tab"]')
+          .attr('aria-expanded', false)
+
+      element
+        .addClass('active')
+        .find('[data-toggle="tab"]')
+          .attr('aria-expanded', true)
+
+      if (transition) {
+        element[0].offsetWidth // reflow for transition
+        element.addClass('in')
+      } else {
+        element.removeClass('fade')
+      }
+
+      if (element.parent('.dropdown-menu').length) {
+        element
+          .closest('li.dropdown')
+            .addClass('active')
+          .end()
+          .find('[data-toggle="tab"]')
+            .attr('aria-expanded', true)
+      }
+
+      callback && callback()
+    }
+
+    $active.length && transition ?
+      $active
+        .one('bsTransitionEnd', next)
+        .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
+      next()
+
+    $active.removeClass('in')
+  }
+
+
+  // TAB PLUGIN DEFINITION
+  // =====================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this = $(this)
+      var data  = $this.data('bs.tab')
+
+      if (!data) $this.data('bs.tab', (data = new Tab(this)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.tab
+
+  $.fn.tab             = Plugin
+  $.fn.tab.Constructor = Tab
+
+
+  // TAB NO CONFLICT
+  // ===============
+
+  $.fn.tab.noConflict = function () {
+    $.fn.tab = old
+    return this
+  }
+
+
+  // TAB DATA-API
+  // ============
+
+  var clickHandler = function (e) {
+    e.preventDefault()
+    Plugin.call($(this), 'show')
+  }
+
+  $(document)
+    .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
+    .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: affix.js v3.3.4
+ * http://getbootstrap.com/javascript/#affix
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // AFFIX CLASS DEFINITION
+  // ======================
+
+  var Affix = function (element, options) {
+    this.options = $.extend({}, Affix.DEFAULTS, options)
+
+    this.$target = $(this.options.target)
+      .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
+      .on('click.bs.affix.data-api',  $.proxy(this.checkPositionWithEventLoop, this))
+
+    this.$element     = $(element)
+    this.affixed      = null
+    this.unpin        = null
+    this.pinnedOffset = null
+
+    this.checkPosition()
+  }
+
+  Affix.VERSION  = '3.3.4'
+
+  Affix.RESET    = 'affix affix-top affix-bottom'
+
+  Affix.DEFAULTS = {
+    offset: 0,
+    target: window
+  }
+
+  Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
+    var scrollTop    = this.$target.scrollTop()
+    var position     = this.$element.offset()
+    var targetHeight = this.$target.height()
+
+    if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
+
+    if (this.affixed == 'bottom') {
+      if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
+      return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
+    }
+
+    var initializing   = this.affixed == null
+    var colliderTop    = initializing ? scrollTop : position.top
+    var colliderHeight = initializing ? targetHeight : height
+
+    if (offsetTop != null && scrollTop <= offsetTop) return 'top'
+    if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
+
+    return false
+  }
+
+  Affix.prototype.getPinnedOffset = function () {
+    if (this.pinnedOffset) return this.pinnedOffset
+    this.$element.removeClass(Affix.RESET).addClass('affix')
+    var scrollTop = this.$target.scrollTop()
+    var position  = this.$element.offset()
+    return (this.pinnedOffset = position.top - scrollTop)
+  }
+
+  Affix.prototype.checkPositionWithEventLoop = function () {
+    setTimeout($.proxy(this.checkPosition, this), 1)
+  }
+
+  Affix.prototype.checkPosition = function () {
+    if (!this.$element.is(':visible')) return
+
+    var height       = this.$element.height()
+    var offset       = this.options.offset
+    var offsetTop    = offset.top
+    var offsetBottom = offset.bottom
+    var scrollHeight = $(document.body).height()
+
+    if (typeof offset != 'object')         offsetBottom = offsetTop = offset
+    if (typeof offsetTop == 'function')    offsetTop    = offset.top(this.$element)
+    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
+
+    var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
+
+    if (this.affixed != affix) {
+      if (this.unpin != null) this.$element.css('top', '')
+
+      var affixType = 'affix' + (affix ? '-' + affix : '')
+      var e         = $.Event(affixType + '.bs.affix')
+
+      this.$element.trigger(e)
+
+      if (e.isDefaultPrevented()) return
+
+      this.affixed = affix
+      this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
+
+      this.$element
+        .removeClass(Affix.RESET)
+        .addClass(affixType)
+        .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
+    }
+
+    if (affix == 'bottom') {
+      this.$element.offset({
+        top: scrollHeight - height - offsetBottom
+      })
+    }
+  }
+
+
+  // AFFIX PLUGIN DEFINITION
+  // =======================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.affix')
+      var options = typeof option == 'object' && option
+
+      if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.affix
+
+  $.fn.affix             = Plugin
+  $.fn.affix.Constructor = Affix
+
+
+  // AFFIX NO CONFLICT
+  // =================
+
+  $.fn.affix.noConflict = function () {
+    $.fn.affix = old
+    return this
+  }
+
+
+  // AFFIX DATA-API
+  // ==============
+
+  $(window).on('load', function () {
+    $('[data-spy="affix"]').each(function () {
+      var $spy = $(this)
+      var data = $spy.data()
+
+      data.offset = data.offset || {}
+
+      if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
+      if (data.offsetTop    != null) data.offset.top    = data.offsetTop
+
+      Plugin.call($spy, data)
+    })
+  })
+
+}(jQuery);
diff --git a/hubs/static/bootstrap-3.3.4-fedora/js/bootstrap.min.js b/hubs/static/bootstrap-3.3.4-fedora/js/bootstrap.min.js
new file mode 100644
index 0000000..156b6b5
--- /dev/null
+++ b/hubs/static/bootstrap-3.3.4-fedora/js/bootstrap.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.4",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.4",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.4",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(b&&"click"==b.type&&/input|textarea/i.test(b.target.tagName)&&a.contains(e[0],b.target)||(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.4",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.4",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport),this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-m<p.top?"bottom":"right"==h&&k.right+l>p.width?"left":"left"==h&&k.left-l<p.left?"right":h,f.removeClass(n).addClass(h)}var q=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(q,h);var r=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",r).emulateTransitionEnd(c.TRANSITION_DURATION):r()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.4",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.4",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.4",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),
+!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.4",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a(document.body).height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file
diff --git a/hubs/static/bootstrap-3.3.4-fedora/js/npm.js b/hubs/static/bootstrap-3.3.4-fedora/js/npm.js
new file mode 100644
index 0000000..bf6aa80
--- /dev/null
+++ b/hubs/static/bootstrap-3.3.4-fedora/js/npm.js
@@ -0,0 +1,13 @@
+// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
+require('../../js/transition.js')
+require('../../js/alert.js')
+require('../../js/button.js')
+require('../../js/carousel.js')
+require('../../js/collapse.js')
+require('../../js/dropdown.js')
+require('../../js/modal.js')
+require('../../js/tooltip.js')
+require('../../js/popover.js')
+require('../../js/scrollspy.js')
+require('../../js/tab.js')
+require('../../js/affix.js')
\ No newline at end of file

From 71e941156d6e3319f756dcfed8cbd5c0960fd13e Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 16 2015 17:13:46 +0000
Subject: [PATCH 2/254] Style up widgets just a bit.


---

diff --git a/hubs/models.py b/hubs/models.py
index 74b935f..4c5bcdf 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -82,6 +82,11 @@ class Hub(BASE):
     name = sa.Column(sa.String(50), primary_key=True)
     created_on = sa.Column(sa.DateTime, default=datetime.datetime.utcnow)
     widgets = relation('Widget', backref=backref('hub'))
+    left_width = sa.Column(sa.Integer, nullable=False, default=8)
+
+    @property
+    def right_width(self):
+        return 12 - self.left_width
 
     @property
     def left_widgets(self):
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 14f6990..e95feb4 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -4,21 +4,23 @@
 <link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
 </head>
 <body>
-<div class="row">
-  <div class="col-md-8">
-    {% for widget in hub.left_widgets %}
-    <div class="row">
-      {{ widget.render(request, session) }}
+<div class="container">
+  <div class="row">
+    <div class="col-md-{{ hub.left_width }}">
+      {% for widget in hub.left_widgets %}
+      <div class="row">
+        {{ widget.render(request, session) | safe }}
+      </div>
+      {% endfor %}
     </div>
-    {% endfor %}
-  </div>
 
-  <div class="col-md-4">
-    {% for widget in hub.right_widgets %}
-    <div class="row">
-      {{ widget.render(request, session) }}
+    <div class="col-md-{{ hub.right_width }}">
+      {% for widget in hub.right_widgets %}
+      <div class="row">
+        {{ widget.render(request, session) | safe }}
+      </div>
+      {% endfor %}
     </div>
-    {% endfor %}
   </div>
 </div>
 </body>
diff --git a/hubs/widgets/chrome.py b/hubs/widgets/chrome.py
new file mode 100644
index 0000000..16d27e6
--- /dev/null
+++ b/hubs/widgets/chrome.py
@@ -0,0 +1,28 @@
+
+_panel_template = """
+<div class="panel panel-default">
+  {heading}
+  <div class="panel-body">
+    {content}
+  </div> <!-- end panel-body -->
+</div> <!-- end panel -->
+"""
+
+_panel_heading_template = """
+  <div class="panel-heading">
+    <h3 class="panel-title">
+      {title}
+    </h3>
+  </div> <!-- end panel-heading -->
+"""
+
+def panel(title=None):
+    def decorator(func):
+        def inner(*args, **kwargs):
+            heading = ''
+            if title:
+                heading = _panel_heading_template.format(title=title)
+            content = func(*args, **kwargs)
+            return _panel_template.format(content=content, heading=heading)
+        return inner
+    return decorator
diff --git a/hubs/widgets/dummy.py b/hubs/widgets/dummy.py
index 79d551d..b2e0983 100644
--- a/hubs/widgets/dummy.py
+++ b/hubs/widgets/dummy.py
@@ -1,3 +1,5 @@
+from chrome import panel
 
+@panel("This is a dummy widget")
 def render(request, session, config):
-    return "hello"
+    return "hello world"

From 8d55dff5857460d128c23a30a7228b6a89441b4a Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 16 2015 17:15:16 +0000
Subject: [PATCH 3/254] Add populate script for dev db.


---

diff --git a/populate.py b/populate.py
new file mode 100644
index 0000000..135c1ad
--- /dev/null
+++ b/populate.py
@@ -0,0 +1,19 @@
+import hubs.models
+
+session = hubs.models.init('sqlite:////var/tmp/hubs.db', True, True)
+
+hub = hubs.models.Hub(name='lol')
+session.add(hub)
+
+widget = hubs.models.Widget(plugin='dummy', index=0)
+session.add(hub)
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='dummy', index=1)
+session.add(hub)
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='dummy', index=0, left=True)
+session.add(hub)
+hub.widgets.append(widget)
+
+session.commit()
+

From b561169aa710f956b489899f48d127c6f71e83fe Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 16 2015 17:45:56 +0000
Subject: [PATCH 4/254] Make widgets configurable.


---

diff --git a/hubs/models.py b/hubs/models.py
index 4c5bcdf..db4c743 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -22,6 +22,7 @@
 
 
 import datetime
+import json
 import logging
 
 import sqlalchemy as sa
@@ -105,26 +106,43 @@ class Hub(BASE):
             'name': self.name,
         }
 
+def _config_default(context):
+    plugin_name = context.current_parameters['plugin']
+    plugin = widgets.registry[plugin_name]
+
+    print plugin.widget_arguments
+    return json.dumps(dict([
+        (arg.name, arg.default) for arg in plugin.widget_arguments
+    ]))
+
 
 class Widget(BASE):
     __tablename__ = 'widgets'
     idx = sa.Column(sa.Integer, primary_key=True)
-    plugin = sa.Column(sa.String(50))
+    plugin = sa.Column(sa.String(50), nullable=False)
     created_on = sa.Column(sa.DateTime, default=datetime.datetime.utcnow)
     hub_id = sa.Column(sa.String(50), sa.ForeignKey('hubs.name'))
-    #config = ...
-    config = 'lol'
+    _config = sa.Column(sa.String(256), default=_config_default)
 
     index = sa.Column(sa.Integer, nullable=False)
     left = sa.Column(sa.Boolean, nullable=False, default=False)
 
+    @property
+    def config(self):
+        return json.loads(self._config)
+
+    @config.setter
+    def config_setter(self, config):
+        self._config = json.dumps(config)
+
     def __json__(self, reify=False):
         return {
             'plugin': self.plugin,
         }
 
     def render(self, request, session):
-        return widgets.registry[self.plugin](request, session, self.config)
+        plugin = widgets.registry[self.plugin]
+        return plugin(request, session, **self.config)
 
 
 class User(BASE):
diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
new file mode 100644
index 0000000..69715c8
--- /dev/null
+++ b/hubs/widgets/base.py
@@ -0,0 +1,14 @@
+import collections
+
+Argument = collections.namedtuple('Argument', ('name', 'default', 'help'))
+
+
+def argument(name, default, help):
+    def decorator(func):
+        def inner(*args, **kwargs):
+            return func(*args, **kwargs)
+
+        inner.widget_arguments = getattr(func, 'widget_arguments', [])
+        inner.widget_arguments.append(Argument(name, default, help))
+        return inner
+    return decorator
diff --git a/hubs/widgets/chrome.py b/hubs/widgets/chrome.py
index 16d27e6..afc3e0d 100644
--- a/hubs/widgets/chrome.py
+++ b/hubs/widgets/chrome.py
@@ -24,5 +24,7 @@ def panel(title=None):
                 heading = _panel_heading_template.format(title=title)
             content = func(*args, **kwargs)
             return _panel_template.format(content=content, heading=heading)
+
+        inner.widget_arguments = getattr(func, 'widget_arguments', [])
         return inner
     return decorator
diff --git a/hubs/widgets/dummy.py b/hubs/widgets/dummy.py
index b2e0983..ab4e963 100644
--- a/hubs/widgets/dummy.py
+++ b/hubs/widgets/dummy.py
@@ -1,5 +1,8 @@
 from chrome import panel
+from base import argument
 
 @panel("This is a dummy widget")
-def render(request, session, config):
-    return "hello world"
+@argument(name="text", default="Lorem ipsum dolor...",
+          help="Some dummy text to display.")
+def render(request, session, text):
+    return text

From 01feafd7251868f3405122e38940d9d90b73a256 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 16 2015 17:51:51 +0000
Subject: [PATCH 5/254] Wrap up argument propagation in a @wraps decorator.


---

diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index 69715c8..88f750f 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -1,14 +1,24 @@
 import collections
+import functools
+
 
 Argument = collections.namedtuple('Argument', ('name', 'default', 'help'))
 
 
 def argument(name, default, help):
     def decorator(func):
+        @wraps(func)
         def inner(*args, **kwargs):
             return func(*args, **kwargs)
 
-        inner.widget_arguments = getattr(func, 'widget_arguments', [])
         inner.widget_arguments.append(Argument(name, default, help))
         return inner
     return decorator
+
+def wraps(original):
+    @functools.wraps(original)
+    def decorator(subsequent):
+        subsequent = functools.wraps(original)(subsequent)
+        subsequent.widget_arguments = getattr(original, 'widget_arguments', [])
+        return subsequent
+    return decorator
diff --git a/hubs/widgets/chrome.py b/hubs/widgets/chrome.py
index afc3e0d..7862e49 100644
--- a/hubs/widgets/chrome.py
+++ b/hubs/widgets/chrome.py
@@ -1,3 +1,4 @@
+from base import wraps
 
 _panel_template = """
 <div class="panel panel-default">
@@ -16,15 +17,15 @@ _panel_heading_template = """
   </div> <!-- end panel-heading -->
 """
 
+
 def panel(title=None):
     def decorator(func):
+        @wraps(func)
         def inner(*args, **kwargs):
             heading = ''
             if title:
                 heading = _panel_heading_template.format(title=title)
             content = func(*args, **kwargs)
             return _panel_template.format(content=content, heading=heading)
-
-        inner.widget_arguments = getattr(func, 'widget_arguments', [])
         return inner
     return decorator

From e57f0bac4d054582df4cbce7438bfc9ec4ca62b6 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 16 2015 18:07:33 +0000
Subject: [PATCH 6/254] Make DB_URL configurable.


---

diff --git a/hubs/app.py b/hubs/app.py
index 598497e..e059240 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -1,9 +1,17 @@
+import os
+
 import flask
 
 import models
 
 app = flask.Flask(__name__)
 
+
+app.config.from_object('default_config')
+if 'HUBS_CONFIG' in os.environ:
+    app.config.from_envvar('HUBS_CONFIG')
+
+
 @app.route('/')
 def index():
     return "hi there"
@@ -11,7 +19,7 @@ def index():
 
 @app.route('/<hub_name>')
 def hubs_view(hub_name):
-    session = models.init('sqlite:////var/tmp/hubs.db')
+    session = models.init(app.config['DB_URL'])
     hub = session.query(models.Hub)\
         .filter(models.Hub.name==hub_name)\
         .first()
diff --git a/hubs/default_config.py b/hubs/default_config.py
new file mode 100644
index 0000000..3a6a0ff
--- /dev/null
+++ b/hubs/default_config.py
@@ -0,0 +1,2 @@
+# Production ready.
+DB_URL = 'sqlite:////var/tmp/hubs.db'
diff --git a/populate.py b/populate.py
index 135c1ad..7263aa7 100644
--- a/populate.py
+++ b/populate.py
@@ -1,6 +1,15 @@
+import os
+
+import flask
+
 import hubs.models
 
-session = hubs.models.init('sqlite:////var/tmp/hubs.db', True, True)
+app = flask.Flask(__name__)
+app.config.from_object('hubs.default_config')
+if 'HUBS_CONFIG' in os.environ:
+    app.config.from_envvar('HUBS_CONFIG')
+
+session = hubs.models.init(app.config['DB_URL'], True, True)
 
 hub = hubs.models.Hub(name='lol')
 session.add(hub)

From 5c6e221893fb9cafc18057d5363f0371e88016d7 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 16 2015 18:12:10 +0000
Subject: [PATCH 7/254] Start to add some validators.


---

diff --git a/hubs/validators.py b/hubs/validators.py
new file mode 100644
index 0000000..470aad7
--- /dev/null
+++ b/hubs/validators.py
@@ -0,0 +1,5 @@
+import kitchen.text.converters
+
+
+def text(value):
+    return kitchen.text.converters.to_unicode(value)
diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index 88f750f..01f7c7e 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -2,16 +2,16 @@ import collections
 import functools
 
 
-Argument = collections.namedtuple('Argument', ('name', 'default', 'help'))
+Argument = collections.namedtuple('Argument', ('name', 'default', 'validator', 'help'))
 
 
-def argument(name, default, help):
+def argument(name, default, validator, help):
     def decorator(func):
         @wraps(func)
         def inner(*args, **kwargs):
             return func(*args, **kwargs)
 
-        inner.widget_arguments.append(Argument(name, default, help))
+        inner.widget_arguments.append(Argument(name, default, validator, help))
         return inner
     return decorator
 
diff --git a/hubs/widgets/dummy.py b/hubs/widgets/dummy.py
index ab4e963..5ddaa9a 100644
--- a/hubs/widgets/dummy.py
+++ b/hubs/widgets/dummy.py
@@ -1,8 +1,11 @@
 from chrome import panel
 from base import argument
 
+import hubs.validators as validators
+
 @panel("This is a dummy widget")
 @argument(name="text", default="Lorem ipsum dolor...",
+          validator=validators.text,
           help="Some dummy text to display.")
 def render(request, session, text):
     return text

From fe39c3efbf1696efd8dd643a862edd338eb1804f Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 16 2015 19:46:10 +0000
Subject: [PATCH 8/254] Messing with styling.


---

diff --git a/hubs/app.py b/hubs/app.py
index e059240..031b971 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -18,6 +18,7 @@ def index():
 
 
 @app.route('/<hub_name>')
+@app.route('/<hub_name>/')
 def hubs_view(hub_name):
     session = models.init(app.config['DB_URL'])
     hub = session.query(models.Hub)\
diff --git a/hubs/models.py b/hubs/models.py
index db4c743..5782b60 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -81,10 +81,18 @@ def init(db_url, debug=False, create=False):
 class Hub(BASE):
     __tablename__ = 'hubs'
     name = sa.Column(sa.String(50), primary_key=True)
+    summary = sa.Column(sa.String(128))
     created_on = sa.Column(sa.DateTime, default=datetime.datetime.utcnow)
     widgets = relation('Widget', backref=backref('hub'))
     left_width = sa.Column(sa.Integer, nullable=False, default=8)
 
+    #fas_group = sa.Column(sa.String(32), nullable=False)
+
+    #members = ...
+    #subscribers = ...
+    #owners = ...
+
+
     @property
     def right_width(self):
         return 12 - self.left_width
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index e95feb4..b2b8579 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -1,9 +1,38 @@
 <html>
 <head>
-<title>{{ hub.name }}</title>
-<link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
+  <title>{{ hub.name }}</title>
+  <link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
+  <style>
+    body {
+      background-color: #d1d3d4;
+    }
+    .panel {
+      border-radius: 0px;
+    }
+    .header {
+      color: #ffffff;
+      background-color: #3c6eb4;
+      width: 100%;
+    }
+    .padded {
+      padding: 5px;
+    }
+    .medium-wide {
+      width: 250px;
+    }
+    h1, h2, h3, h4, h5, h6 {
+      margin-top: 0px;
+      margin-bottom: 0px;
+    }
+  </style>
 </head>
 <body>
+<div class="header">
+  <div class="padded center-block medium-wide">
+    <h3>{{hub.name}}</h3>
+    <h5>{{hub.summary}}</h5>
+  </div>
+</div>
 <div class="container">
   <div class="row">
     <div class="col-md-{{ hub.left_width }}">
diff --git a/populate.py b/populate.py
index 7263aa7..904d512 100644
--- a/populate.py
+++ b/populate.py
@@ -11,7 +11,7 @@ if 'HUBS_CONFIG' in os.environ:
 
 session = hubs.models.init(app.config['DB_URL'], True, True)
 
-hub = hubs.models.Hub(name='lol')
+hub = hubs.models.Hub(name='designteam', summary='The Fedora Design Team')
 session.add(hub)
 
 widget = hubs.models.Widget(plugin='dummy', index=0)

From 6544ed3cd62d27e57f6cec75fbdcc34039a51d2a Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 16 2015 21:35:41 +0000
Subject: [PATCH 9/254] Add a stats and a rules widget.


---

diff --git a/hubs/models.py b/hubs/models.py
index 5782b60..c8c006a 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -88,10 +88,11 @@ class Hub(BASE):
 
     #fas_group = sa.Column(sa.String(32), nullable=False)
 
-    #members = ...
-    #subscribers = ...
-    #owners = ...
-
+    # This is just some silly dev data.  eventually, connect this
+    # to real database data.
+    owners = ['tatica', 'gnokii', 'duffy', 'ryanlerch']
+    members = ['ralph', 'sadin', 'sayan'] + owners
+    subscribers = []
 
     @property
     def right_width(self):
@@ -150,7 +151,7 @@ class Widget(BASE):
 
     def render(self, request, session):
         plugin = widgets.registry[self.plugin]
-        return plugin(request, session, **self.config)
+        return plugin(request, session, self, **self.config)
 
 
 class User(BASE):
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index b2b8579..c2a8247 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -14,6 +14,9 @@
       background-color: #3c6eb4;
       width: 100%;
     }
+    .row {
+      padding: 5px;
+    }
     .padded {
       padding: 5px;
     }
diff --git a/hubs/validators.py b/hubs/validators.py
index 470aad7..9525da1 100644
--- a/hubs/validators.py
+++ b/hubs/validators.py
@@ -3,3 +3,7 @@ import kitchen.text.converters
 
 def text(value):
     return kitchen.text.converters.to_unicode(value)
+
+def link(value):
+    # TODO -- verify that this is actually a link
+    return value
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 1ef49ec..f30c8d6 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -1,5 +1,9 @@
 import dummy
+import stats
+import rules
 
 registry = {
     'dummy': dummy.render,
+    'stats': stats.render,
+    'rules': rules.render,
 }
diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index 01f7c7e..d981ba1 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -1,6 +1,7 @@
 import collections
 import functools
-
+import hashlib
+import urllib
 
 Argument = collections.namedtuple('Argument', ('name', 'default', 'validator', 'help'))
 
@@ -22,3 +23,11 @@ def wraps(original):
         subsequent.widget_arguments = getattr(original, 'widget_arguments', [])
         return subsequent
     return decorator
+
+
+def avatar(username, size=32):
+    openid = 'http://%s.id.fedoraproject.org/' % username
+    query = urllib.urlencode({'s': size, 'd': 'retro'})
+    hash = hashlib.sha256(openid).hexdigest()
+    template = "https://seccdn.libravatar.org/avatar/%s?%s"
+    return template % (hash, query)
diff --git a/hubs/widgets/dummy.py b/hubs/widgets/dummy.py
index 5ddaa9a..a35e9d2 100644
--- a/hubs/widgets/dummy.py
+++ b/hubs/widgets/dummy.py
@@ -7,5 +7,5 @@ import hubs.validators as validators
 @argument(name="text", default="Lorem ipsum dolor...",
           validator=validators.text,
           help="Some dummy text to display.")
-def render(request, session, text):
+def render(request, session, widget, text):
     return text
diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
new file mode 100644
index 0000000..7f43eea
--- /dev/null
+++ b/hubs/widgets/rules.py
@@ -0,0 +1,45 @@
+from collections import OrderedDict as ordereddict
+
+import jinja2
+
+from hubs.widgets.chrome import panel
+from hubs.widgets.base import argument, avatar
+from hubs import validators
+
+rules_template = jinja2.Template("""
+<div class="rules-container">
+  {% if link %}
+  <p class="small-heading">community rules</p>
+  <p><a href="{{link}}">Community Rules and Guidelines</a></p>
+  {% endif %}
+  <p class="small-heading">group owners</p>
+  {% for owner in owners %}
+    <span><img class="circle" src="{{owners[owner]}}"/> {{owner}}</span>
+  {% endfor %}
+</div>
+<style>
+  .rules-table {
+    width: 180px
+    padding: 0px;
+    margin: 0px;
+    display: inline-block;
+  }
+  .small-heading {
+    text-transform: uppercase;
+    font-size: 80%;
+    color: #797a7c;
+  }
+  .rules-table td {
+    font-size: 32pt;
+  }
+</style>
+""")
+
+@panel()
+@argument(name='link', default=None,
+          validator=validators.link,
+          help="Link to the community rules and guidelines")
+def render(request, session, widget, link):
+    owners = widget.hub.owners
+    owners = ordereddict([(o, avatar(o)) for o in owners])
+    return rules_template.render(owners=owners, link=link)
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
new file mode 100644
index 0000000..d7a1609
--- /dev/null
+++ b/hubs/widgets/stats.py
@@ -0,0 +1,36 @@
+from chrome import panel
+
+stats_template = """
+<div class="stats-container">
+  <table class="stats-table">
+    <tr><th>Members</th><th>Subscribers</th></tr>
+    <tr class="text-info"><td>{members}</td><td>{subscribers}</td></tr>
+  </table>
+  <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
+</div>
+<style>
+  .stats-table {{
+    width: 180px
+    padding: 0px;
+    margin: 0px;
+    display: inline-block;
+  }}
+  .stats-table th {{
+    text-transform: uppercase;
+    font-size: 80%;
+    padding-right: 10px;
+    color: #797a7c;
+  }}
+  .stats-table td {{
+    font-size: 32pt;
+  }}
+
+</style>
+"""
+
+@panel()
+def render(request, session, widget):
+    return stats_template.format(
+        members=len(widget.hub.members),
+        subscribers=len(widget.hub.subscribers),
+    )
diff --git a/populate.py b/populate.py
index 904d512..0398028 100644
--- a/populate.py
+++ b/populate.py
@@ -1,3 +1,4 @@
+import json
 import os
 
 import flask
@@ -14,14 +15,16 @@ session = hubs.models.init(app.config['DB_URL'], True, True)
 hub = hubs.models.Hub(name='designteam', summary='The Fedora Design Team')
 session.add(hub)
 
-widget = hubs.models.Widget(plugin='dummy', index=0)
-session.add(hub)
+widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
-widget = hubs.models.Widget(plugin='dummy', index=1)
-session.add(hub)
+widget = hubs.models.Widget(plugin='rules', index=1,
+                            _config=json.dumps({
+                                'link': 'http://threebean.org'
+                            }))
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='dummy', index=2)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='dummy', index=0, left=True)
-session.add(hub)
 hub.widgets.append(widget)
 
 session.commit()

From 2010c04a80b1c100f5cae6872ff7a5897d8e5cb3 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 16 2015 21:57:12 +0000
Subject: [PATCH 10/254] Add a sticky note.


---

diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index f30c8d6..2e495f7 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -1,9 +1,11 @@
 import dummy
 import stats
 import rules
+import sticky
 
 registry = {
     'dummy': dummy.render,
     'stats': stats.render,
     'rules': rules.render,
+    'sticky': sticky.render,
 }
diff --git a/hubs/widgets/chrome.py b/hubs/widgets/chrome.py
index 7862e49..1f8d399 100644
--- a/hubs/widgets/chrome.py
+++ b/hubs/widgets/chrome.py
@@ -1,7 +1,7 @@
 from base import wraps
 
 _panel_template = """
-<div class="panel panel-default">
+<div class="panel {klass}">
   {heading}
   <div class="panel-body">
     {content}
@@ -18,7 +18,7 @@ _panel_heading_template = """
 """
 
 
-def panel(title=None):
+def panel(title=None, klass="panel-default"):
     def decorator(func):
         @wraps(func)
         def inner(*args, **kwargs):
@@ -26,6 +26,6 @@ def panel(title=None):
             if title:
                 heading = _panel_heading_template.format(title=title)
             content = func(*args, **kwargs)
-            return _panel_template.format(content=content, heading=heading)
+            return _panel_template.format(content=content, heading=heading, klass=klass)
         return inner
     return decorator
diff --git a/hubs/widgets/sticky.py b/hubs/widgets/sticky.py
new file mode 100644
index 0000000..2246ae1
--- /dev/null
+++ b/hubs/widgets/sticky.py
@@ -0,0 +1,12 @@
+from chrome import panel
+from base import argument
+
+import hubs.validators as validators
+
+@panel(title='Sticky Note', klass="panel-info")
+@argument(name="text", default="Lorem ipsum dolor...",
+          validator=validators.text,
+          help="Some dummy text to display.")
+def render(request, session, widget, text):
+    # TODO -- render with markdown
+    return text
diff --git a/populate.py b/populate.py
index 0398028..439a941 100644
--- a/populate.py
+++ b/populate.py
@@ -24,7 +24,12 @@ widget = hubs.models.Widget(plugin='rules', index=1,
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='dummy', index=2)
 hub.widgets.append(widget)
-widget = hubs.models.Widget(plugin='dummy', index=0, left=True)
+widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
+                            _config=json.dumps({
+                                'text': 'This is a sticky note.',
+                            }))
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
 hub.widgets.append(widget)
 
 session.commit()

From 2f1b1e0f958d5501eec4644834465a2752d7366f Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 16 2015 23:49:51 +0000
Subject: [PATCH 11/254] :books:


---

diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..7a939cc
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,6 @@
+Try running it with::
+
+    $ PYTHONPATH=. python populate.py  # To create the db
+    $ PYTHONPATH=. python hubs/app.py  # To run the dev server
+
+And then navigate to http://localhost:5000/designteam

From 001068efab03bea4db00af22a841e3bc5fea754d Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 17 2015 17:41:50 +0000
Subject: [PATCH 12/254] Redirect to prototype page.


---

diff --git a/hubs/app.py b/hubs/app.py
index 031b971..52b2911 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -14,7 +14,7 @@ if 'HUBS_CONFIG' in os.environ:
 
 @app.route('/')
 def index():
-    return "hi there"
+    return flask.redirect('/designteam')  # TODO - remove this later
 
 
 @app.route('/<hub_name>')

From 232a749e0eca16bf97979695ba0e0bd7d9047c26 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 17 2015 17:42:56 +0000
Subject: [PATCH 13/254] Whoops.  Wrong css class here.


---

diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index 7f43eea..f6d2ee0 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -14,7 +14,7 @@ rules_template = jinja2.Template("""
   {% endif %}
   <p class="small-heading">group owners</p>
   {% for owner in owners %}
-    <span><img class="circle" src="{{owners[owner]}}"/> {{owner}}</span>
+    <span><img class="img-circle" src="{{owners[owner]}}"/> {{owner}}</span>
   {% endfor %}
 </div>
 <style>

From 350e7d4748910672e44aed287ad90f2989b8c932 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Apr 19 2015 20:08:28 +0000
Subject: [PATCH 14/254] Executable.


---

diff --git a/populate.py b/populate.py
old mode 100644
new mode 100755
index 439a941..2c44efc
--- a/populate.py
+++ b/populate.py
@@ -1,3 +1,6 @@
+#!/usr/bin/env python
+""" Populate the hubs db with some dev data. """
+
 import json
 import os
 

From d29a3456defcb9e5543028be708e26955a0a16a3 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 21 2015 15:52:39 +0000
Subject: [PATCH 15/254] Add requirements.txt.


---

diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..34ba9b0
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,3 @@
+flask
+sqlalchemy
+fedmsg

From 9712b3d398512ae0f94fe53bec5a29f1299c9a70 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 21 2015 15:59:07 +0000
Subject: [PATCH 16/254] PEP8.


---

diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index d981ba1..04e1fc5 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -3,7 +3,8 @@ import functools
 import hashlib
 import urllib
 
-Argument = collections.namedtuple('Argument', ('name', 'default', 'validator', 'help'))
+Argument = collections.namedtuple(
+    'Argument', ('name', 'default', 'validator', 'help'))
 
 
 def argument(name, default, validator, help):

From e2b803d463900cc41560261ab12382af67ea72eb Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 21 2015 16:21:59 +0000
Subject: [PATCH 17/254] Rework the widget API to separate data and presentation.


---

diff --git a/hubs/models.py b/hubs/models.py
index c8c006a..660bb9f 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -150,8 +150,8 @@ class Widget(BASE):
         }
 
     def render(self, request, session):
-        plugin = widgets.registry[self.plugin]
-        return plugin(request, session, self, **self.config)
+        module = widgets.registry[self.plugin]
+        return widgets.render(module, request, session, self, **self.config)
 
 
 class User(BASE):
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 2e495f7..1c83230 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -4,8 +4,50 @@ import rules
 import sticky
 
 registry = {
-    'dummy': dummy.render,
-    'stats': stats.render,
-    'rules': rules.render,
-    'sticky': sticky.render,
+    'dummy': dummy,
+    'stats': stats,
+    'rules': rules,
+    'sticky': sticky,
 }
+
+
+def validate_registry(registry):
+    """ Ensure that the widgets in the registry have the bits they need.
+    - Check that a template is available and has a render callable.
+    - Look for a data function, etc..
+    - Ensure it has the right number of arguments, do things to help debugging.
+    """
+    raise NotImplementedError()
+    for name, module in registry.items():
+        pass
+
+def prepare_registry(registry):
+    """ Do things ahead of time that we can to the registry.
+    - Wrap a cache layer around the data functions.
+    - Wrap any chrome around the render functions.
+    """
+    for name, module in registry.items():
+        # Wrap chrome around the render function
+        module.render = module.template.render
+        if hasattr(module, 'chrome'):
+            module.render = module.chrome(module.render)
+
+        # TODO -- wrap a cache layer around the data functions
+        #         do this only if the module provides a cache invalidator
+        #         and warn in the logs if there's not one present?
+
+# TODO -- actually call this
+#validate_registry(registry)
+prepare_registry(registry)
+
+def render(module, *args, **kwargs):
+    """ Main API entry point.
+
+    Call this to render a widget into HTML
+    """
+
+    # The API returns exactly this data.  Shared cache
+    data = module.data(*args, **kwargs)
+
+    # Use the API data to fill out a template, and potentially decorate it.
+    return module.render(**data)
diff --git a/hubs/widgets/dummy.py b/hubs/widgets/dummy.py
index a35e9d2..68119b5 100644
--- a/hubs/widgets/dummy.py
+++ b/hubs/widgets/dummy.py
@@ -1,11 +1,16 @@
 from chrome import panel
 from base import argument
 
+import jinja2
+
 import hubs.validators as validators
 
-@panel("This is a dummy widget")
+
+template = jinja2.Template("{{text}}")
+chrome = panel("This is a dummy widget")
+
 @argument(name="text", default="Lorem ipsum dolor...",
           validator=validators.text,
           help="Some dummy text to display.")
-def render(request, session, widget, text):
-    return text
+def data(request, session, widget, text):
+    return dict(text=text)
diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index f6d2ee0..2a6a632 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -6,7 +6,8 @@ from hubs.widgets.chrome import panel
 from hubs.widgets.base import argument, avatar
 from hubs import validators
 
-rules_template = jinja2.Template("""
+chrome = panel()
+template = jinja2.Template("""
 <div class="rules-container">
   {% if link %}
   <p class="small-heading">community rules</p>
@@ -35,11 +36,10 @@ rules_template = jinja2.Template("""
 </style>
 """)
 
-@panel()
 @argument(name='link', default=None,
           validator=validators.link,
           help="Link to the community rules and guidelines")
-def render(request, session, widget, link):
+def data(request, session, widget, link):
     owners = widget.hub.owners
     owners = ordereddict([(o, avatar(o)) for o in owners])
-    return rules_template.render(owners=owners, link=link)
+    return dict(owners=owners, link=link)
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index d7a1609..c5dbea0 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -1,36 +1,38 @@
 from chrome import panel
 
-stats_template = """
+import jinja2
+
+chrome = panel()
+template = jinja2.Template("""
 <div class="stats-container">
   <table class="stats-table">
     <tr><th>Members</th><th>Subscribers</th></tr>
-    <tr class="text-info"><td>{members}</td><td>{subscribers}</td></tr>
+    <tr class="text-info"><td>{{members}}</td><td>{{subscribers}}</td></tr>
   </table>
   <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
 </div>
 <style>
-  .stats-table {{
+  .stats-table {
     width: 180px
     padding: 0px;
     margin: 0px;
     display: inline-block;
-  }}
-  .stats-table th {{
+  }
+  .stats-table th {
     text-transform: uppercase;
     font-size: 80%;
     padding-right: 10px;
     color: #797a7c;
-  }}
-  .stats-table td {{
+  }
+  .stats-table td {
     font-size: 32pt;
-  }}
-
+  }
 </style>
-"""
+""")
+
 
-@panel()
-def render(request, session, widget):
-    return stats_template.format(
+def data(request, session, widget):
+    return dict(
         members=len(widget.hub.members),
         subscribers=len(widget.hub.subscribers),
     )
diff --git a/hubs/widgets/sticky.py b/hubs/widgets/sticky.py
index 2246ae1..416fd0e 100644
--- a/hubs/widgets/sticky.py
+++ b/hubs/widgets/sticky.py
@@ -1,12 +1,17 @@
 from chrome import panel
 from base import argument
 
+import jinja2
+
 import hubs.validators as validators
 
-@panel(title='Sticky Note', klass="panel-info")
+template = jinja2.Template("{{text}}")
+
+chrome = panel(title='Sticky Note', klass="panel-info")
+
 @argument(name="text", default="Lorem ipsum dolor...",
           validator=validators.text,
           help="Some dummy text to display.")
-def render(request, session, widget, text):
+def data(request, session, widget, text):
     # TODO -- render with markdown
-    return text
+    return dict(text=text)

From bbdc99a2902da8235434c126dda74743aea8bc91 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 21 2015 16:43:26 +0000
Subject: [PATCH 18/254] Provide a 302 to link to the source code for widgets.


---

diff --git a/hubs/app.py b/hubs/app.py
index 52b2911..d6f5510 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -7,6 +7,12 @@ import models
 app = flask.Flask(__name__)
 
 
+# TODO - put this in config so we can migrate to pagure
+# TODO - instead of 'develop', use the version from pkg_resources to figure out
+#        the right tag to link people to.  AGPL ftw.
+SOURCE_URL = 'https://github.com/ralphbean/fedora-hubs-prototype/blob/develop'
+
+
 app.config.from_object('default_config')
 if 'HUBS_CONFIG' in os.environ:
     app.config.from_envvar('HUBS_CONFIG')
@@ -17,16 +23,58 @@ def index():
     return flask.redirect('/designteam')  # TODO - remove this later
 
 
-@app.route('/<hub_name>')
-@app.route('/<hub_name>/')
-def hubs_view(hub_name):
+@app.route('/<name>')
+@app.route('/<name>/')
+def hub(name):
     session = models.init(app.config['DB_URL'])
     hub = session.query(models.Hub)\
-        .filter(models.Hub.name==hub_name)\
+        .filter(models.Hub.name==name)\
         .first()
 
+    if not hub:
+        flask.abort(404)
+
     return flask.render_template('hubs.html', hub=hub, session=session)
 
 
+def get_widget(session, hub, idx):
+    try:
+        idx = int(idx)
+    except TypeError:
+        flask.abort(404)
+
+    hub = session.query(models.Hub)\
+        .filter(models.Hub.name==hub)\
+        .first()
+
+    if not hub:
+        flask.abort(404)
+
+    for widget in hub.widgets:
+        if widget.idx == idx:
+            return widget
+
+    flask.abort(404)
+
+
+@app.route('/<hub>/<idx>')
+@app.route('/<hub>/<idx>/')
+def widget(hub, idx):
+    session = models.init(app.config['DB_URL'])
+    widget = get_widget(session, hub, idx)
+    return widget.render(session, hub, idx)
+
+
+@app.route('/<hub>/<idx>/source')
+@app.route('/<hub>/<idx>/source/')
+def widget_source(hub, idx):
+    from hubs.widgets import registry
+    base = '/hubs/'
+    session = models.init(app.config['DB_URL'])
+    widget = get_widget(session, hub, idx)
+    fname = base + registry[widget.plugin].__file__.split(base, 1)[1][:-1]
+    return flask.redirect(SOURCE_URL + fname)
+
+
 if __name__ == '__main__':
     app.run(debug=True)

From 1a3db3cf129d76fb911964dc22f4d924f182dfa9 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 21 2015 17:31:59 +0000
Subject: [PATCH 19/254] Give every widget a link to its own source code.


---

diff --git a/hubs/app.py b/hubs/app.py
index d6f5510..4e1e666 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -65,14 +65,12 @@ def widget(hub, idx):
     return widget.render(session, hub, idx)
 
 
-@app.route('/<hub>/<idx>/source')
-@app.route('/<hub>/<idx>/source/')
-def widget_source(hub, idx):
+@app.route('/source/<name>')
+@app.route('/source/<name>/')
+def widget_source(name):
     from hubs.widgets import registry
     base = '/hubs/'
-    session = models.init(app.config['DB_URL'])
-    widget = get_widget(session, hub, idx)
-    fname = base + registry[widget.plugin].__file__.split(base, 1)[1][:-1]
+    fname = base + registry[name].__file__.split(base, 1)[1][:-1]
     return flask.redirect(SOURCE_URL + fname)
 
 
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index c2a8247..a8e2810 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -27,6 +27,10 @@
       margin-top: 0px;
       margin-bottom: 0px;
     }
+    .widget-buttons {
+      padding: 5px;
+      /* TODO -- lots more nice styling here... */
+    }
   </style>
 </head>
 <body>
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 1c83230..30fc102 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -3,6 +3,10 @@ import stats
 import rules
 import sticky
 
+from base import AGPLv3
+
+import flask
+
 registry = {
     'dummy': dummy,
     'stats': stats,
@@ -32,6 +36,9 @@ def prepare_registry(registry):
         if hasattr(module, 'chrome'):
             module.render = module.chrome(module.render)
 
+        # Put source links in all API results
+        module.data = AGPLv3(name)(module.data)
+
         # TODO -- wrap a cache layer around the data functions
         #         do this only if the module provides a cache invalidator
         #         and warn in the logs if there's not one present?
diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index 04e1fc5..de78e5e 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -3,6 +3,8 @@ import functools
 import hashlib
 import urllib
 
+import flask
+
 Argument = collections.namedtuple(
     'Argument', ('name', 'default', 'validator', 'help'))
 
@@ -17,6 +19,19 @@ def argument(name, default, validator, help):
         return inner
     return decorator
 
+
+def AGPLv3(name):
+    def decorator(func):
+        @wraps(func)
+        def inner(*args, **kwargs):
+            result = func(*args, **kwargs)
+            result['source_url'] = flask.url_for('widget_source', name=name)
+            return result
+
+        return inner
+    return decorator
+
+
 def wraps(original):
     @functools.wraps(original)
     def decorator(subsequent):
diff --git a/hubs/widgets/chrome.py b/hubs/widgets/chrome.py
index 1f8d399..07c4745 100644
--- a/hubs/widgets/chrome.py
+++ b/hubs/widgets/chrome.py
@@ -1,21 +1,28 @@
 from base import wraps
 
-_panel_template = """
-<div class="panel {klass}">
-  {heading}
+import jinja2
+
+_panel_template = jinja2.Template("""
+<div class="panel {{klass}}">
+  {{heading}}
+  <div class="pull-right widget-buttons">
+    <!-- the AGPLv3 wrapper puts the source url in all responses -->
+    <a href="{{source_url}}"><span class="glyphicon glyphicon-eye-open"></span></a>
+    <a href="#"><span class="glyphicon glyphicon-edit"></span></a>
+  </div>
   <div class="panel-body">
-    {content}
+    {{content}}
   </div> <!-- end panel-body -->
 </div> <!-- end panel -->
-"""
+""")
 
-_panel_heading_template = """
+_panel_heading_template = jinja2.Template("""
   <div class="panel-heading">
     <h3 class="panel-title">
-      {title}
+      {{title}}
     </h3>
   </div> <!-- end panel-heading -->
-"""
+""")
 
 
 def panel(title=None, klass="panel-default"):
@@ -24,8 +31,12 @@ def panel(title=None, klass="panel-default"):
         def inner(*args, **kwargs):
             heading = ''
             if title:
-                heading = _panel_heading_template.format(title=title)
+                heading = _panel_heading_template.render(title=title)
             content = func(*args, **kwargs)
-            return _panel_template.format(content=content, heading=heading, klass=klass)
+            return _panel_template.render(
+                content=content,
+                heading=heading,
+                klass=klass,
+                **kwargs)
         return inner
     return decorator

From 741d748a83a75310d1fcee671550c35030eb417d Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 21 2015 18:03:56 +0000
Subject: [PATCH 20/254] Expose JSON data for widgets.


---

diff --git a/hubs/app.py b/hubs/app.py
index 4e1e666..e9510f9 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -59,10 +59,21 @@ def get_widget(session, hub, idx):
 
 @app.route('/<hub>/<idx>')
 @app.route('/<hub>/<idx>/')
-def widget(hub, idx):
+def widget_render(hub, idx):
     session = models.init(app.config['DB_URL'])
     widget = get_widget(session, hub, idx)
-    return widget.render(session, hub, idx)
+    return widget.render(flask.request, session)
+
+
+@app.route('/<hub>/<idx>/json')
+@app.route('/<hub>/<idx>/json/')
+def widget_json(hub, idx):
+    session = models.init(app.config['DB_URL'])
+    widget = get_widget(session, hub, idx)
+    from hubs.widgets import registry
+    module = registry[widget.plugin]
+    data = module.data(flask.request, session, widget, **widget.config)
+    return flask.jsonify(data)
 
 
 @app.route('/source/<name>')

From d92aa191425f812ad1b13b27b27e8c3caa04cbc5 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 21 2015 21:00:51 +0000
Subject: [PATCH 21/254] Instructions for deps.  Fixes #1.


---

diff --git a/README.rst b/README.rst
index 7a939cc..6c00282 100644
--- a/README.rst
+++ b/README.rst
@@ -1,3 +1,15 @@
+Hacking
+-------
+
+Setup a python virtualenv::
+
+    $ sudo yum install python-virtualenvwrapper
+    $ mkvirtualenv hubs
+
+Install the dependencies from PyPI::
+
+    $ pip install -r requirements.txt
+
 Try running it with::
 
     $ PYTHONPATH=. python populate.py  # To create the db
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 30fc102..b030fd9 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -47,14 +47,15 @@ def prepare_registry(registry):
 #validate_registry(registry)
 prepare_registry(registry)
 
-def render(module, *args, **kwargs):
+def render(module, request, session, widget, *args, **kwargs):
     """ Main API entry point.
 
     Call this to render a widget into HTML
     """
 
+
     # The API returns exactly this data.  Shared cache
-    data = module.data(*args, **kwargs)
+    data = module.data(request, session, widget, *args, **kwargs)
 
     # Use the API data to fill out a template, and potentially decorate it.
     return module.render(**data)

From 076abc243d6c28956bca8a6fbbb10142587eed06 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 21 2015 21:05:54 +0000
Subject: [PATCH 22/254] Remove unused import.


---

diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index b030fd9..8a74f2a 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -5,8 +5,6 @@ import sticky
 
 from base import AGPLv3
 
-import flask
-
 registry = {
     'dummy': dummy,
     'stats': stats,

From 10511e563d51de7834ea5049c2286b5834cbab8e Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 21 2015 21:19:23 +0000
Subject: [PATCH 23/254] Add some internal design notes.


---

diff --git a/README.rst b/README.rst
index 6c00282..b2c4bb4 100644
--- a/README.rst
+++ b/README.rst
@@ -16,3 +16,40 @@ Try running it with::
     $ PYTHONPATH=. python hubs/app.py  # To run the dev server
 
 And then navigate to http://localhost:5000/designteam
+
+Internal design
+---------------
+
+There's no authn or user information at all currently.  There are only:
+
+- widgets
+- hubs (which are just collections of widgets)
+
+How things are currently (they don't have to stay this way):
+
+You write a new widget in the ``hubs/widgets/`` directory and must declare it
+in the registry dict in ``hubs/widgets/__init__.py``.
+
+In order to be valid, a widget must have:
+
+- A ``data(request, session, widgets, **kwargs)`` function that returns a
+  jsonifiable dict of data.  This will get cached -- more on that later.
+- A ``template`` object that is a jinja2 template for that widget.
+- Optionally, a ``chrome`` decorator.
+
+This isn't implemented yet, but they're going to need:
+
+- A ``invalidate(session, message)`` function that will be used to
+  *potentially* invalidate the widget's cache. That function will get called by
+  a backend daemon listening for fedmsg messages so when you update your group
+  memberships in FAS, a fedmsg message hits the fedora-hubs backend and it
+  nukes/refreshes a lookup value in memcached (or some other store).
+
+Furthermore:
+
+- The template per-widget is currently held and rendered *server-side* with
+  jinja2.  This is how all our apps do it, more or less.
+
+  We might want to consider using handlebars.js for our templates instead and
+  rendering all of the widgets asynchronously on the client.  It could be cool,
+  but is new-ground for our team.

From bc0ef8bc46e0faadafe26ca81b940ec8e601a412 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 22 2015 13:22:27 +0000
Subject: [PATCH 24/254] Be careful for widgets that have no arguments.


---

diff --git a/hubs/models.py b/hubs/models.py
index 660bb9f..352854e 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -118,11 +118,8 @@ class Hub(BASE):
 def _config_default(context):
     plugin_name = context.current_parameters['plugin']
     plugin = widgets.registry[plugin_name]
-
-    print plugin.widget_arguments
-    return json.dumps(dict([
-        (arg.name, arg.default) for arg in plugin.widget_arguments
-    ]))
+    arguments = getattr(plugin, 'widget_arguments', [])
+    return json.dumps(dict([(arg.name, arg.default) for arg in arguments]))
 
 
 class Widget(BASE):

From 1da4a22d9d3fed8eabfbb1ccedc64a47c19b8fef Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 22 2015 14:07:10 +0000
Subject: [PATCH 25/254] Get hubs working on python3 as well as python2.


---

diff --git a/hubs/models.py b/hubs/models.py
index 352854e..6d328de 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -36,7 +36,7 @@ from sqlalchemy.orm import backref
 import fedmsg
 import fedmsg.utils
 
-import widgets
+import hubs.widgets
 
 
 class HubsBase(object):
@@ -117,8 +117,8 @@ class Hub(BASE):
 
 def _config_default(context):
     plugin_name = context.current_parameters['plugin']
-    plugin = widgets.registry[plugin_name]
-    arguments = getattr(plugin, 'widget_arguments', [])
+    plugin = hubs.widgets.registry[plugin_name]
+    arguments = getattr(plugin.data, 'widget_arguments', [])
     return json.dumps(dict([(arg.name, arg.default) for arg in arguments]))
 
 
@@ -147,8 +147,9 @@ class Widget(BASE):
         }
 
     def render(self, request, session):
-        module = widgets.registry[self.plugin]
-        return widgets.render(module, request, session, self, **self.config)
+        module = hubs.widgets.registry[self.plugin]
+        render = hubs.widgets.render
+        return render(module, request, session, self, **self.config)
 
 
 class User(BASE):
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 8a74f2a..420c0a3 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -1,9 +1,9 @@
-import dummy
-import stats
-import rules
-import sticky
+from hubs.widgets import dummy
+from hubs.widgets import stats
+from hubs.widgets import rules
+from hubs.widgets import sticky
 
-from base import AGPLv3
+from hubs.widgets.base import AGPLv3
 
 registry = {
     'dummy': dummy,
@@ -15,16 +15,31 @@ registry = {
 
 def validate_registry(registry):
     """ Ensure that the widgets in the registry have the bits they need.
+
     - Check that a template is available and has a render callable.
     - Look for a data function, etc..
-    - Ensure it has the right number of arguments, do things to help debugging.
     """
-    raise NotImplementedError()
     for name, module in registry.items():
-        pass
+        if not hasattr(module, 'template'):
+            raise AttributeError('%r has no "template"' % module)
+        if not hasattr(module.template, 'render'):
+            raise AttributeError('%r\'s template has no "render"' % module)
+        if not callable(module.template.render):
+            raise TypeError('%r\'s template.render not callable' % module)
+
+        if not hasattr(module, 'data'):
+            raise AttributeError('%r has not "data" function' % module)
+        if not callable(module.data):
+            raise TypeError('%r\'s "data" is not callable' % module)
+
+        if hasattr(module, 'chrome'):
+            if not callable(module.chrome):
+                raise TypeError('%r\'s "chrome" is not callable' % module)
+
 
 def prepare_registry(registry):
     """ Do things ahead of time that we can to the registry.
+
     - Wrap a cache layer around the data functions.
     - Wrap any chrome around the render functions.
     """
@@ -41,8 +56,7 @@ def prepare_registry(registry):
         #         do this only if the module provides a cache invalidator
         #         and warn in the logs if there's not one present?
 
-# TODO -- actually call this
-#validate_registry(registry)
+validate_registry(registry)
 prepare_registry(registry)
 
 def render(module, request, session, widget, *args, **kwargs):
@@ -50,8 +64,6 @@ def render(module, request, session, widget, *args, **kwargs):
 
     Call this to render a widget into HTML
     """
-
-
     # The API returns exactly this data.  Shared cache
     data = module.data(request, session, widget, *args, **kwargs)
 
diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index de78e5e..410bab5 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -1,9 +1,9 @@
 import collections
 import functools
 import hashlib
-import urllib
 
 import flask
+from six.moves import urllib_parse
 
 Argument = collections.namedtuple(
     'Argument', ('name', 'default', 'validator', 'help'))
@@ -43,7 +43,7 @@ def wraps(original):
 
 def avatar(username, size=32):
     openid = 'http://%s.id.fedoraproject.org/' % username
-    query = urllib.urlencode({'s': size, 'd': 'retro'})
-    hash = hashlib.sha256(openid).hexdigest()
+    query = urllib_parse.urlencode({'s': size, 'd': 'retro'})
+    hash = hashlib.sha256(openid.encode('utf-8')).hexdigest()
     template = "https://seccdn.libravatar.org/avatar/%s?%s"
     return template % (hash, query)
diff --git a/hubs/widgets/chrome.py b/hubs/widgets/chrome.py
index 07c4745..4ea42c6 100644
--- a/hubs/widgets/chrome.py
+++ b/hubs/widgets/chrome.py
@@ -1,4 +1,4 @@
-from base import wraps
+from hubs.widgets.base import wraps
 
 import jinja2
 
diff --git a/hubs/widgets/dummy.py b/hubs/widgets/dummy.py
index 68119b5..fb44797 100644
--- a/hubs/widgets/dummy.py
+++ b/hubs/widgets/dummy.py
@@ -1,5 +1,5 @@
-from chrome import panel
-from base import argument
+from hubs.widgets.chrome import panel
+from hubs.widgets.base import argument
 
 import jinja2
 
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index c5dbea0..a181453 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -1,4 +1,4 @@
-from chrome import panel
+from hubs.widgets.chrome import panel
 
 import jinja2
 
diff --git a/hubs/widgets/sticky.py b/hubs/widgets/sticky.py
index 416fd0e..60da776 100644
--- a/hubs/widgets/sticky.py
+++ b/hubs/widgets/sticky.py
@@ -1,5 +1,5 @@
-from chrome import panel
-from base import argument
+from hubs.widgets.chrome import panel
+from hubs.widgets.base import argument
 
 import jinja2
 

From e96104f01241d055e14584c9a83ee3bf5a645e7d Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 22 2015 14:08:01 +0000
Subject: [PATCH 26/254] Mention python3 in the readme.


---

diff --git a/README.rst b/README.rst
index b2c4bb4..8ae88f3 100644
--- a/README.rst
+++ b/README.rst
@@ -1,10 +1,13 @@
 Hacking
 -------
 
+Hubs should work on python2 **and** python3, so let's default to python3 and
+see how that goes.
+
 Setup a python virtualenv::
 
     $ sudo yum install python-virtualenvwrapper
-    $ mkvirtualenv hubs
+    $ mkvirtualenv --python=$(which python3) hubs
 
 Install the dependencies from PyPI::
 
@@ -12,8 +15,8 @@ Install the dependencies from PyPI::
 
 Try running it with::
 
-    $ PYTHONPATH=. python populate.py  # To create the db
-    $ PYTHONPATH=. python hubs/app.py  # To run the dev server
+    $ PYTHONPATH=. python3 populate.py  # To create the db
+    $ PYTHONPATH=. python3 hubs/app.py  # To run the dev server
 
 And then navigate to http://localhost:5000/designteam
 

From a4fdd2222a7703799b3ff93b46c5dbc9b096770f Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 22 2015 14:29:39 +0000
Subject: [PATCH 27/254] Add caching around the API.


---

diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 420c0a3..832c936 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -3,7 +3,7 @@ from hubs.widgets import stats
 from hubs.widgets import rules
 from hubs.widgets import sticky
 
-from hubs.widgets.base import AGPLv3
+from hubs.widgets.base import AGPLv3, smartcache
 
 registry = {
     'dummy': dummy,
@@ -52,9 +52,9 @@ def prepare_registry(registry):
         # Put source links in all API results
         module.data = AGPLv3(name)(module.data)
 
-        # TODO -- wrap a cache layer around the data functions
-        #         do this only if the module provides a cache invalidator
-        #         and warn in the logs if there's not one present?
+        # Wrap the data functions in a cache layer to be invalidated by fedmsg
+        module.data = smartcache(module)(module.data)
+
 
 validate_registry(registry)
 prepare_registry(registry)
diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index 410bab5..9519079 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -1,9 +1,23 @@
 import collections
 import functools
 import hashlib
+import json
 
+import dogpile.cache
 import flask
-from six.moves import urllib_parse
+import six.moves.urllib_parse
+
+import fedmsg.config
+
+config = fedmsg.config.load_config()
+cache_defaults = {
+    "backend": "dogpile.cache.dbm",
+    "expiration_time": 1,  # Expire every 1 second, for development
+    "arguments": {"filename": "/var/tmp/fedora-hubs-cache.dbm"},
+}
+cache = dogpile.cache.make_region()
+cache.configure(**config.get('fedora-hubs.cache', cache_defaults))
+
 
 Argument = collections.namedtuple(
     'Argument', ('name', 'default', 'validator', 'help'))
@@ -32,6 +46,26 @@ def AGPLv3(name):
     return decorator
 
 
+def smartcache(module):
+    def decorator(func):
+        @wraps(func)
+        def inner(request, session, widget, *args, **kwargs):
+            key = cache_key_generator(module, args, kwargs)
+            creator = lambda: func(request, session, widget, *args, **kwargs)
+            return cache.get_or_create(key, creator)
+
+        return inner
+    return decorator
+
+
+def cache_key_generator(module, args, kwargs):
+    return "|".join([
+        module.__name__,
+        json.dumps(args),
+        json.dumps(kwargs),
+    ]).encode('utf-8')
+
+
 def wraps(original):
     @functools.wraps(original)
     def decorator(subsequent):
@@ -43,7 +77,7 @@ def wraps(original):
 
 def avatar(username, size=32):
     openid = 'http://%s.id.fedoraproject.org/' % username
-    query = urllib_parse.urlencode({'s': size, 'd': 'retro'})
+    query = six.moves.urllib_parse.urlencode({'s': size, 'd': 'retro'})
     hash = hashlib.sha256(openid.encode('utf-8')).hexdigest()
     template = "https://seccdn.libravatar.org/avatar/%s?%s"
     return template % (hash, query)
diff --git a/requirements.txt b/requirements.txt
index 34ba9b0..0f26348 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,4 @@
 flask
 sqlalchemy
 fedmsg
+dogpile.cache

From 77fce24dafc7bb856c071e3193e6f4f47900849a Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 22 2015 14:47:35 +0000
Subject: [PATCH 28/254] Load page fragments asynchronously.


---

diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index a8e2810..d96958c 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -1,7 +1,6 @@
 <html>
 <head>
   <title>{{ hub.name }}</title>
-  <link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
   <style>
     body {
       background-color: #d1d3d4;
@@ -44,20 +43,34 @@
   <div class="row">
     <div class="col-md-{{ hub.left_width }}">
       {% for widget in hub.left_widgets %}
-      <div class="row">
-        {{ widget.render(request, session) | safe }}
-      </div>
+      <div id="widget-{{ widget.idx }}" class="row"></div>
       {% endfor %}
     </div>
 
     <div class="col-md-{{ hub.right_width }}">
       {% for widget in hub.right_widgets %}
-      <div class="row">
-        {{ widget.render(request, session) | safe }}
-      </div>
+      <div id="widget-{{ widget.idx }}" class="row"></div>
       {% endfor %}
     </div>
   </div>
 </div>
-</body>
-</html>
+
+<link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
+<script src="{{ url_for('static', filename='js/jquery-1.10.2.min.js') }}"></script>
+<script>
+var widgets = [{% for widget in hub.widgets %}'{{ widget.idx }}',{% endfor %}];
+$.each(widgets, function(i, widget) {
+    $.ajax({
+      url: widget,
+      dataType: 'html',
+      success: function(html) {
+        $('#widget-' + widget).html(html);
+      },
+      error: function() {
+        console.log('error');
+        console.trace();
+      },
+    });
+});
+</script>
+</body></html>

From cfc45f323f7eb15d8eb6367740cb4facd21369d8 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 22 2015 14:57:26 +0000
Subject: [PATCH 29/254] Merge pull request #2 from ralphbean/feature/fragments


Load page fragments asynchronously.
---

diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index a8e2810..d96958c 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -1,7 +1,6 @@
 <html>
 <head>
   <title>{{ hub.name }}</title>
-  <link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
   <style>
     body {
       background-color: #d1d3d4;
@@ -44,20 +43,34 @@
   <div class="row">
     <div class="col-md-{{ hub.left_width }}">
       {% for widget in hub.left_widgets %}
-      <div class="row">
-        {{ widget.render(request, session) | safe }}
-      </div>
+      <div id="widget-{{ widget.idx }}" class="row"></div>
       {% endfor %}
     </div>
 
     <div class="col-md-{{ hub.right_width }}">
       {% for widget in hub.right_widgets %}
-      <div class="row">
-        {{ widget.render(request, session) | safe }}
-      </div>
+      <div id="widget-{{ widget.idx }}" class="row"></div>
       {% endfor %}
     </div>
   </div>
 </div>
-</body>
-</html>
+
+<link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
+<script src="{{ url_for('static', filename='js/jquery-1.10.2.min.js') }}"></script>
+<script>
+var widgets = [{% for widget in hub.widgets %}'{{ widget.idx }}',{% endfor %}];
+$.each(widgets, function(i, widget) {
+    $.ajax({
+      url: widget,
+      dataType: 'html',
+      success: function(html) {
+        $('#widget-' + widget).html(html);
+      },
+      error: function() {
+        console.log('error');
+        console.trace();
+      },
+    });
+});
+</script>
+</body></html>

From 4de1edca6b9ee61a73bb6eaf93d238b63d880878 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 22 2015 15:09:18 +0000
Subject: [PATCH 30/254] Gunicorn!


---

diff --git a/README.rst b/README.rst
index 8ae88f3..02deea9 100644
--- a/README.rst
+++ b/README.rst
@@ -20,6 +20,11 @@ Try running it with::
 
 And then navigate to http://localhost:5000/designteam
 
+If you want to test it with 8 worker threads, try ``gunicorn``::
+
+    $ pip install gunicorn
+    $ gunicorn -w 8 hubs.app:app
+
 Internal design
 ---------------
 
diff --git a/hubs/app.py b/hubs/app.py
index e9510f9..0c4d996 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -13,7 +13,7 @@ app = flask.Flask(__name__)
 SOURCE_URL = 'https://github.com/ralphbean/fedora-hubs-prototype/blob/develop'
 
 
-app.config.from_object('default_config')
+app.config.from_object('hubs.default_config')
 if 'HUBS_CONFIG' in os.environ:
     app.config.from_envvar('HUBS_CONFIG')
 

From 5e22adf3178238576da1e240059b3b8d89c65e6c Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 22 2015 15:10:45 +0000
Subject: [PATCH 31/254] Add a fedmsg config to get things working again.


---

diff --git a/fedmsg.d/testconfig.py b/fedmsg.d/testconfig.py
new file mode 100644
index 0000000..a405684
--- /dev/null
+++ b/fedmsg.d/testconfig.py
@@ -0,0 +1,4 @@
+config = {
+    'endpoints': {
+    },
+}

From 2c6fe8948e3b9ebac6949f1ba228759c4ad30966 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 22 2015 16:25:45 +0000
Subject: [PATCH 32/254] Make widgets artificially slow for development.


---

diff --git a/hubs/app.py b/hubs/app.py
index 0c4d996..629b0ea 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -62,6 +62,13 @@ def get_widget(session, hub, idx):
 def widget_render(hub, idx):
     session = models.init(app.config['DB_URL'])
     widget = get_widget(session, hub, idx)
+
+    # Make this artificially slow for development...
+    import random, time
+    s = (random.random() * 3) + 1
+    print(widget.plugin, "sleeping artificially for", s)
+    time.sleep(s)
+
     return widget.render(flask.request, session)
 
 

From 8a0ff0072827d2b51adc6f9e8d3cd3d40ce96ce1 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 22 2015 16:26:18 +0000
Subject: [PATCH 33/254] Make widgets slide in as they're ready.


---

diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index d96958c..f5935e5 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -30,6 +30,18 @@
       padding: 5px;
       /* TODO -- lots more nice styling here... */
     }
+    .panel {
+      visibility: hidden;
+      max-height: 0px;
+      overflow: hidden;
+      transition: max-height 0.4s;
+    }
+
+    .panel-visible {
+      visibility: visible;
+      max-height: 400px;
+    }
+
   </style>
 </head>
 <body>
@@ -65,6 +77,9 @@ $.each(widgets, function(i, widget) {
       dataType: 'html',
       success: function(html) {
         $('#widget-' + widget).html(html);
+        setTimeout(function() {
+          $('#widget-' + widget + ' .panel').toggleClass('panel-visible');
+        }, 100);
       },
       error: function() {
         console.log('error');

From a1ce87f1b232095e313135f221563fbe0397b0f1 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 23 2015 12:16:20 +0000
Subject: [PATCH 34/254] Thinking about EventSource.


---

diff --git a/README.rst b/README.rst
index 02deea9..e57cc71 100644
--- a/README.rst
+++ b/README.rst
@@ -53,7 +53,7 @@ This isn't implemented yet, but they're going to need:
   memberships in FAS, a fedmsg message hits the fedora-hubs backend and it
   nukes/refreshes a lookup value in memcached (or some other store).
 
-Furthermore:
+Furthermore, a proposal:
 
 - The template per-widget is currently held and rendered *server-side* with
   jinja2.  This is how all our apps do it, more or less.
@@ -61,3 +61,24 @@ Furthermore:
   We might want to consider using handlebars.js for our templates instead and
   rendering all of the widgets asynchronously on the client.  It could be cool,
   but is new-ground for our team.
+
+Still more proposals:
+
+- We could re-use the existing websocket service we have at
+  wss://hub.fedoraproject.org:9939 but it has some problems:
+- It is very inflexible.  You can subscribe to fedmsg *topics* and then you
+  receive the firehose of those topics. For a widget, we already have to write
+  a 'cache invalidation' function that listens for messages and then somehow
+  knows to invalidate the cache *for a widget* based on some of those messages.
+  If we re-used the firehose on the client, we would have to write that
+  function *twice* for *each widget*, once in python to invalidate the server's
+  memcached cache when a fedmsg message comes in and once in javascript to tell
+  the client to reload and redraw a oprtion of itself when a fedmsg comes in
+  over the websocket firehose.
+- Instead, let's give fedora-hubs its own *widget-specific* `EventSource
+  <https://developer.mozilla.org/en-US/docs/Web/API/EventSource>`_ server that
+  we tie in to the server-side cache-invalidation backend code.  I.e., when a
+  message comes into the backend, it runs all the cache invalidation checkers
+  to see which widgets' caches should be refreshed, and once they are refreshed
+  we can emit events over EventSource to tell only *those* widgets on any
+  connected clients to redraw themselves.

From be5f689b4a5cb1585e82880ffafb4ab0a8e4014a Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 26 2015 19:14:32 +0000
Subject: [PATCH 35/254] A diagram.


---

diff --git a/docs/diagram.png b/docs/diagram.png
new file mode 100644
index 0000000..be53810
Binary files /dev/null and b/docs/diagram.png differ
diff --git a/docs/diagram.txt b/docs/diagram.txt
new file mode 100644
index 0000000..ddae311
--- /dev/null
+++ b/docs/diagram.txt
@@ -0,0 +1,27 @@
+                                                     push events to clients             +-------------------------+
+                                                     as they occur                      | web client              |
+                                            +------------------------------------------>| (built from HTML and JS |
+                                            |                                           | served by the wsgi app) |
+                                            |                                           +-------------------------+
+                                            |                                                       ^
+                                            |                                                       |
+                        +--+--------------------+---+                                               | initial page load
+                        |  | EventSource server |   |     /-----------------------+                 | and ajax requests
+                        |  |                    |   |     |{s} memcached          |                 |
+                        |  |                    |   |     |  (we store the data   |                 |
+                        |  +--------------------+   |     |  for widgets here     |     +--------------------------+
+                        |                           |     |  and rebuild it       |---->|                          |
+                        |                           |---->|  as necessary)        |<----|                          |
+                        | hubs backend              |     +-----------------------/     |  hubs wsgi app           |
+                        | (a fedmsg-hub daemon      |                                   |  (the frontend that      |
+----------------------->| with a FedoraHubsConsumer |                                   |  serves what the users   |
+     ^  fedmsg          | plugin)                   |     +-----------------------+     |  see)                    |
+     |  (fas changes,   |                           |<----|{s} postgres           |<----|                          |
+     |  trac tickets,   |                           |     |  (we store the config |     +--------------------------+
+     |  etc...)         +---------------------------+     |  for widgets/hubs     |             |
+     |                                                    |  here)                |             |
+     |                                                    +-----------------------+             |
+     |                                                                                          |
+     |                                                                                          |
+     +------------------------------------------------------------------------------------------+
+                            config changes to hubs/widgets, via fedmsg

From 7917b1bbb1982aace58c66eb34a95c361c662826 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 26 2015 19:16:40 +0000
Subject: [PATCH 36/254] Try displaying the diagram in the readme.


---

diff --git a/README.rst b/README.rst
index e57cc71..9c09417 100644
--- a/README.rst
+++ b/README.rst
@@ -82,3 +82,12 @@ Still more proposals:
   to see which widgets' caches should be refreshed, and once they are refreshed
   we can emit events over EventSource to tell only *those* widgets on any
   connected clients to redraw themselves.
+
+A picture is worth...
+---------------------
+
+.. figure:: fedora-hubs-prototype/raw/develop/docs/diagram.png
+   :scale: 50 %
+   :alt: A diagram of component interactions
+
+   A diagram of component interactions

From 548363182a5c25b53ad7ca87ceb62dfa55953602 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 26 2015 19:17:45 +0000
Subject: [PATCH 37/254] Fully specify the url.


---

diff --git a/README.rst b/README.rst
index 9c09417..eeaf8b0 100644
--- a/README.rst
+++ b/README.rst
@@ -86,7 +86,7 @@ Still more proposals:
 A picture is worth...
 ---------------------
 
-.. figure:: fedora-hubs-prototype/raw/develop/docs/diagram.png
+.. figure:: https://raw.githubusercontent.com/ralphbean/fedora-hubs-prototype/develop/docs/diagram.png
    :scale: 50 %
    :alt: A diagram of component interactions
 

From 5b94f8c40784507f36d57ba2d03f39e1aa53a9bf Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 26 2015 19:42:35 +0000
Subject: [PATCH 38/254] Add another interaction to the diagram.


---

diff --git a/docs/diagram.png b/docs/diagram.png
index be53810..c20d165 100644
Binary files a/docs/diagram.png and b/docs/diagram.png differ
diff --git a/docs/diagram.txt b/docs/diagram.txt
index ddae311..0e665d7 100644
--- a/docs/diagram.txt
+++ b/docs/diagram.txt
@@ -3,12 +3,12 @@
                                             +------------------------------------------>| (built from HTML and JS |
                                             |                                           | served by the wsgi app) |
                                             |                                           +-------------------------+
-                                            |                                                       ^
-                                            |                                                       |
-                        +--+--------------------+---+                                               | initial page load
-                        |  | EventSource server |   |     /-----------------------+                 | and ajax requests
-                        |  |                    |   |     |{s} memcached          |                 |
-                        |  |                    |   |     |  (we store the data   |                 |
+                                            |                                             ^                     |
+                                            |                                             |                     |
+                        +--+--------------------+---+                                     | initial page load   | configuration changes
+                        |  | EventSource server |   |     /-----------------------+       | and ajax requests   | to widgets and hubs
+                        |  |                    |   |     |{s} memcached          |       |                     |
+                        |  |                    |   |     |  (we store the data   |       |                     V
                         |  +--------------------+   |     |  for widgets here     |     +--------------------------+
                         |                           |     |  and rebuild it       |---->|                          |
                         |                           |---->|  as necessary)        |<----|                          |

From cf1b662f1a3b70ca56de1a2cf5061ab1e92918f3 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 26 2015 19:42:53 +0000
Subject: [PATCH 39/254] Talk through a couple ways that data moves between the components.


---

diff --git a/README.rst b/README.rst
index eeaf8b0..d3a5ac6 100644
--- a/README.rst
+++ b/README.rst
@@ -86,8 +86,60 @@ Still more proposals:
 A picture is worth...
 ---------------------
 
+Aside, it became clear to me when making the diagram below that, if we use
+handlebars.js and get rid of the server-side template rendering, then 1) the
+data returned by AJAX requests at page load and 2) the data pushed by the
+EventSource server can be *the exact same data*.  It will simplify and
+streamline the responsibilities of the pieces if the backend is worried *only*
+about these per-widget JSON responses.
+
 .. figure:: https://raw.githubusercontent.com/ralphbean/fedora-hubs-prototype/develop/docs/diagram.png
    :scale: 50 %
    :alt: A diagram of component interactions
 
    A diagram of component interactions
+
+Let's talk through how data will flow through the system by asking *what
+happens when a user requsts their main hubs page*:
+
+- The user requests the page and the wsgi app responds with some barebones HTML
+  and enough javascript to get off the ground.
+- The user's browser runs javascript that *subscribes* it to the EventSource server.
+- The user's browser runs that javascript, which requests data for each of the
+  widgets defined on the page.
+- The wsgi app receives those requests and checks to see if the data for any of
+  them is *cached in memcached*.  If it is, then it is returned.  If not, then
+  the wsgi app executes the ``data(...)`` function of that widget to get the
+  response ready.  It is stuffed in memcached for later access and returned.
+- The client renders widgets as the data for each of its requests comes back.
+
+Later, what happens when a *trac ticket* is filed that should show up in some widget on their page?
+
+- The ticket is updated on fedorahosted.org and a fedmsg message is fired.
+- That is received by the hubs backend, which looks up *all* the cached
+  responses that should be invalidated by that event (there is a widget on
+  mizmo's page, threebean's page, and on the design hub that should all get
+  fresh data because of this change).
+- All of those widgets get their cached data nuked.
+- All of those widgets get their cached data rebuilt by calling ``data(...)`` on them.
+- An EventSource event is fired off for any listening clients that *new data is
+  available for widgets X, Y, and Z*.  The data is included in the EventSource
+  payload so the clients can immediately redraw without bothering to re-query
+  the wsgi app.
+
+What happens when the user navigates to the *design team* hub and
+simultaneously, an admin *changes the configuration of a widget on that page*?
+
+- Changing the configuration results in a HTTP POST to the wsgi app.
+- The configuration is changed accordingly in the postgres database.
+- A fedmsg message is fired off indicating that *the configuration for widget X
+  has changed*.
+- The wsgi app responds 200 OK to the admin.
+- Meanwhile, that fedmsg message is received by the backend which:
+- ...looks up the cache key for *widget X with the old configuration* and nukes
+  it the cached data.
+- ...looks up the cache key for *widget X with the new configuration* and
+  builds the cached data by calling ``data(...)`` on the widget.
+- An EventSource event is fired off which gets recieved by everyone looking at
+  the *design team hub*.  The widget on their pages gets redrawn with data from
+  the EventSource event.

From 33d24eff8279873a293108860e337ccb2901b95b Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 26 2015 19:43:45 +0000
Subject: [PATCH 40/254] Better language.


---

diff --git a/README.rst b/README.rst
index d3a5ac6..2365e82 100644
--- a/README.rst
+++ b/README.rst
@@ -127,7 +127,7 @@ Later, what happens when a *trac ticket* is filed that should show up in some wi
   payload so the clients can immediately redraw without bothering to re-query
   the wsgi app.
 
-What happens when the user navigates to the *design team* hub and
+What happens when the user is viewing the *design team* hub and
 simultaneously, an admin *changes the configuration of a widget on that page*?
 
 - Changing the configuration results in a HTTP POST to the wsgi app.

From d63a515b01a326748f395960bbf57411a73d6a5e Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: May 26 2015 19:58:28 +0000
Subject: [PATCH 41/254] Note that this is still a proposal and and shift the aside up a section.


---

diff --git a/README.rst b/README.rst
index 2365e82..3b380b2 100644
--- a/README.rst
+++ b/README.rst
@@ -83,15 +83,18 @@ Still more proposals:
   we can emit events over EventSource to tell only *those* widgets on any
   connected clients to redraw themselves.
 
+As an aside, it became clear to me when making the diagram in the next section
+that, if we use handlebars.js and get rid of the server-side template
+rendering, then 1) the data returned by AJAX requests at page load and 2) the
+data pushed by the EventSource server can be *the exact same data*.  It will
+simplify and streamline the responsibilities of the pieces if the backend is
+worried *only* about these per-widget JSON responses.
+
 A picture is worth...
 ---------------------
 
-Aside, it became clear to me when making the diagram below that, if we use
-handlebars.js and get rid of the server-side template rendering, then 1) the
-data returned by AJAX requests at page load and 2) the data pushed by the
-EventSource server can be *the exact same data*.  It will simplify and
-streamline the responsibilities of the pieces if the backend is worried *only*
-about these per-widget JSON responses.
+This is more "proposal" territory.  None of this is implemented, but here are
+some more details on how the whole thing should work together.
 
 .. figure:: https://raw.githubusercontent.com/ralphbean/fedora-hubs-prototype/develop/docs/diagram.png
    :scale: 50 %

From 3b93366de7cd9e020bc6544b85fca1c160fb494e Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 01 2015 20:41:36 +0000
Subject: [PATCH 42/254] Change filename to make python3 stdlib dbm module happy.


---

diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index 9519079..9bfe26e 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -13,7 +13,9 @@ config = fedmsg.config.load_config()
 cache_defaults = {
     "backend": "dogpile.cache.dbm",
     "expiration_time": 1,  # Expire every 1 second, for development
-    "arguments": {"filename": "/var/tmp/fedora-hubs-cache.dbm"},
+    "arguments": {
+        "filename": "/var/tmp/fedora-hubs-cache.db",
+    },
 }
 cache = dogpile.cache.make_region()
 cache.configure(**config.get('fedora-hubs.cache', cache_defaults))

From fff4aae5c0f12346114894edea298663c6e6aaf3 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 02 2015 19:16:05 +0000
Subject: [PATCH 43/254] Mess around with JSON headers.


---

diff --git a/hubs/app.py b/hubs/app.py
index 629b0ea..c7432c4 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -80,7 +80,14 @@ def widget_json(hub, idx):
     from hubs.widgets import registry
     module = registry[widget.plugin]
     data = module.data(flask.request, session, widget, **widget.config)
-    return flask.jsonify(data)
+    response = flask.jsonify(data)
+
+    # We don't actually need these two headers.  Just messing around.
+    response.headers['X-fedora-hubs-hub-name'] = hub
+    response.headers['X-fedora-hubs-widget-id'] = idx
+    # TODO -- add other headers here as we decide we need them.
+
+    return response
 
 
 @app.route('/source/<name>')

From e1de5825d5bed3b18159d5997617dd2781c1f123 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 02 2015 20:09:31 +0000
Subject: [PATCH 44/254] Take a stab at cache invalidation.


---

diff --git a/.gitignore b/.gitignore
index 0d20b64..e6e04af 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 *.pyc
+*.egg*
diff --git a/README.rst b/README.rst
index 3b380b2..d5dd996 100644
--- a/README.rst
+++ b/README.rst
@@ -47,11 +47,12 @@ In order to be valid, a widget must have:
 
 This isn't implemented yet, but they're going to need:
 
-- A ``invalidate(session, message)`` function that will be used to
+- A ``should_invalidate(message, session, widget)`` function that will be used to
   *potentially* invalidate the widget's cache. That function will get called by
   a backend daemon listening for fedmsg messages so when you update your group
-  memberships in FAS, a fedmsg message hits the fedora-hubs backend and it
-  nukes/refreshes a lookup value in memcached (or some other store).
+  memberships in FAS, a fedmsg message hits the fedora-hubs backend and returns
+  True if the lookup value should be nuked/refreshed in memcached (or some
+  other store).
 
 Furthermore, a proposal:
 
diff --git a/fedmsg.d/testconfig.py b/fedmsg.d/testconfig.py
index a405684..6bfeb35 100644
--- a/fedmsg.d/testconfig.py
+++ b/fedmsg.d/testconfig.py
@@ -1,4 +1,21 @@
 config = {
+
+    'hubs.consumer.enabled': True,
+    # Production ready.
+    'hubs.sqlalchemy.uri': 'sqlite:////var/tmp/hubs.db',
+
     'endpoints': {
+        # TODO -- fill these out later...
     },
+
+    'logging': dict(
+        version=1,
+        loggers=dict(
+            hubs={
+                "level": "DEBUG",
+                "propagate": False,
+                "handlers": ["console"],
+            },
+        ),
+    ),
 }
diff --git a/hubs/app.py b/hubs/app.py
index c7432c4..7485d42 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -17,6 +17,9 @@ app.config.from_object('hubs.default_config')
 if 'HUBS_CONFIG' in os.environ:
     app.config.from_envvar('HUBS_CONFIG')
 
+import fedmsg.config
+fedmsg_config = fedmsg.config.load_config()
+
 
 @app.route('/')
 def index():
@@ -26,7 +29,7 @@ def index():
 @app.route('/<name>')
 @app.route('/<name>/')
 def hub(name):
-    session = models.init(app.config['DB_URL'])
+    session = models.init(fedmsg_config['hubs.sqlalchemy.uri'])
     hub = session.query(models.Hub)\
         .filter(models.Hub.name==name)\
         .first()
@@ -60,7 +63,7 @@ def get_widget(session, hub, idx):
 @app.route('/<hub>/<idx>')
 @app.route('/<hub>/<idx>/')
 def widget_render(hub, idx):
-    session = models.init(app.config['DB_URL'])
+    session = models.init(fedmsg_config['hubs.sqlalchemy.uri'])
     widget = get_widget(session, hub, idx)
 
     # Make this artificially slow for development...
@@ -75,7 +78,7 @@ def widget_render(hub, idx):
 @app.route('/<hub>/<idx>/json')
 @app.route('/<hub>/<idx>/json/')
 def widget_json(hub, idx):
-    session = models.init(app.config['DB_URL'])
+    session = models.init(fedmsg_config['hubs.sqlalchemy.uri'])
     widget = get_widget(session, hub, idx)
     from hubs.widgets import registry
     module = registry[widget.plugin]
diff --git a/hubs/consumer.py b/hubs/consumer.py
new file mode 100644
index 0000000..0f36f63
--- /dev/null
+++ b/hubs/consumer.py
@@ -0,0 +1,76 @@
+# The fedora hubs backend daemon
+
+import time
+import random
+
+import fedmsg.consumers
+
+import hubs.models
+
+import logging
+log = logging.getLogger("hubs")
+
+
+class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
+    topic = '*'
+    config_key = 'hubs.consumer.enabled'
+
+    def __init__(self, *args, **kwargs):
+        log.info("CacheInvalidatorExtraordinaire initializing")
+        super(CacheInvalidatorExtraordinaire, self).__init__(*args, **kwargs)
+
+        self.uri = self.hub.config.get('hubs.sqlalchemy.uri', None)
+        self.junk_suffixes = self.hub.config.get('hubs.junk_suffixes', [])
+
+        if not self.uri:
+            raise ValueError('hubs.sqlalchemy.uri must be present')
+
+        log.info("CacheInvalidatorExtraordinaire initialized")
+
+    def make_session(self):
+        return hubs.models.init(self.uri)
+
+    def consume(self, raw_msg):
+        session = self.make_session()
+        try:
+            self.work(session, raw_msg)
+            session.commit()  # transaction is committed here
+        except:
+            session.rollback()  # rolls back the transaction
+            raise
+
+    def work(self, session, raw_msg):
+        topic, msg = raw_msg['topic'], raw_msg['body']
+
+        for suffix in self.junk_suffixes:
+            if topic.endswith(suffix):
+                log.info("Dropping %r", topic)
+                return
+
+        start = time.time()
+        log.info("CacheInvalidatorExtraordinaire received %s %s",
+                  msg['msg_id'], msg['topic'])
+
+        # Begin our real work.
+        # Find which widgets should have their caches nuked and make it so.
+
+        # First, make a thread-local copy of the widgets.
+        widgets = list(session.query(hubs.models.Widget).all())
+        log.info("Comparing message against %i widgets" % len(widgets))
+
+        # Shuffle it so that not all threads step through the list in the same
+        # order.  This should cut down on competition for the dogpile lock.
+        random.shuffle(widgets)
+
+        # And do the real work of comparing every widget against the message.
+        for widget in widgets:
+            if widget.module.should_invalidate(msg, session, widget):
+                raise NotImplementedError("Invalidate the cache...")
+                raise NotImplementedError("Rebuild it.")
+
+        log.info("Done.  %0.2fs %s %s",
+                  time.time() - start, msg['msg_id'], msg['topic'])
+
+    def stop(self):
+        log.info("Cleaning up CacheInvalidatorExtraordinaire.")
+        super(CacheInvalidatorExtraordinaire, self).stop()
diff --git a/hubs/default_config.py b/hubs/default_config.py
index 3a6a0ff..e69de29 100644
--- a/hubs/default_config.py
+++ b/hubs/default_config.py
@@ -1,2 +0,0 @@
-# Production ready.
-DB_URL = 'sqlite:////var/tmp/hubs.db'
diff --git a/hubs/models.py b/hubs/models.py
index 6d328de..3d16fb1 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -146,10 +146,13 @@ class Widget(BASE):
             'plugin': self.plugin,
         }
 
+    @property
+    def module(self):
+        return hubs.widgets.registry[self.plugin]
+
     def render(self, request, session):
-        module = hubs.widgets.registry[self.plugin]
         render = hubs.widgets.render
-        return render(module, request, session, self, **self.config)
+        return render(self.module, request, session, self, **self.config)
 
 
 class User(BASE):
diff --git a/hubs/widgets/dummy.py b/hubs/widgets/dummy.py
index fb44797..9731a20 100644
--- a/hubs/widgets/dummy.py
+++ b/hubs/widgets/dummy.py
@@ -14,3 +14,11 @@ chrome = panel("This is a dummy widget")
           help="Some dummy text to display.")
 def data(request, session, widget, text):
     return dict(text=text)
+
+
+def should_invalidate(message, session, widget):
+    if not message['topic'].endswith('hubs.widget.update'):
+        return False
+    if message['msg']['widget']['id'] != widget.id:
+        return False
+    return True
diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index 2a6a632..4d682be 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -43,3 +43,15 @@ def data(request, session, widget, link):
     owners = widget.hub.owners
     owners = ordereddict([(o, avatar(o)) for o in owners])
     return dict(owners=owners, link=link)
+
+
+def should_invalidate(message, session, widget):
+    if message['topic'].endswith('hubs.widget.update'):
+        if message['msg']['widget']['id'] == widget.id:
+            return True
+
+    if message['topic'].endswith('hubs.hub.update'):
+        if message['msg']['hub']['name'] == widget.hub.name:
+            return True
+
+    return False
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index a181453..868deaa 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -36,3 +36,13 @@ def data(request, session, widget):
         members=len(widget.hub.members),
         subscribers=len(widget.hub.subscribers),
     )
+
+
+def should_invalidate(message, session, widget):
+    if message['topic'].endswith('hubs.hub.update'):
+        if message['msg']['hub']['name'] == widget.hub.name:
+            return True
+
+    # TODO -- also check for FAS group changes??  are we doing that?
+
+    return False
diff --git a/hubs/widgets/sticky.py b/hubs/widgets/sticky.py
index 60da776..85b2aaa 100644
--- a/hubs/widgets/sticky.py
+++ b/hubs/widgets/sticky.py
@@ -15,3 +15,11 @@ chrome = panel(title='Sticky Note', klass="panel-info")
 def data(request, session, widget, text):
     # TODO -- render with markdown
     return dict(text=text)
+
+
+def should_invalidate(message, session, widget):
+    if message['topic'].endswith('hubs.widget.update'):
+        if message['msg']['widget']['id'] == widget.id:
+            return True
+
+    return False
diff --git a/populate.py b/populate.py
index 2c44efc..8751dc6 100755
--- a/populate.py
+++ b/populate.py
@@ -2,18 +2,13 @@
 """ Populate the hubs db with some dev data. """
 
 import json
-import os
-
-import flask
 
 import hubs.models
 
-app = flask.Flask(__name__)
-app.config.from_object('hubs.default_config')
-if 'HUBS_CONFIG' in os.environ:
-    app.config.from_envvar('HUBS_CONFIG')
+import fedmsg.config
+fedmsg_config = fedmsg.config.load_config()
 
-session = hubs.models.init(app.config['DB_URL'], True, True)
+session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'], True, True)
 
 hub = hubs.models.Hub(name='designteam', summary='The Fedora Design Team')
 session.add(hub)
diff --git a/requirements.txt b/requirements.txt
index 0f26348..3a9498a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,3 +2,4 @@ flask
 sqlalchemy
 fedmsg
 dogpile.cache
+fedmsg_meta_fedora_infrastructure
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..5a66e3e
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,43 @@
+""" Setup file for fedora hubs """
+
+from setuptools import setup, find_packages
+
+
+def get_description():
+    with open('README.rst', 'r') as f:
+        return ''.join(f.readlines()[2:])
+
+
+def get_requirements():
+    with open('requirements.txt', 'r') as f:
+        return [l.strip() for l in f.readlines() if l.strip()]
+
+
+setup(
+    name='fedora-hubs',
+    version='0.0.1',
+    description='A community portal for fedora contributors and you!',
+    long_description=get_description(),
+    author='Ralph Bean',
+    author_email='rbean@redhat.com',
+    url="https://github.com/ralphbean/fedora-hubs-prototype",
+    download_url="https://pypi.python.org/pypi/fedora-hubs/",
+    license='AGPLv3+',
+    install_requires=get_requirements(),
+    #tests_require=tests_require,
+    #test_suite='nose.collector',
+    packages=find_packages(),
+    include_package_data=True,
+    zip_safe=False,
+    classifiers=[
+        'Environment :: Web Environment',
+        'Topic :: Software Development :: Libraries :: Python Modules',
+        'Intended Audience :: Developers',
+        'Programming Language :: Python',
+    ],
+    entry_points={
+        'moksha.consumer': [
+            "cache_invalidator = hubs.consumer:CacheInvalidatorExtraordinaire",
+        ],
+    },
+)

From 501b3dbef637a13545f3f31ca0f383593007c205 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 03 2015 01:19:22 +0000
Subject: [PATCH 45/254] Remove the 'request' from all these functions.  We don't need it and it unnecessarily favours the Flask app.


---

diff --git a/hubs/app.py b/hubs/app.py
index 7485d42..f1fa7b7 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -72,7 +72,7 @@ def widget_render(hub, idx):
     print(widget.plugin, "sleeping artificially for", s)
     time.sleep(s)
 
-    return widget.render(flask.request, session)
+    return widget.render(session)
 
 
 @app.route('/<hub>/<idx>/json')
@@ -82,7 +82,7 @@ def widget_json(hub, idx):
     widget = get_widget(session, hub, idx)
     from hubs.widgets import registry
     module = registry[widget.plugin]
-    data = module.data(flask.request, session, widget, **widget.config)
+    data = module.data(session, widget, **widget.config)
     response = flask.jsonify(data)
 
     # We don't actually need these two headers.  Just messing around.
diff --git a/hubs/models.py b/hubs/models.py
index 3d16fb1..49eb665 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -150,9 +150,9 @@ class Widget(BASE):
     def module(self):
         return hubs.widgets.registry[self.plugin]
 
-    def render(self, request, session):
+    def render(self, session):
         render = hubs.widgets.render
-        return render(self.module, request, session, self, **self.config)
+        return render(self.module, session, self, **self.config)
 
 
 class User(BASE):
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 832c936..4078e33 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -59,13 +59,13 @@ def prepare_registry(registry):
 validate_registry(registry)
 prepare_registry(registry)
 
-def render(module, request, session, widget, *args, **kwargs):
+def render(module, session, widget, *args, **kwargs):
     """ Main API entry point.
 
     Call this to render a widget into HTML
     """
     # The API returns exactly this data.  Shared cache
-    data = module.data(request, session, widget, *args, **kwargs)
+    data = module.data(session, widget, *args, **kwargs)
 
     # Use the API data to fill out a template, and potentially decorate it.
     return module.render(**data)
diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index 9bfe26e..f26edd6 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -51,9 +51,9 @@ def AGPLv3(name):
 def smartcache(module):
     def decorator(func):
         @wraps(func)
-        def inner(request, session, widget, *args, **kwargs):
+        def inner(session, widget, *args, **kwargs):
             key = cache_key_generator(module, args, kwargs)
-            creator = lambda: func(request, session, widget, *args, **kwargs)
+            creator = lambda: func(session, widget, *args, **kwargs)
             return cache.get_or_create(key, creator)
 
         return inner
diff --git a/hubs/widgets/dummy.py b/hubs/widgets/dummy.py
index 9731a20..d0c9e57 100644
--- a/hubs/widgets/dummy.py
+++ b/hubs/widgets/dummy.py
@@ -12,7 +12,7 @@ chrome = panel("This is a dummy widget")
 @argument(name="text", default="Lorem ipsum dolor...",
           validator=validators.text,
           help="Some dummy text to display.")
-def data(request, session, widget, text):
+def data(session, widget, text):
     return dict(text=text)
 
 
diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index 4d682be..3e0fb4d 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -39,7 +39,7 @@ template = jinja2.Template("""
 @argument(name='link', default=None,
           validator=validators.link,
           help="Link to the community rules and guidelines")
-def data(request, session, widget, link):
+def data(session, widget, link):
     owners = widget.hub.owners
     owners = ordereddict([(o, avatar(o)) for o in owners])
     return dict(owners=owners, link=link)
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 868deaa..1e14658 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -31,7 +31,7 @@ template = jinja2.Template("""
 """)
 
 
-def data(request, session, widget):
+def data(session, widget):
     return dict(
         members=len(widget.hub.members),
         subscribers=len(widget.hub.subscribers),
diff --git a/hubs/widgets/sticky.py b/hubs/widgets/sticky.py
index 85b2aaa..36d4a1a 100644
--- a/hubs/widgets/sticky.py
+++ b/hubs/widgets/sticky.py
@@ -12,7 +12,7 @@ chrome = panel(title='Sticky Note', klass="panel-info")
 @argument(name="text", default="Lorem ipsum dolor...",
           validator=validators.text,
           help="Some dummy text to display.")
-def data(request, session, widget, text):
+def data(session, widget, text):
     # TODO -- render with markdown
     return dict(text=text)
 

From eb24faa27cb748ebb10226d81dd300c65e3fa610 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 03 2015 01:24:30 +0000
Subject: [PATCH 46/254] Implement invalidation and rebuilding.


---

diff --git a/hubs/consumer.py b/hubs/consumer.py
index 0f36f63..08d1eca 100644
--- a/hubs/consumer.py
+++ b/hubs/consumer.py
@@ -7,6 +7,8 @@ import fedmsg.consumers
 
 import hubs.models
 
+from hubs.widgets.base import invalidate_cache
+
 import logging
 log = logging.getLogger("hubs")
 
@@ -65,8 +67,12 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
         # And do the real work of comparing every widget against the message.
         for widget in widgets:
             if widget.module.should_invalidate(msg, session, widget):
-                raise NotImplementedError("Invalidate the cache...")
-                raise NotImplementedError("Rebuild it.")
+                log.info("Invalidating cache for %r" % widget)
+                # Invalidate the cache...
+                invalidate_cache(widget.module, **widget.config)
+                # Rebuild it.
+                widget.module.data(session, widget, **widget.config)
+                # TODO -- fire off an EventSource notice that we updated stuff
 
         log.info("Done.  %0.2fs %s %s",
                   time.time() - start, msg['msg_id'], msg['topic'])
diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index f26edd6..e0d1581 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -60,6 +60,11 @@ def smartcache(module):
     return decorator
 
 
+def invalidate_cache(module, *args, **kwargs):
+    key = cache_key_generator(module, *args, **kwargs)
+    cache.delete(key)
+
+
 def cache_key_generator(module, args, kwargs):
     return "|".join([
         module.__name__,

From 887616c1c4f27e617fa306a7ae48251756cd7abf Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 16:49:15 +0000
Subject: [PATCH 47/254] Merge pull request #3 from ralphbean/feature/invalidation


Take a stab at cache invalidation.
---

diff --git a/.gitignore b/.gitignore
index 0d20b64..e6e04af 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 *.pyc
+*.egg*
diff --git a/README.rst b/README.rst
index 3b380b2..d5dd996 100644
--- a/README.rst
+++ b/README.rst
@@ -47,11 +47,12 @@ In order to be valid, a widget must have:
 
 This isn't implemented yet, but they're going to need:
 
-- A ``invalidate(session, message)`` function that will be used to
+- A ``should_invalidate(message, session, widget)`` function that will be used to
   *potentially* invalidate the widget's cache. That function will get called by
   a backend daemon listening for fedmsg messages so when you update your group
-  memberships in FAS, a fedmsg message hits the fedora-hubs backend and it
-  nukes/refreshes a lookup value in memcached (or some other store).
+  memberships in FAS, a fedmsg message hits the fedora-hubs backend and returns
+  True if the lookup value should be nuked/refreshed in memcached (or some
+  other store).
 
 Furthermore, a proposal:
 
diff --git a/fedmsg.d/testconfig.py b/fedmsg.d/testconfig.py
index a405684..6bfeb35 100644
--- a/fedmsg.d/testconfig.py
+++ b/fedmsg.d/testconfig.py
@@ -1,4 +1,21 @@
 config = {
+
+    'hubs.consumer.enabled': True,
+    # Production ready.
+    'hubs.sqlalchemy.uri': 'sqlite:////var/tmp/hubs.db',
+
     'endpoints': {
+        # TODO -- fill these out later...
     },
+
+    'logging': dict(
+        version=1,
+        loggers=dict(
+            hubs={
+                "level": "DEBUG",
+                "propagate": False,
+                "handlers": ["console"],
+            },
+        ),
+    ),
 }
diff --git a/hubs/app.py b/hubs/app.py
index c7432c4..f1fa7b7 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -17,6 +17,9 @@ app.config.from_object('hubs.default_config')
 if 'HUBS_CONFIG' in os.environ:
     app.config.from_envvar('HUBS_CONFIG')
 
+import fedmsg.config
+fedmsg_config = fedmsg.config.load_config()
+
 
 @app.route('/')
 def index():
@@ -26,7 +29,7 @@ def index():
 @app.route('/<name>')
 @app.route('/<name>/')
 def hub(name):
-    session = models.init(app.config['DB_URL'])
+    session = models.init(fedmsg_config['hubs.sqlalchemy.uri'])
     hub = session.query(models.Hub)\
         .filter(models.Hub.name==name)\
         .first()
@@ -60,7 +63,7 @@ def get_widget(session, hub, idx):
 @app.route('/<hub>/<idx>')
 @app.route('/<hub>/<idx>/')
 def widget_render(hub, idx):
-    session = models.init(app.config['DB_URL'])
+    session = models.init(fedmsg_config['hubs.sqlalchemy.uri'])
     widget = get_widget(session, hub, idx)
 
     # Make this artificially slow for development...
@@ -69,17 +72,17 @@ def widget_render(hub, idx):
     print(widget.plugin, "sleeping artificially for", s)
     time.sleep(s)
 
-    return widget.render(flask.request, session)
+    return widget.render(session)
 
 
 @app.route('/<hub>/<idx>/json')
 @app.route('/<hub>/<idx>/json/')
 def widget_json(hub, idx):
-    session = models.init(app.config['DB_URL'])
+    session = models.init(fedmsg_config['hubs.sqlalchemy.uri'])
     widget = get_widget(session, hub, idx)
     from hubs.widgets import registry
     module = registry[widget.plugin]
-    data = module.data(flask.request, session, widget, **widget.config)
+    data = module.data(session, widget, **widget.config)
     response = flask.jsonify(data)
 
     # We don't actually need these two headers.  Just messing around.
diff --git a/hubs/consumer.py b/hubs/consumer.py
new file mode 100644
index 0000000..08d1eca
--- /dev/null
+++ b/hubs/consumer.py
@@ -0,0 +1,82 @@
+# The fedora hubs backend daemon
+
+import time
+import random
+
+import fedmsg.consumers
+
+import hubs.models
+
+from hubs.widgets.base import invalidate_cache
+
+import logging
+log = logging.getLogger("hubs")
+
+
+class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
+    topic = '*'
+    config_key = 'hubs.consumer.enabled'
+
+    def __init__(self, *args, **kwargs):
+        log.info("CacheInvalidatorExtraordinaire initializing")
+        super(CacheInvalidatorExtraordinaire, self).__init__(*args, **kwargs)
+
+        self.uri = self.hub.config.get('hubs.sqlalchemy.uri', None)
+        self.junk_suffixes = self.hub.config.get('hubs.junk_suffixes', [])
+
+        if not self.uri:
+            raise ValueError('hubs.sqlalchemy.uri must be present')
+
+        log.info("CacheInvalidatorExtraordinaire initialized")
+
+    def make_session(self):
+        return hubs.models.init(self.uri)
+
+    def consume(self, raw_msg):
+        session = self.make_session()
+        try:
+            self.work(session, raw_msg)
+            session.commit()  # transaction is committed here
+        except:
+            session.rollback()  # rolls back the transaction
+            raise
+
+    def work(self, session, raw_msg):
+        topic, msg = raw_msg['topic'], raw_msg['body']
+
+        for suffix in self.junk_suffixes:
+            if topic.endswith(suffix):
+                log.info("Dropping %r", topic)
+                return
+
+        start = time.time()
+        log.info("CacheInvalidatorExtraordinaire received %s %s",
+                  msg['msg_id'], msg['topic'])
+
+        # Begin our real work.
+        # Find which widgets should have their caches nuked and make it so.
+
+        # First, make a thread-local copy of the widgets.
+        widgets = list(session.query(hubs.models.Widget).all())
+        log.info("Comparing message against %i widgets" % len(widgets))
+
+        # Shuffle it so that not all threads step through the list in the same
+        # order.  This should cut down on competition for the dogpile lock.
+        random.shuffle(widgets)
+
+        # And do the real work of comparing every widget against the message.
+        for widget in widgets:
+            if widget.module.should_invalidate(msg, session, widget):
+                log.info("Invalidating cache for %r" % widget)
+                # Invalidate the cache...
+                invalidate_cache(widget.module, **widget.config)
+                # Rebuild it.
+                widget.module.data(session, widget, **widget.config)
+                # TODO -- fire off an EventSource notice that we updated stuff
+
+        log.info("Done.  %0.2fs %s %s",
+                  time.time() - start, msg['msg_id'], msg['topic'])
+
+    def stop(self):
+        log.info("Cleaning up CacheInvalidatorExtraordinaire.")
+        super(CacheInvalidatorExtraordinaire, self).stop()
diff --git a/hubs/default_config.py b/hubs/default_config.py
index 3a6a0ff..e69de29 100644
--- a/hubs/default_config.py
+++ b/hubs/default_config.py
@@ -1,2 +0,0 @@
-# Production ready.
-DB_URL = 'sqlite:////var/tmp/hubs.db'
diff --git a/hubs/models.py b/hubs/models.py
index 6d328de..49eb665 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -146,10 +146,13 @@ class Widget(BASE):
             'plugin': self.plugin,
         }
 
-    def render(self, request, session):
-        module = hubs.widgets.registry[self.plugin]
+    @property
+    def module(self):
+        return hubs.widgets.registry[self.plugin]
+
+    def render(self, session):
         render = hubs.widgets.render
-        return render(module, request, session, self, **self.config)
+        return render(self.module, session, self, **self.config)
 
 
 class User(BASE):
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 832c936..4078e33 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -59,13 +59,13 @@ def prepare_registry(registry):
 validate_registry(registry)
 prepare_registry(registry)
 
-def render(module, request, session, widget, *args, **kwargs):
+def render(module, session, widget, *args, **kwargs):
     """ Main API entry point.
 
     Call this to render a widget into HTML
     """
     # The API returns exactly this data.  Shared cache
-    data = module.data(request, session, widget, *args, **kwargs)
+    data = module.data(session, widget, *args, **kwargs)
 
     # Use the API data to fill out a template, and potentially decorate it.
     return module.render(**data)
diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index 9bfe26e..e0d1581 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -51,15 +51,20 @@ def AGPLv3(name):
 def smartcache(module):
     def decorator(func):
         @wraps(func)
-        def inner(request, session, widget, *args, **kwargs):
+        def inner(session, widget, *args, **kwargs):
             key = cache_key_generator(module, args, kwargs)
-            creator = lambda: func(request, session, widget, *args, **kwargs)
+            creator = lambda: func(session, widget, *args, **kwargs)
             return cache.get_or_create(key, creator)
 
         return inner
     return decorator
 
 
+def invalidate_cache(module, *args, **kwargs):
+    key = cache_key_generator(module, *args, **kwargs)
+    cache.delete(key)
+
+
 def cache_key_generator(module, args, kwargs):
     return "|".join([
         module.__name__,
diff --git a/hubs/widgets/dummy.py b/hubs/widgets/dummy.py
index fb44797..d0c9e57 100644
--- a/hubs/widgets/dummy.py
+++ b/hubs/widgets/dummy.py
@@ -12,5 +12,13 @@ chrome = panel("This is a dummy widget")
 @argument(name="text", default="Lorem ipsum dolor...",
           validator=validators.text,
           help="Some dummy text to display.")
-def data(request, session, widget, text):
+def data(session, widget, text):
     return dict(text=text)
+
+
+def should_invalidate(message, session, widget):
+    if not message['topic'].endswith('hubs.widget.update'):
+        return False
+    if message['msg']['widget']['id'] != widget.id:
+        return False
+    return True
diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index 2a6a632..3e0fb4d 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -39,7 +39,19 @@ template = jinja2.Template("""
 @argument(name='link', default=None,
           validator=validators.link,
           help="Link to the community rules and guidelines")
-def data(request, session, widget, link):
+def data(session, widget, link):
     owners = widget.hub.owners
     owners = ordereddict([(o, avatar(o)) for o in owners])
     return dict(owners=owners, link=link)
+
+
+def should_invalidate(message, session, widget):
+    if message['topic'].endswith('hubs.widget.update'):
+        if message['msg']['widget']['id'] == widget.id:
+            return True
+
+    if message['topic'].endswith('hubs.hub.update'):
+        if message['msg']['hub']['name'] == widget.hub.name:
+            return True
+
+    return False
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index a181453..1e14658 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -31,8 +31,18 @@ template = jinja2.Template("""
 """)
 
 
-def data(request, session, widget):
+def data(session, widget):
     return dict(
         members=len(widget.hub.members),
         subscribers=len(widget.hub.subscribers),
     )
+
+
+def should_invalidate(message, session, widget):
+    if message['topic'].endswith('hubs.hub.update'):
+        if message['msg']['hub']['name'] == widget.hub.name:
+            return True
+
+    # TODO -- also check for FAS group changes??  are we doing that?
+
+    return False
diff --git a/hubs/widgets/sticky.py b/hubs/widgets/sticky.py
index 60da776..36d4a1a 100644
--- a/hubs/widgets/sticky.py
+++ b/hubs/widgets/sticky.py
@@ -12,6 +12,14 @@ chrome = panel(title='Sticky Note', klass="panel-info")
 @argument(name="text", default="Lorem ipsum dolor...",
           validator=validators.text,
           help="Some dummy text to display.")
-def data(request, session, widget, text):
+def data(session, widget, text):
     # TODO -- render with markdown
     return dict(text=text)
+
+
+def should_invalidate(message, session, widget):
+    if message['topic'].endswith('hubs.widget.update'):
+        if message['msg']['widget']['id'] == widget.id:
+            return True
+
+    return False
diff --git a/populate.py b/populate.py
index 2c44efc..8751dc6 100755
--- a/populate.py
+++ b/populate.py
@@ -2,18 +2,13 @@
 """ Populate the hubs db with some dev data. """
 
 import json
-import os
-
-import flask
 
 import hubs.models
 
-app = flask.Flask(__name__)
-app.config.from_object('hubs.default_config')
-if 'HUBS_CONFIG' in os.environ:
-    app.config.from_envvar('HUBS_CONFIG')
+import fedmsg.config
+fedmsg_config = fedmsg.config.load_config()
 
-session = hubs.models.init(app.config['DB_URL'], True, True)
+session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'], True, True)
 
 hub = hubs.models.Hub(name='designteam', summary='The Fedora Design Team')
 session.add(hub)
diff --git a/requirements.txt b/requirements.txt
index 0f26348..3a9498a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,3 +2,4 @@ flask
 sqlalchemy
 fedmsg
 dogpile.cache
+fedmsg_meta_fedora_infrastructure
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..5a66e3e
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,43 @@
+""" Setup file for fedora hubs """
+
+from setuptools import setup, find_packages
+
+
+def get_description():
+    with open('README.rst', 'r') as f:
+        return ''.join(f.readlines()[2:])
+
+
+def get_requirements():
+    with open('requirements.txt', 'r') as f:
+        return [l.strip() for l in f.readlines() if l.strip()]
+
+
+setup(
+    name='fedora-hubs',
+    version='0.0.1',
+    description='A community portal for fedora contributors and you!',
+    long_description=get_description(),
+    author='Ralph Bean',
+    author_email='rbean@redhat.com',
+    url="https://github.com/ralphbean/fedora-hubs-prototype",
+    download_url="https://pypi.python.org/pypi/fedora-hubs/",
+    license='AGPLv3+',
+    install_requires=get_requirements(),
+    #tests_require=tests_require,
+    #test_suite='nose.collector',
+    packages=find_packages(),
+    include_package_data=True,
+    zip_safe=False,
+    classifiers=[
+        'Environment :: Web Environment',
+        'Topic :: Software Development :: Libraries :: Python Modules',
+        'Intended Audience :: Developers',
+        'Programming Language :: Python',
+    ],
+    entry_points={
+        'moksha.consumer': [
+            "cache_invalidator = hubs.consumer:CacheInvalidatorExtraordinaire",
+        ],
+    },
+)

From 33d19f7b7f3ca8df7406531bf14773f6e136e42a Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 16:51:34 +0000
Subject: [PATCH 48/254] Note TODO from the session today.


---

diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 1e14658..d0d3039 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -38,6 +38,7 @@ def data(session, widget):
     )
 
 
+# TODO -- add topic-based hinting here.  Solved.
 def should_invalidate(message, session, widget):
     if message['topic'].endswith('hubs.hub.update'):
         if message['msg']['hub']['name'] == widget.hub.name:

From 53b35af10e6c813690e2c746db7abf81b85009ab Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 16:59:15 +0000
Subject: [PATCH 49/254] Make gunicorn happy on python3.


---

diff --git a/hubs/app.py b/hubs/app.py
index f1fa7b7..7c3a4f2 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -2,7 +2,7 @@ import os
 
 import flask
 
-import models
+import hubs.models
 
 app = flask.Flask(__name__)
 
@@ -29,9 +29,9 @@ def index():
 @app.route('/<name>')
 @app.route('/<name>/')
 def hub(name):
-    session = models.init(fedmsg_config['hubs.sqlalchemy.uri'])
-    hub = session.query(models.Hub)\
-        .filter(models.Hub.name==name)\
+    session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'])
+    hub = session.query(hubs.models.Hub)\
+        .filter(hubs.models.Hub.name==name)\
         .first()
 
     if not hub:
@@ -46,8 +46,8 @@ def get_widget(session, hub, idx):
     except TypeError:
         flask.abort(404)
 
-    hub = session.query(models.Hub)\
-        .filter(models.Hub.name==hub)\
+    hub = session.query(hubs.models.Hub)\
+        .filter(hubs.models.Hub.name==hub)\
         .first()
 
     if not hub:
@@ -63,7 +63,7 @@ def get_widget(session, hub, idx):
 @app.route('/<hub>/<idx>')
 @app.route('/<hub>/<idx>/')
 def widget_render(hub, idx):
-    session = models.init(fedmsg_config['hubs.sqlalchemy.uri'])
+    session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'])
     widget = get_widget(session, hub, idx)
 
     # Make this artificially slow for development...
@@ -78,7 +78,7 @@ def widget_render(hub, idx):
 @app.route('/<hub>/<idx>/json')
 @app.route('/<hub>/<idx>/json/')
 def widget_json(hub, idx):
-    session = models.init(fedmsg_config['hubs.sqlalchemy.uri'])
+    session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'])
     widget = get_widget(session, hub, idx)
     from hubs.widgets import registry
     module = registry[widget.plugin]

From 0354935eadfa342d85b240d441061b12b806734d Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 17:36:01 +0000
Subject: [PATCH 50/254] Link to source on pagure.


---

diff --git a/README.rst b/README.rst
index d5dd996..34ad916 100644
--- a/README.rst
+++ b/README.rst
@@ -1,3 +1,8 @@
+Source on Pagure.io
+-------------------
+
+The latest source is not on GitHub, it is on pagure.io.  You can find it at https://pagure.io/fedora-hubs
+
 Hacking
 -------
 

From 36456caf26c444e3ff0711f39c7fb32fcffd7e5d Mon Sep 17 00:00:00 2001
From: Solly Ross <sross@redhat.com>
Date: Jun 04 2015 17:45:03 +0000
Subject: [PATCH 51/254] Add pysqlite to the requirements


It's used by default for the db.

---

diff --git a/requirements.txt b/requirements.txt
index 3a9498a..d42bc7e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,3 +3,4 @@ sqlalchemy
 fedmsg
 dogpile.cache
 fedmsg_meta_fedora_infrastructure
+pysqlite

From c8f4f21035d6bae7422484150746a1d16cbfa920 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 18:20:08 +0000
Subject: [PATCH 52/254] Merge pull request #5 from DirectXMan12/develop


Add pysqlite to the requirements
---

diff --git a/requirements.txt b/requirements.txt
index 3a9498a..d42bc7e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,3 +3,4 @@ sqlalchemy
 fedmsg
 dogpile.cache
 fedmsg_meta_fedora_infrastructure
+pysqlite

From 626f7b7830d06a021f5e8b4e3cd8698d7ad4b0d4 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 18:27:32 +0000
Subject: [PATCH 53/254] Messing with authn.


---

diff --git a/hubs/app.py b/hubs/app.py
index 7c3a4f2..9bc3f88 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -1,7 +1,10 @@
+import functools
 import os
 
 import flask
 
+from flask.ext.openid import OpenID
+
 import hubs.models
 
 app = flask.Flask(__name__)
@@ -20,6 +23,8 @@ if 'HUBS_CONFIG' in os.environ:
 import fedmsg.config
 fedmsg_config = fedmsg.config.load_config()
 
+session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'])
+
 
 @app.route('/')
 def index():
@@ -29,7 +34,6 @@ def index():
 @app.route('/<name>')
 @app.route('/<name>/')
 def hub(name):
-    session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'])
     hub = session.query(hubs.models.Hub)\
         .filter(hubs.models.Hub.name==name)\
         .first()
@@ -63,7 +67,6 @@ def get_widget(session, hub, idx):
 @app.route('/<hub>/<idx>')
 @app.route('/<hub>/<idx>/')
 def widget_render(hub, idx):
-    session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'])
     widget = get_widget(session, hub, idx)
 
     # Make this artificially slow for development...
@@ -78,7 +81,6 @@ def widget_render(hub, idx):
 @app.route('/<hub>/<idx>/json')
 @app.route('/<hub>/<idx>/json/')
 def widget_json(hub, idx):
-    session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'])
     widget = get_widget(session, hub, idx)
     from hubs.widgets import registry
     module = registry[widget.plugin]
@@ -102,5 +104,87 @@ def widget_source(name):
     return flask.redirect(SOURCE_URL + fname)
 
 
+# Set up OpenID in stateless mode
+oid = OpenID(app,
+             safe_roots=[],
+             store_factory=lambda: None,
+             url_root_as_trust_root=True)
+
+
+@app.route('/login/', methods=('GET', 'POST'))
+@app.route('/login', methods=('GET', 'POST'))
+@oid.loginhandler
+def login():
+    default = flask.url_for('index')
+    next_url = flask.request.args.get('next', default)
+    if flask.g.auth.logged_in:
+        return flask.redirect(next_url)
+
+    openid_server = flask.request.form.get('openid', None)
+    if openid_server:
+        return oid.try_login(
+            openid_server, ask_for=['email', 'fullname', 'nickname'],
+            ask_for_optional=[])
+
+    return flask.render_template(
+        'login.html', next=oid.get_next_url(), error=oid.fetch_error())
+
+
+@app.route('/login/fedora/')
+@app.route('/login/fedora')
+@oid.loginhandler
+def fedora_login():
+    #default = flask.url_for('profile_redirect')
+    #next_url = flask.request.args.get('next', default)
+    return oid.try_login(
+        'https://id.fedoraproject.org',
+        ask_for=['email', 'fullname', 'nickname'],
+        ask_for_optional=[])
+
+
+@app.route('/logout/')
+@app.route('/logout')
+def logout():
+    if 'openid' in flask.app.session:
+        flask.app.session.pop('openid')
+    return flask.redirect(flask.url_for('index'))
+
+
+@oid.after_login
+def after_openid_login(resp):
+    default = flask.url_for('index')
+    if not resp.identity_url:
+        return flask.redirect(default)
+
+    openid_url = resp.identity_url
+    flask.app.session['openid'] = openid_url
+    flask.app.session['fullname'] = resp.fullname
+    flask.app.session['nickname'] = resp.nickname or resp.fullname
+    flask.app.session['email'] = resp.email
+    next_url = flask.request.args.get('next', default)
+    return flask.redirect(next_url)
+
+
+def login_required(function):
+    """ Flask decorator to restrict access to logged-in users. """
+    @functools.wraps(function)
+    def decorated_function(*args, **kwargs):
+        """ Decorated function, actually does the work. """
+        if not flask.g.auth.logged_in:
+            flask.flash('Login required', 'errors')
+            return flask.redirect(flask.url_for(
+                'fedora_login', next=flask.request.url))
+
+        # TODO - Ensure that the logged in user exists before we proceed.
+        hubs.models.User.get_or_create(
+            session,
+            openid=flask.g.auth.openid,
+            openid_url=flask.g.auth.openid_url,
+        )
+
+        return function(*args, **kwargs)
+    return decorated_function
+
+
 if __name__ == '__main__':
     app.run(debug=True)
diff --git a/hubs/default_config.py b/hubs/default_config.py
index e69de29..39d7fce 100644
--- a/hubs/default_config.py
+++ b/hubs/default_config.py
@@ -0,0 +1 @@
+SECRET_KEY = 'changemeforreal'
diff --git a/requirements.txt b/requirements.txt
index d42bc7e..306c469 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,3 +4,4 @@ fedmsg
 dogpile.cache
 fedmsg_meta_fedora_infrastructure
 pysqlite
+flask-openid

From 5f1c3f1c074a35a41ba330ef70e6245a6cf79e04 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 18:43:23 +0000
Subject: [PATCH 54/254] Get the super duper basics of openid login/logout work.


---

diff --git a/hubs/app.py b/hubs/app.py
index 9bc3f88..0b98b60 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -2,6 +2,7 @@ import functools
 import os
 
 import flask
+import munch
 
 from flask.ext.openid import OpenID
 
@@ -133,7 +134,7 @@ def login():
 @app.route('/login/fedora/')
 @app.route('/login/fedora')
 @oid.loginhandler
-def fedora_login():
+def login_fedora():
     #default = flask.url_for('profile_redirect')
     #next_url = flask.request.args.get('next', default)
     return oid.try_login(
@@ -173,7 +174,7 @@ def login_required(function):
         if not flask.g.auth.logged_in:
             flask.flash('Login required', 'errors')
             return flask.redirect(flask.url_for(
-                'fedora_login', next=flask.request.url))
+                'login_fedora', next=flask.request.url))
 
         # TODO - Ensure that the logged in user exists before we proceed.
         hubs.models.User.get_or_create(
@@ -186,5 +187,25 @@ def login_required(function):
     return decorated_function
 
 
+@app.before_request
+def check_auth():
+    flask.g.fedmsg_config = fedmsg_config
+    flask.g.auth = munch.Munch(
+        logged_in=False,
+        method=None,
+        id=None,
+    )
+    if 'openid' in flask.session:
+        openid = flask.session.get('openid').split('/')[-1]
+        flask.g.auth.logged_in = True
+        flask.g.auth.method = u'openid'
+        flask.g.auth.openid = openid
+        flask.g.auth.openid_url = flask.session.get('openid')
+        flask.g.auth.fullname = flask.session.get('fullname', None)
+        flask.g.auth.nickname = flask.session.get('nickname', None)
+        flask.g.auth.email = flask.session.get('email', None)
+
+
+
 if __name__ == '__main__':
     app.run(debug=True)
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index f5935e5..a201ef1 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -53,6 +53,13 @@
 </div>
 <div class="container">
   <div class="row">
+    {% if g.auth.logged_in %}
+    Logged in as {{ g.auth.nickname }}
+    {% else %}
+    Not logged in.  Click to <a href="{{url_for('login_fedora')}}">login</a>.
+    {% endif %}
+  </div>
+  <div class="row">
     <div class="col-md-{{ hub.left_width }}">
       {% for widget in hub.left_widgets %}
       <div id="widget-{{ widget.idx }}" class="row"></div>
diff --git a/requirements.txt b/requirements.txt
index 306c469..820a56c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,5 +3,5 @@ sqlalchemy
 fedmsg
 dogpile.cache
 fedmsg_meta_fedora_infrastructure
-pysqlite
 flask-openid
+munch

From ea88d0374e27f6b42fd35f744404a8026f653419 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jun 04 2015 18:52:56 +0000
Subject: [PATCH 55/254] readme update


---

diff --git a/README.rst b/README.rst
index 34ad916..c64767c 100644
--- a/README.rst
+++ b/README.rst
@@ -5,6 +5,9 @@ The latest source is not on GitHub, it is on pagure.io.  You can find it at http
 
 Hacking
 -------
+Install fedora dependencies:
+
+    $ sudo dnf install gcc gcc-c++ sqlite-devel 
 
 Hubs should work on python2 **and** python3, so let's default to python3 and
 see how that goes.

From 182eaec1786bb406cd379fe5525115afc1de9200 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 19:01:49 +0000
Subject: [PATCH 56/254] Merge pull request #6 from meghanrichardson/develop


readme update
---

diff --git a/README.rst b/README.rst
index 34ad916..c64767c 100644
--- a/README.rst
+++ b/README.rst
@@ -5,6 +5,9 @@ The latest source is not on GitHub, it is on pagure.io.  You can find it at http
 
 Hacking
 -------
+Install fedora dependencies:
+
+    $ sudo dnf install gcc gcc-c++ sqlite-devel 
 
 Hubs should work on python2 **and** python3, so let's default to python3 and
 see how that goes.

From 61aeecd09cafd50c84c475a35b5b08d22517368e Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 19:02:00 +0000
Subject: [PATCH 57/254] Merge branch 'develop' of github.com:ralphbean/fedora-hubs-prototype into develop


---

diff --git a/README.rst b/README.rst
index 34ad916..c64767c 100644
--- a/README.rst
+++ b/README.rst
@@ -5,6 +5,9 @@ The latest source is not on GitHub, it is on pagure.io.  You can find it at http
 
 Hacking
 -------
+Install fedora dependencies:
+
+    $ sudo dnf install gcc gcc-c++ sqlite-devel 
 
 Hubs should work on python2 **and** python3, so let's default to python3 and
 see how that goes.

From f9493752618897707ec09cd83bf3ba659ee6e675 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 04 2015 19:18:32 +0000
Subject: [PATCH 58/254] Copy the dummy widget, make it an About widget


---

diff --git a/hubs/widgets/about.py b/hubs/widgets/about.py
new file mode 100644
index 0000000..d5f8c7c
--- /dev/null
+++ b/hubs/widgets/about.py
@@ -0,0 +1,21 @@
+from hubs.widgets.chrome import panel
+from hubs.widgets.base import argument
+
+import jinja2
+
+import hubs.validators as validators
+
+
+template = jinja2.Template("{{text}} decause was here")
+chrome = panel("This is a dummy widget")
+
+
+@argument(name="text", default="Lorem ipsum dolor...",
+          validator=validators.text,
+          help="Some dummy text to display.")
+def data(session, widget, text):
+    return dict(text=text)
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError

From 9dba27c3b0380a519cb2c982eaf5f4eaf9a9c776 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 04 2015 19:18:32 +0000
Subject: [PATCH 59/254] Add About widget to populate script


---

diff --git a/populate.py b/populate.py
index 8751dc6..0210431 100755
--- a/populate.py
+++ b/populate.py
@@ -20,8 +20,14 @@ widget = hubs.models.Widget(plugin='rules', index=1,
                                 'link': 'http://threebean.org'
                             }))
 hub.widgets.append(widget)
+
 widget = hubs.models.Widget(plugin='dummy', index=2)
 hub.widgets.append(widget)
+
+# Added a hubs about widget
+widget = hubs.models.Widget(plugin='about', index=2)
+hub.widgets.append(widget)
+
 widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
                             _config=json.dumps({
                                 'text': 'This is a sticky note.',

From a6038f443c943e19a6235cef99c8f925e52e356b Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 04 2015 19:18:32 +0000
Subject: [PATCH 60/254] Added About widget to __init__.py


---

diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 4078e33..f2268e7 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -2,6 +2,7 @@ from hubs.widgets import dummy
 from hubs.widgets import stats
 from hubs.widgets import rules
 from hubs.widgets import sticky
+from hubs.widgets import about
 
 from hubs.widgets.base import AGPLv3, smartcache
 
@@ -10,6 +11,7 @@ registry = {
     'stats': stats,
     'rules': rules,
     'sticky': sticky,
+    'about': about,
 }
 
 

From 9dd472cd3f12c60c808de8ff1edd441980e727d6 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 04 2015 19:32:30 +0000
Subject: [PATCH 61/254] Added some about-specific default text


---

diff --git a/hubs/widgets/about.py b/hubs/widgets/about.py
index d5f8c7c..a6f8eae 100644
--- a/hubs/widgets/about.py
+++ b/hubs/widgets/about.py
@@ -6,13 +6,15 @@ import jinja2
 import hubs.validators as validators
 
 
-template = jinja2.Template("{{text}} decause was here")
-chrome = panel("This is a dummy widget")
+template = jinja2.Template("""
+    <p>{{text}}</p>
+    """)
+chrome = panel("About")
 
 
-@argument(name="text", default="Lorem ipsum dolor...",
+@argument(name="text", default="I am a Fedora user, and this is my about",
           validator=validators.text,
-          help="Some dummy text to display.")
+          help="Text about a user.")
 def data(session, widget, text):
     return dict(text=text)
 

From b05d48a4f72e0f651a97c04adea0c7adfb692cbb Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 04 2015 19:45:48 +0000
Subject: [PATCH 62/254] Added slick one-liner for restarting rm db, recreate db, re-run gunicorn


---

diff --git a/README.rst b/README.rst
index c64767c..fc8cdd3 100644
--- a/README.rst
+++ b/README.rst
@@ -33,6 +33,10 @@ If you want to test it with 8 worker threads, try ``gunicorn``::
     $ pip install gunicorn
     $ gunicorn -w 8 hubs.app:app
 
+Hacking on Widgets one-liner::
+
+    $ rm /var/tmp/hubs.db; PYTHONPATH=. python3 populate.py; gunicorn -w 8 hubs.app:app
+
 Internal design
 ---------------
 

From 1056f7e887a8536c4897a484abfe5b71a3e66090 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 04 2015 19:46:19 +0000
Subject: [PATCH 63/254] Add fancy text json config to populate.py in preparation of data feeding


---

diff --git a/populate.py b/populate.py
index 0210431..0742abc 100755
--- a/populate.py
+++ b/populate.py
@@ -25,7 +25,10 @@ widget = hubs.models.Widget(plugin='dummy', index=2)
 hub.widgets.append(widget)
 
 # Added a hubs about widget
-widget = hubs.models.Widget(plugin='about', index=2)
+widget = hubs.models.Widget(plugin='about', index=3,
+                            _config=json.dumps({
+                                "text": "I'm a Fedora user, and this is my about widget text!",
+                            }))
 hub.widgets.append(widget)
 
 widget = hubs.models.Widget(plugin='sticky', index=0, left=True,

From 0b329751aae57eaf04286949bcba093504b90651 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 19:46:20 +0000
Subject: [PATCH 64/254] Personal hub creation done.


---

diff --git a/hubs/app.py b/hubs/app.py
index 0b98b60..2fee16a 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -29,7 +29,10 @@ session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'])
 
 @app.route('/')
 def index():
-    return flask.redirect('/designteam')  # TODO - remove this later
+    if not flask.g.auth.logged_in:
+        return flask.redirect(flask.url_for('login_fedora'))
+
+    return flask.redirect(flask.url_for('hub', name=flask.g.auth.nickname))
 
 
 @app.route('/<name>')
@@ -162,6 +165,11 @@ def after_openid_login(resp):
     flask.app.session['fullname'] = resp.fullname
     flask.app.session['nickname'] = resp.nickname or resp.fullname
     flask.app.session['email'] = resp.email
+
+    openid = openid_url.strip('/').split('/')[-1]
+    hubs.models.User.get_or_create(
+        session, openid=openid, fullname=resp.fullname)
+
     next_url = flask.request.args.get('next', default)
     return flask.redirect(next_url)
 
@@ -176,13 +184,6 @@ def login_required(function):
             return flask.redirect(flask.url_for(
                 'login_fedora', next=flask.request.url))
 
-        # TODO - Ensure that the logged in user exists before we proceed.
-        hubs.models.User.get_or_create(
-            session,
-            openid=flask.g.auth.openid,
-            openid_url=flask.g.auth.openid_url,
-        )
-
         return function(*args, **kwargs)
     return decorated_function
 
@@ -196,7 +197,7 @@ def check_auth():
         id=None,
     )
     if 'openid' in flask.session:
-        openid = flask.session.get('openid').split('/')[-1]
+        openid = flask.session.get('openid').strip('/').split('/')[-1]
         flask.g.auth.logged_in = True
         flask.g.auth.method = u'openid'
         flask.g.auth.openid = openid
diff --git a/hubs/models.py b/hubs/models.py
index 49eb665..7653c2e 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -94,6 +94,26 @@ class Hub(BASE):
     members = ['ralph', 'sadin', 'sayan'] + owners
     subscribers = []
 
+    @classmethod
+    def by_name(cls, session, name):
+        return session.query(cls).filter_by(name=name).first()
+
+    @classmethod
+    def create_user_hub(cls, session, username, fullname):
+        hub = cls(name=username, summary=fullname)
+        session.add(hub)
+
+        widget = Widget(plugin='sticky', index=0, left=True,
+                        _config=json.dumps({
+                            'text': 'TODO -- put a fancy graph here..',
+                        }))
+        hub.widgets.append(widget)
+        widget = Widget(plugin='sticky', index=0,
+                        _config=json.dumps({
+                            'text': 'TODO -- your feed goes here.',
+                        }))
+        hub.widgets.append(widget)
+
     @property
     def right_width(self):
         return 12 - self.left_width
@@ -158,16 +178,19 @@ class Widget(BASE):
 class User(BASE):
     __tablename__ = 'users'
     openid = sa.Column(sa.Text, primary_key=True)
-    openid_url = sa.Column(sa.Text, unique=True)
+    fullname = sa.Column(sa.Text)
     created_on = sa.Column(sa.DateTime, default=datetime.datetime.utcnow)
 
     def __json__(self, reify=False):
         return {
             'openid': self.openid,
-            'openid_url': self.openid_url,
             'created_on': self.created_on,
         }
 
+    @property
+    def username(self):
+        return self.openid.split('.')[0]
+
     @classmethod
     def by_openid(cls, session, openid):
         return session.query(cls).filter_by(openid=openid).first()
@@ -177,3 +200,17 @@ class User(BASE):
     @classmethod
     def all(cls, session):
         return session.query(cls).all()
+
+    @classmethod
+    def get_or_create(cls, session, openid, fullname):
+        if not openid:
+            raise ValueError("Must provide openid, not %r" % openid)
+
+        self = cls.by_openid(session, openid)
+        if not self:
+            self = cls(openid=openid, fullname=fullname)
+            session.add(self)
+            if not Hub.by_name(session, self.username):
+                Hub.create_user_hub(session, self.username, self.fullname)
+            session.commit()
+        return self

From b6b2741be917055ceaf336c6f63de0b0b5818b12 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 19:57:48 +0000
Subject: [PATCH 65/254] Merge pull request #7 from decause/develop


Added a initial about widget as an example
---

diff --git a/README.rst b/README.rst
index c64767c..fc8cdd3 100644
--- a/README.rst
+++ b/README.rst
@@ -33,6 +33,10 @@ If you want to test it with 8 worker threads, try ``gunicorn``::
     $ pip install gunicorn
     $ gunicorn -w 8 hubs.app:app
 
+Hacking on Widgets one-liner::
+
+    $ rm /var/tmp/hubs.db; PYTHONPATH=. python3 populate.py; gunicorn -w 8 hubs.app:app
+
 Internal design
 ---------------
 
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 4078e33..f2268e7 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -2,6 +2,7 @@ from hubs.widgets import dummy
 from hubs.widgets import stats
 from hubs.widgets import rules
 from hubs.widgets import sticky
+from hubs.widgets import about
 
 from hubs.widgets.base import AGPLv3, smartcache
 
@@ -10,6 +11,7 @@ registry = {
     'stats': stats,
     'rules': rules,
     'sticky': sticky,
+    'about': about,
 }
 
 
diff --git a/hubs/widgets/about.py b/hubs/widgets/about.py
new file mode 100644
index 0000000..a6f8eae
--- /dev/null
+++ b/hubs/widgets/about.py
@@ -0,0 +1,23 @@
+from hubs.widgets.chrome import panel
+from hubs.widgets.base import argument
+
+import jinja2
+
+import hubs.validators as validators
+
+
+template = jinja2.Template("""
+    <p>{{text}}</p>
+    """)
+chrome = panel("About")
+
+
+@argument(name="text", default="I am a Fedora user, and this is my about",
+          validator=validators.text,
+          help="Text about a user.")
+def data(session, widget, text):
+    return dict(text=text)
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError
diff --git a/populate.py b/populate.py
index 8751dc6..0742abc 100755
--- a/populate.py
+++ b/populate.py
@@ -20,8 +20,17 @@ widget = hubs.models.Widget(plugin='rules', index=1,
                                 'link': 'http://threebean.org'
                             }))
 hub.widgets.append(widget)
+
 widget = hubs.models.Widget(plugin='dummy', index=2)
 hub.widgets.append(widget)
+
+# Added a hubs about widget
+widget = hubs.models.Widget(plugin='about', index=3,
+                            _config=json.dumps({
+                                "text": "I'm a Fedora user, and this is my about widget text!",
+                            }))
+hub.widgets.append(widget)
+
 widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
                             _config=json.dumps({
                                 'text': 'This is a sticky note.',

From dab6f7b98b142a9ca1dcd230d73a53b4b3f568c4 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jun 04 2015 19:59:36 +0000
Subject: [PATCH 66/254] move css to separate file


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
new file mode 100644
index 0000000..1bdbc82
--- /dev/null
+++ b/hubs/static/css/style.css
@@ -0,0 +1,40 @@
+   body {
+      background-color: #c;
+    }
+    .panel {
+      border-radius: 0px;
+    }
+    .header {
+      color: #ffffff;
+      background-color: #3c6eb4;
+      width: 100%;
+    }
+    .row {
+      padding: 5px;
+    }
+    .padded {
+      padding: 5px;
+    }
+    .medium-wide {
+      width: 250px;
+    }
+    h1, h2, h3, h4, h5, h6 {
+      margin-top: 0px;
+      margin-bottom: 0px;
+    }
+    .widget-buttons {
+      padding: 5px;
+      /* TODO -- lots more nice styling here... */
+    }
+    .panel {
+      visibility: hidden;
+      max-height: 0px;
+      overflow: hidden;
+      transition: max-height 0.4s;
+    }
+
+    .panel-visible {
+      visibility: visible;
+      max-height: 400px;
+    }
+
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index f5935e5..72b0154 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -1,48 +1,8 @@
 <html>
 <head>
   <title>{{ hub.name }}</title>
-  <style>
-    body {
-      background-color: #d1d3d4;
-    }
-    .panel {
-      border-radius: 0px;
-    }
-    .header {
-      color: #ffffff;
-      background-color: #3c6eb4;
-      width: 100%;
-    }
-    .row {
-      padding: 5px;
-    }
-    .padded {
-      padding: 5px;
-    }
-    .medium-wide {
-      width: 250px;
-    }
-    h1, h2, h3, h4, h5, h6 {
-      margin-top: 0px;
-      margin-bottom: 0px;
-    }
-    .widget-buttons {
-      padding: 5px;
-      /* TODO -- lots more nice styling here... */
-    }
-    .panel {
-      visibility: hidden;
-      max-height: 0px;
-      overflow: hidden;
-      transition: max-height 0.4s;
-    }
-
-    .panel-visible {
-      visibility: visible;
-      max-height: 400px;
-    }
-
-  </style>
+  <link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
+  <link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet" />
 </head>
 <body>
 <div class="header">
@@ -67,7 +27,6 @@
   </div>
 </div>
 
-<link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
 <script src="{{ url_for('static', filename='js/jquery-1.10.2.min.js') }}"></script>
 <script>
 var widgets = [{% for widget in hub.widgets %}'{{ widget.idx }}',{% endfor %}];

From e73f4e03a0fe809088ec308de40ea5209508eabe Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 20:02:20 +0000
Subject: [PATCH 67/254] Merge pull request #8 from meghanrichardson/develop


move css to separate file
---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
new file mode 100644
index 0000000..1bdbc82
--- /dev/null
+++ b/hubs/static/css/style.css
@@ -0,0 +1,40 @@
+   body {
+      background-color: #c;
+    }
+    .panel {
+      border-radius: 0px;
+    }
+    .header {
+      color: #ffffff;
+      background-color: #3c6eb4;
+      width: 100%;
+    }
+    .row {
+      padding: 5px;
+    }
+    .padded {
+      padding: 5px;
+    }
+    .medium-wide {
+      width: 250px;
+    }
+    h1, h2, h3, h4, h5, h6 {
+      margin-top: 0px;
+      margin-bottom: 0px;
+    }
+    .widget-buttons {
+      padding: 5px;
+      /* TODO -- lots more nice styling here... */
+    }
+    .panel {
+      visibility: hidden;
+      max-height: 0px;
+      overflow: hidden;
+      transition: max-height 0.4s;
+    }
+
+    .panel-visible {
+      visibility: visible;
+      max-height: 400px;
+    }
+
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index a201ef1..0bbfc90 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -1,48 +1,8 @@
 <html>
 <head>
   <title>{{ hub.name }}</title>
-  <style>
-    body {
-      background-color: #d1d3d4;
-    }
-    .panel {
-      border-radius: 0px;
-    }
-    .header {
-      color: #ffffff;
-      background-color: #3c6eb4;
-      width: 100%;
-    }
-    .row {
-      padding: 5px;
-    }
-    .padded {
-      padding: 5px;
-    }
-    .medium-wide {
-      width: 250px;
-    }
-    h1, h2, h3, h4, h5, h6 {
-      margin-top: 0px;
-      margin-bottom: 0px;
-    }
-    .widget-buttons {
-      padding: 5px;
-      /* TODO -- lots more nice styling here... */
-    }
-    .panel {
-      visibility: hidden;
-      max-height: 0px;
-      overflow: hidden;
-      transition: max-height 0.4s;
-    }
-
-    .panel-visible {
-      visibility: visible;
-      max-height: 400px;
-    }
-
-  </style>
+  <link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
+  <link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet" />
 </head>
 <body>
 <div class="header">
@@ -74,7 +34,6 @@
   </div>
 </div>
 
-<link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
 <script src="{{ url_for('static', filename='js/jquery-1.10.2.min.js') }}"></script>
 <script>
 var widgets = [{% for widget in hub.widgets %}'{{ widget.idx }}',{% endfor %}];

From 4d879275c640efb9886aa923aac137eb8546ac0c Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 20:24:28 +0000
Subject: [PATCH 68/254] Add an avatar widget.


---

diff --git a/hubs/models.py b/hubs/models.py
index 7653c2e..6c4bacf 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -108,7 +108,12 @@ class Hub(BASE):
                             'text': 'TODO -- put a fancy graph here..',
                         }))
         hub.widgets.append(widget)
-        widget = Widget(plugin='sticky', index=0,
+        widget = Widget(plugin='avatar', index=0,
+                        _config=json.dumps({
+                            'username': username,
+                        }))
+        hub.widgets.append(widget)
+        widget = Widget(plugin='sticky', index=1,
                         _config=json.dumps({
                             'text': 'TODO -- your feed goes here.',
                         }))
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 0bbfc90..829b51c 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -48,6 +48,7 @@ $.each(widgets, function(i, widget) {
         }, 100);
       },
       error: function() {
+        $('#widget-' + widget).html('Got an error retrieving this widget.  Sorry :(');
         console.log('error');
         console.trace();
       },
diff --git a/hubs/validators.py b/hubs/validators.py
index 9525da1..1079234 100644
--- a/hubs/validators.py
+++ b/hubs/validators.py
@@ -1,9 +1,15 @@
 import kitchen.text.converters
 
+import hubs.models
 
-def text(value):
+
+def text(session, value):
     return kitchen.text.converters.to_unicode(value)
 
-def link(value):
+def link(session, value):
     # TODO -- verify that this is actually a link
     return value
+
+def username(session, value):
+    openid = 'http://%s.id.fedoraproject.org/' % value
+    return not hubs.models.User.by_openid(session, openid) is None
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index f2268e7..044849e 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -3,6 +3,7 @@ from hubs.widgets import stats
 from hubs.widgets import rules
 from hubs.widgets import sticky
 from hubs.widgets import about
+from hubs.widgets import avatar
 
 from hubs.widgets.base import AGPLv3, smartcache
 
@@ -12,6 +13,7 @@ registry = {
     'rules': rules,
     'sticky': sticky,
     'about': about,
+    'avatar': avatar,
 }
 
 
diff --git a/hubs/widgets/avatar.py b/hubs/widgets/avatar.py
new file mode 100644
index 0000000..7360773
--- /dev/null
+++ b/hubs/widgets/avatar.py
@@ -0,0 +1,38 @@
+from hashlib import sha256
+
+from hubs.widgets.base import argument
+
+import jinja2
+
+from six.moves.urllib_parse import urlencode
+
+import hubs.validators as validators
+
+
+template = jinja2.Template("""
+<img class="img-responsive img-circle center-block" src="{{avatar}}">
+""")
+
+#from hubs.widgets.chrome import panel
+#chrome = panel("About")
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+def data(session, widget, username):
+
+    query = urlencode({
+        'd': 'retro',
+        's': 312,
+    })
+    openid = 'http://%s.id.fedoraproject.org/' % username
+    hash = sha256(openid.encode('utf-8')).hexdigest()
+    avatar = "https://seccdn.libravatar.org/avatar/%s?%s" % (hash, query)
+
+    return dict(username=username, avatar=avatar)
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError

From 44a90d77003e5dcdb9bcee5a3c0e919b38d2182d Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jun 04 2015 20:25:46 +0000
Subject: [PATCH 69/254] move login to upper right


---

diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 0bbfc90..eae7194 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -5,6 +5,16 @@
   <link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet" />
 </head>
 <body>
+<div class="row">
+  <div class="col-md-4 col-md-offset-8">
+    {% if g.auth.logged_in %}
+      Logged in as {{ g.auth.nickname }}
+    {% else %}
+      Not logged in.  Click to <a href="{{url_for('login_fedora')}}">login</a>.
+    {% endif %}
+  </div>
+</div>
+blah blah bookmarks menu
 <div class="header">
   <div class="padded center-block medium-wide">
     <h3>{{hub.name}}</h3>
@@ -13,11 +23,6 @@
 </div>
 <div class="container">
   <div class="row">
-    {% if g.auth.logged_in %}
-    Logged in as {{ g.auth.nickname }}
-    {% else %}
-    Not logged in.  Click to <a href="{{url_for('login_fedora')}}">login</a>.
-    {% endif %}
   </div>
   <div class="row">
     <div class="col-md-{{ hub.left_width }}">

From 0506adf6ed60ea5a83afcfb8ca76828941fd9657 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jun 04 2015 20:26:08 +0000
Subject: [PATCH 70/254] Merge branch 'develop' of github.com:ralphbean/fedora-hubs-prototype into develop


---

diff --git a/hubs/models.py b/hubs/models.py
index 7653c2e..6c4bacf 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -108,7 +108,12 @@ class Hub(BASE):
                             'text': 'TODO -- put a fancy graph here..',
                         }))
         hub.widgets.append(widget)
-        widget = Widget(plugin='sticky', index=0,
+        widget = Widget(plugin='avatar', index=0,
+                        _config=json.dumps({
+                            'username': username,
+                        }))
+        hub.widgets.append(widget)
+        widget = Widget(plugin='sticky', index=1,
                         _config=json.dumps({
                             'text': 'TODO -- your feed goes here.',
                         }))
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index eae7194..c3e68be 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -53,6 +53,7 @@ $.each(widgets, function(i, widget) {
         }, 100);
       },
       error: function() {
+        $('#widget-' + widget).html('Got an error retrieving this widget.  Sorry :(');
         console.log('error');
         console.trace();
       },
diff --git a/hubs/validators.py b/hubs/validators.py
index 9525da1..1079234 100644
--- a/hubs/validators.py
+++ b/hubs/validators.py
@@ -1,9 +1,15 @@
 import kitchen.text.converters
 
+import hubs.models
 
-def text(value):
+
+def text(session, value):
     return kitchen.text.converters.to_unicode(value)
 
-def link(value):
+def link(session, value):
     # TODO -- verify that this is actually a link
     return value
+
+def username(session, value):
+    openid = 'http://%s.id.fedoraproject.org/' % value
+    return not hubs.models.User.by_openid(session, openid) is None
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index f2268e7..044849e 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -3,6 +3,7 @@ from hubs.widgets import stats
 from hubs.widgets import rules
 from hubs.widgets import sticky
 from hubs.widgets import about
+from hubs.widgets import avatar
 
 from hubs.widgets.base import AGPLv3, smartcache
 
@@ -12,6 +13,7 @@ registry = {
     'rules': rules,
     'sticky': sticky,
     'about': about,
+    'avatar': avatar,
 }
 
 
diff --git a/hubs/widgets/avatar.py b/hubs/widgets/avatar.py
new file mode 100644
index 0000000..7360773
--- /dev/null
+++ b/hubs/widgets/avatar.py
@@ -0,0 +1,38 @@
+from hashlib import sha256
+
+from hubs.widgets.base import argument
+
+import jinja2
+
+from six.moves.urllib_parse import urlencode
+
+import hubs.validators as validators
+
+
+template = jinja2.Template("""
+<img class="img-responsive img-circle center-block" src="{{avatar}}">
+""")
+
+#from hubs.widgets.chrome import panel
+#chrome = panel("About")
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+def data(session, widget, username):
+
+    query = urlencode({
+        'd': 'retro',
+        's': 312,
+    })
+    openid = 'http://%s.id.fedoraproject.org/' % username
+    hash = sha256(openid.encode('utf-8')).hexdigest()
+    avatar = "https://seccdn.libravatar.org/avatar/%s?%s" % (hash, query)
+
+    return dict(username=username, avatar=avatar)
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError

From 45dba6d562a181a4f37980ffed2db769de49e67a Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 04 2015 20:50:07 +0000
Subject: [PATCH 71/254] Added Badges widget, into __init__.py, and on personal hubs


---

diff --git a/hubs/models.py b/hubs/models.py
index 6c4bacf..d5c257f 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -118,6 +118,11 @@ class Hub(BASE):
                             'text': 'TODO -- your feed goes here.',
                         }))
         hub.widgets.append(widget)
+        widget = Widget(plugin='badges', index=2,
+                        _config=json.dumps({
+                            'username': username,
+                        }))
+        hub.widgets.append(widget)
 
     @property
     def right_width(self):
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 044849e..4d3dff9 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -4,6 +4,7 @@ from hubs.widgets import rules
 from hubs.widgets import sticky
 from hubs.widgets import about
 from hubs.widgets import avatar
+from hubs.widgets import badges
 
 from hubs.widgets.base import AGPLv3, smartcache
 
@@ -14,6 +15,7 @@ registry = {
     'sticky': sticky,
     'about': about,
     'avatar': avatar,
+    'badges': badges,
 }
 
 
diff --git a/hubs/widgets/badges.py b/hubs/widgets/badges.py
new file mode 100644
index 0000000..0f44294
--- /dev/null
+++ b/hubs/widgets/badges.py
@@ -0,0 +1,35 @@
+import requests
+
+from hubs.widgets.base import argument
+
+import jinja2
+
+
+import hubs.validators as validators
+
+
+template = jinja2.Template("""
+{% for badge in assertions %}
+    <img src="{{badge['image']}}"/>
+{%endfor%}
+""")
+
+from hubs.widgets.chrome import panel
+chrome = panel("Badges")
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+def data(session, widget, username):
+    url = "https://badges.fedoraproject.org/user/{username}/json"
+    url = url.format(username=username)
+    response = requests.get(url)
+    import pprint; pprint.pprint(response.json())
+
+    return response.json()
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError

From 4e379d71c1115ebbe30b2b2bfaf591cb04a33327 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 20:54:24 +0000
Subject: [PATCH 72/254] Merge pull request #9 from decause/develop


Added Badges widget, into __init__.py, and on personal hubs
---

diff --git a/hubs/models.py b/hubs/models.py
index 6c4bacf..d5c257f 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -118,6 +118,11 @@ class Hub(BASE):
                             'text': 'TODO -- your feed goes here.',
                         }))
         hub.widgets.append(widget)
+        widget = Widget(plugin='badges', index=2,
+                        _config=json.dumps({
+                            'username': username,
+                        }))
+        hub.widgets.append(widget)
 
     @property
     def right_width(self):
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 044849e..4d3dff9 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -4,6 +4,7 @@ from hubs.widgets import rules
 from hubs.widgets import sticky
 from hubs.widgets import about
 from hubs.widgets import avatar
+from hubs.widgets import badges
 
 from hubs.widgets.base import AGPLv3, smartcache
 
@@ -14,6 +15,7 @@ registry = {
     'sticky': sticky,
     'about': about,
     'avatar': avatar,
+    'badges': badges,
 }
 
 
diff --git a/hubs/widgets/badges.py b/hubs/widgets/badges.py
new file mode 100644
index 0000000..0f44294
--- /dev/null
+++ b/hubs/widgets/badges.py
@@ -0,0 +1,35 @@
+import requests
+
+from hubs.widgets.base import argument
+
+import jinja2
+
+
+import hubs.validators as validators
+
+
+template = jinja2.Template("""
+{% for badge in assertions %}
+    <img src="{{badge['image']}}"/>
+{%endfor%}
+""")
+
+from hubs.widgets.chrome import panel
+chrome = panel("Badges")
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+def data(session, widget, username):
+    url = "https://badges.fedoraproject.org/user/{username}/json"
+    url = url.format(username=username)
+    response = requests.get(url)
+    import pprint; pprint.pprint(response.json())
+
+    return response.json()
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError

From 6694532aa808a4f6be14c2d3f0d354b250181fe1 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jun 04 2015 20:57:26 +0000
Subject: [PATCH 73/254] header styles


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 1bdbc82..33fb3b6 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -1,9 +1,16 @@
    body {
-      background-color: #c;
+      background-color: #d1d3d4;
     }
     .panel {
       border-radius: 0px;
     }
+    .super-header {
+      text-align: right;
+      background: -moz-linear-gradient(rgba(255,255,255,0),rgba(255,255,255,1)); /*Fx 3.6-15*/
+    }
+    .bookmarks {
+      background-color: #fff;
+    }
     .header {
       color: #ffffff;
       background-color: #3c6eb4;
@@ -38,3 +45,10 @@
       max-height: 400px;
     }
 
+//flexbox support
+.flex-container {
+    display: flex;
+    flex-direction: row;
+    flex-wrap: wrap;
+} 
+
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index c3e68be..da48e9e 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -5,16 +5,20 @@
   <link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet" />
 </head>
 <body>
-<div class="row">
-  <div class="col-md-4 col-md-offset-8">
-    {% if g.auth.logged_in %}
-      Logged in as {{ g.auth.nickname }}
-    {% else %}
-      Not logged in.  Click to <a href="{{url_for('login_fedora')}}">login</a>.
-    {% endif %}
+<div class="super-header">
+  <div class="row">
+    <div class="col-md-4 col-md-offset-8">
+      {% if g.auth.logged_in %}
+        Logged in as {{ g.auth.nickname }}
+      {% else %}
+        Not logged in.  Click to <a href="{{url_for('login_fedora')}}">login</a>.
+      {% endif %}
+    </div>
   </div>
 </div>
-blah blah bookmarks menu
+<div class="bookmarks">
+  naaav here eventuallyyyyyyy
+</div>
 <div class="header">
   <div class="padded center-block medium-wide">
     <h3>{{hub.name}}</h3>

From 6a7b183b97899cbf10d69b0f0502084aa5ba1e00 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jun 04 2015 20:57:42 +0000
Subject: [PATCH 74/254] Merge branch 'develop' of github.com:ralphbean/fedora-hubs-prototype into develop


---

diff --git a/hubs/models.py b/hubs/models.py
index 6c4bacf..d5c257f 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -118,6 +118,11 @@ class Hub(BASE):
                             'text': 'TODO -- your feed goes here.',
                         }))
         hub.widgets.append(widget)
+        widget = Widget(plugin='badges', index=2,
+                        _config=json.dumps({
+                            'username': username,
+                        }))
+        hub.widgets.append(widget)
 
     @property
     def right_width(self):
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 044849e..4d3dff9 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -4,6 +4,7 @@ from hubs.widgets import rules
 from hubs.widgets import sticky
 from hubs.widgets import about
 from hubs.widgets import avatar
+from hubs.widgets import badges
 
 from hubs.widgets.base import AGPLv3, smartcache
 
@@ -14,6 +15,7 @@ registry = {
     'sticky': sticky,
     'about': about,
     'avatar': avatar,
+    'badges': badges,
 }
 
 
diff --git a/hubs/widgets/badges.py b/hubs/widgets/badges.py
new file mode 100644
index 0000000..0f44294
--- /dev/null
+++ b/hubs/widgets/badges.py
@@ -0,0 +1,35 @@
+import requests
+
+from hubs.widgets.base import argument
+
+import jinja2
+
+
+import hubs.validators as validators
+
+
+template = jinja2.Template("""
+{% for badge in assertions %}
+    <img src="{{badge['image']}}"/>
+{%endfor%}
+""")
+
+from hubs.widgets.chrome import panel
+chrome = panel("Badges")
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+def data(session, widget, username):
+    url = "https://badges.fedoraproject.org/user/{username}/json"
+    url = url.format(username=username)
+    response = requests.get(url)
+    import pprint; pprint.pprint(response.json())
+
+    return response.json()
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError

From 2559f02fa8698c90e4f99e72454bc2a9b30cd422 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 21:00:48 +0000
Subject: [PATCH 75/254] Merge pull request #10 from meghanrichardson/develop


login styles / flexbox support
---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 1bdbc82..33fb3b6 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -1,9 +1,16 @@
    body {
-      background-color: #c;
+      background-color: #d1d3d4;
     }
     .panel {
       border-radius: 0px;
     }
+    .super-header {
+      text-align: right;
+      background: -moz-linear-gradient(rgba(255,255,255,0),rgba(255,255,255,1)); /*Fx 3.6-15*/
+    }
+    .bookmarks {
+      background-color: #fff;
+    }
     .header {
       color: #ffffff;
       background-color: #3c6eb4;
@@ -38,3 +45,10 @@
       max-height: 400px;
     }
 
+//flexbox support
+.flex-container {
+    display: flex;
+    flex-direction: row;
+    flex-wrap: wrap;
+} 
+
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 829b51c..da48e9e 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -5,6 +5,20 @@
   <link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet" />
 </head>
 <body>
+<div class="super-header">
+  <div class="row">
+    <div class="col-md-4 col-md-offset-8">
+      {% if g.auth.logged_in %}
+        Logged in as {{ g.auth.nickname }}
+      {% else %}
+        Not logged in.  Click to <a href="{{url_for('login_fedora')}}">login</a>.
+      {% endif %}
+    </div>
+  </div>
+</div>
+<div class="bookmarks">
+  naaav here eventuallyyyyyyy
+</div>
 <div class="header">
   <div class="padded center-block medium-wide">
     <h3>{{hub.name}}</h3>
@@ -13,11 +27,6 @@
 </div>
 <div class="container">
   <div class="row">
-    {% if g.auth.logged_in %}
-    Logged in as {{ g.auth.nickname }}
-    {% else %}
-    Not logged in.  Click to <a href="{{url_for('login_fedora')}}">login</a>.
-    {% endif %}
   </div>
   <div class="row">
     <div class="col-md-{{ hub.left_width }}">

From 9549f6e8c6692cf6a3a898e29dbf0d7bcdb0b1e8 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 04 2015 21:06:06 +0000
Subject: [PATCH 76/254] We have a working badges widget!


---

diff --git a/hubs/app.py b/hubs/app.py
index 2fee16a..e914bfa 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -73,12 +73,6 @@ def get_widget(session, hub, idx):
 def widget_render(hub, idx):
     widget = get_widget(session, hub, idx)
 
-    # Make this artificially slow for development...
-    import random, time
-    s = (random.random() * 3) + 1
-    print(widget.plugin, "sleeping artificially for", s)
-    time.sleep(s)
-
     return widget.render(session)
 
 
diff --git a/hubs/widgets/badges.py b/hubs/widgets/badges.py
index 0f44294..976a137 100644
--- a/hubs/widgets/badges.py
+++ b/hubs/widgets/badges.py
@@ -9,9 +9,11 @@ import hubs.validators as validators
 
 
 template = jinja2.Template("""
+<div class="flex-container">
 {% for badge in assertions %}
-    <img src="{{badge['image']}}"/>
+    <img width="19%" src="{{badge['image']}}"/>
 {%endfor%}
+</div>
 """)
 
 from hubs.widgets.chrome import panel

From d516ff78bffbae3872ea65ad68cdb9b030ae6e58 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 21:12:58 +0000
Subject: [PATCH 77/254] Remove pprint.


---

diff --git a/hubs/app.py b/hubs/app.py
index e914bfa..621d3e0 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -72,7 +72,6 @@ def get_widget(session, hub, idx):
 @app.route('/<hub>/<idx>/')
 def widget_render(hub, idx):
     widget = get_widget(session, hub, idx)
-
     return widget.render(session)
 
 
diff --git a/hubs/widgets/badges.py b/hubs/widgets/badges.py
index 976a137..14ed116 100644
--- a/hubs/widgets/badges.py
+++ b/hubs/widgets/badges.py
@@ -28,8 +28,6 @@ def data(session, widget, username):
     url = "https://badges.fedoraproject.org/user/{username}/json"
     url = url.format(username=username)
     response = requests.get(url)
-    import pprint; pprint.pprint(response.json())
-
     return response.json()
 
 

From 706c607f29146867705292efe9527e4236fb7f49 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jun 04 2015 21:33:03 +0000
Subject: [PATCH 78/254] more styles git add static/css/style.css templates/hubs.html


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 33fb3b6..f418cc9 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -6,10 +6,18 @@
     }
     .super-header {
       text-align: right;
-      background: -moz-linear-gradient(rgba(255,255,255,0),rgba(255,255,255,1)); /*Fx 3.6-15*/
-    }
-    .bookmarks {
+      background: -webkit-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
+      background: -o-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
+      background: -moz-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
+      background: linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
+      padding: 20px 20px 20px 0;
+      font-family: 'Open Sans', 'sans-serif';
+      font-size: 12pt;
+    }
+    .bookmarks .navbar.navbar-default {
       background-color: #fff;
+      margin-bottom: 0;
+      text-align: center;
     }
     .header {
       color: #ffffff;
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index da48e9e..38313c1 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -3,13 +3,15 @@
   <title>{{ hub.name }}</title>
   <link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
   <link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet" />
+  <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic|Comfortaa' rel='stylesheet' type='text/css'>
+<!--I added google fonts!!!! Sorry if I wasn't supposed to do that!!! -->
 </head>
 <body>
 <div class="super-header">
   <div class="row">
     <div class="col-md-4 col-md-offset-8">
       {% if g.auth.logged_in %}
-        Logged in as {{ g.auth.nickname }}
+        {# Logged in as #} {{ g.auth.nickname }}
       {% else %}
         Not logged in.  Click to <a href="{{url_for('login_fedora')}}">login</a>.
       {% endif %}
@@ -17,7 +19,33 @@
   </div>
 </div>
 <div class="bookmarks">
-  naaav here eventuallyyyyyyy
+  <nav class="navbar navbar-default">
+    <div class="container-fluid">
+      <!-- Brand and toggle get grouped for better mobile display -->
+      <div class="navbar-header">
+        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+          <span class="sr-only">Toggle navigation</span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </button>
+        <a class="navbar-brand" href="#">Fedora Hubs</a>
+      </div>
+
+      <!-- Collect the nav links, forms, and other content for toggling -->
+      <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+        <ul class="nav navbar-nav">
+          <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
+          <li><a href="#">Link</a></li>
+          <li><a href="#">Action</a></li>
+          <li><a href="#">Another action</a></li>
+          <li><a href="#">Something else here</a></li>
+          <li class="divider"></li>
+          <li><a href="#">Separated link</a></li>          
+        </ul>
+      </div><!-- /.navbar-collapse -->
+    </div><!-- /.container-fluid -->
+  </nav>
 </div>
 <div class="header">
   <div class="padded center-block medium-wide">

From f40a8445cc172a56992c51ba7f4c81c3fee1258f Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 21:41:46 +0000
Subject: [PATCH 79/254] Merge pull request #11 from meghanrichardson/develop


more styles
---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 33fb3b6..f418cc9 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -6,10 +6,18 @@
     }
     .super-header {
       text-align: right;
-      background: -moz-linear-gradient(rgba(255,255,255,0),rgba(255,255,255,1)); /*Fx 3.6-15*/
-    }
-    .bookmarks {
+      background: -webkit-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
+      background: -o-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
+      background: -moz-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
+      background: linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
+      padding: 20px 20px 20px 0;
+      font-family: 'Open Sans', 'sans-serif';
+      font-size: 12pt;
+    }
+    .bookmarks .navbar.navbar-default {
       background-color: #fff;
+      margin-bottom: 0;
+      text-align: center;
     }
     .header {
       color: #ffffff;
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index da48e9e..38313c1 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -3,13 +3,15 @@
   <title>{{ hub.name }}</title>
   <link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
   <link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet" />
+  <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic|Comfortaa' rel='stylesheet' type='text/css'>
+<!--I added google fonts!!!! Sorry if I wasn't supposed to do that!!! -->
 </head>
 <body>
 <div class="super-header">
   <div class="row">
     <div class="col-md-4 col-md-offset-8">
       {% if g.auth.logged_in %}
-        Logged in as {{ g.auth.nickname }}
+        {# Logged in as #} {{ g.auth.nickname }}
       {% else %}
         Not logged in.  Click to <a href="{{url_for('login_fedora')}}">login</a>.
       {% endif %}
@@ -17,7 +19,33 @@
   </div>
 </div>
 <div class="bookmarks">
-  naaav here eventuallyyyyyyy
+  <nav class="navbar navbar-default">
+    <div class="container-fluid">
+      <!-- Brand and toggle get grouped for better mobile display -->
+      <div class="navbar-header">
+        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+          <span class="sr-only">Toggle navigation</span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </button>
+        <a class="navbar-brand" href="#">Fedora Hubs</a>
+      </div>
+
+      <!-- Collect the nav links, forms, and other content for toggling -->
+      <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+        <ul class="nav navbar-nav">
+          <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
+          <li><a href="#">Link</a></li>
+          <li><a href="#">Action</a></li>
+          <li><a href="#">Another action</a></li>
+          <li><a href="#">Something else here</a></li>
+          <li class="divider"></li>
+          <li><a href="#">Separated link</a></li>          
+        </ul>
+      </div><!-- /.navbar-collapse -->
+    </div><!-- /.container-fluid -->
+  </nav>
 </div>
 <div class="header">
   <div class="padded center-block medium-wide">

From 1409672fe1bfae09262e6cb396fbc57e7ac0c660 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 04 2015 21:51:19 +0000
Subject: [PATCH 80/254] Point source url at pagure.


---

diff --git a/hubs/app.py b/hubs/app.py
index 621d3e0..9ef867d 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -14,7 +14,7 @@ app = flask.Flask(__name__)
 # TODO - put this in config so we can migrate to pagure
 # TODO - instead of 'develop', use the version from pkg_resources to figure out
 #        the right tag to link people to.  AGPL ftw.
-SOURCE_URL = 'https://github.com/ralphbean/fedora-hubs-prototype/blob/develop'
+SOURCE_URL = 'https://pagure.io/fedora-hubs/blob/develop/f'#/hubs/widgets/badges.py'
 
 
 app.config.from_object('hubs.default_config')
@@ -97,7 +97,8 @@ def widget_json(hub, idx):
 def widget_source(name):
     from hubs.widgets import registry
     base = '/hubs/'
-    fname = base + registry[name].__file__.split(base, 1)[1][:-1]
+    fname = base + registry[name].__file__.split(base, 1)[1]
+    fname = fname.replace('.pyc', '.py')
     return flask.redirect(SOURCE_URL + fname)
 
 

From 4a82cbebc8790ad11dedf0f426d49e57f3f0ce82 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 05 2015 16:33:28 +0000
Subject: [PATCH 81/254] Pendingacls workflow widget.


---

diff --git a/hubs/models.py b/hubs/models.py
index d5c257f..87ddada 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -113,9 +113,11 @@ class Hub(BASE):
                             'username': username,
                         }))
         hub.widgets.append(widget)
-        widget = Widget(plugin='sticky', index=1,
+        widget = Widget(plugin='workflow.pendingacls', index=1,
                         _config=json.dumps({
-                            'text': 'TODO -- your feed goes here.',
+                            # Only because he has pendingacls to test against
+                            'username': 'vicodan',
+                            #'username': username,
                         }))
         hub.widgets.append(widget)
         widget = Widget(plugin='badges', index=2,
diff --git a/hubs/utils.py b/hubs/utils.py
new file mode 100644
index 0000000..35bf44a
--- /dev/null
+++ b/hubs/utils.py
@@ -0,0 +1,14 @@
+from hashlib import sha256
+
+from six.moves.urllib_parse import urlencode
+
+
+def username2avatar(username, s=312):
+    query = urlencode({
+        'd': 'retro',
+        's': s,
+    })
+    openid = 'http://%s.id.fedoraproject.org/' % username
+    hash = sha256(openid.encode('utf-8')).hexdigest()
+    avatar = "https://seccdn.libravatar.org/avatar/%s?%s" % (hash, query)
+    return avatar
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 4d3dff9..51ed1b1 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -6,6 +6,8 @@ from hubs.widgets import about
 from hubs.widgets import avatar
 from hubs.widgets import badges
 
+from hubs.widgets.workflow import pendingacls
+
 from hubs.widgets.base import AGPLv3, smartcache
 
 registry = {
@@ -16,6 +18,8 @@ registry = {
     'about': about,
     'avatar': avatar,
     'badges': badges,
+
+    'workflow.pendingacls': pendingacls,
 }
 
 
diff --git a/hubs/widgets/avatar.py b/hubs/widgets/avatar.py
index 7360773..20c12ab 100644
--- a/hubs/widgets/avatar.py
+++ b/hubs/widgets/avatar.py
@@ -1,11 +1,8 @@
-from hashlib import sha256
-
 from hubs.widgets.base import argument
+from hubs.utils import username2avatar
 
 import jinja2
 
-from six.moves.urllib_parse import urlencode
-
 import hubs.validators as validators
 
 
@@ -22,15 +19,7 @@ template = jinja2.Template("""
           validator=validators.username,
           help="A FAS username.")
 def data(session, widget, username):
-
-    query = urlencode({
-        'd': 'retro',
-        's': 312,
-    })
-    openid = 'http://%s.id.fedoraproject.org/' % username
-    hash = sha256(openid.encode('utf-8')).hexdigest()
-    avatar = "https://seccdn.libravatar.org/avatar/%s?%s" % (hash, query)
-
+    avatar = username2avatar(username)
     return dict(username=username, avatar=avatar)
 
 
diff --git a/hubs/widgets/workflow/__init__.py b/hubs/widgets/workflow/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/hubs/widgets/workflow/__init__.py
diff --git a/hubs/widgets/workflow/pendingacls.py b/hubs/widgets/workflow/pendingacls.py
new file mode 100644
index 0000000..40149e4
--- /dev/null
+++ b/hubs/widgets/workflow/pendingacls.py
@@ -0,0 +1,53 @@
+import requests
+
+from hubs.widgets.base import argument
+from hubs.utils import username2avatar
+
+import jinja2
+
+
+import hubs.validators as validators
+
+# TODO -- add approve/deny buttons or just link through to pkgdb
+template = jinja2.Template("""
+{% if pending_acls %}
+<a class="btn btn-success" target="_blank" href="https://admin.fedoraproject.org/pkgdb/acl/pending/">Manage requests</a>
+<hr/>
+<ul class="media-list">
+{% for acl in pending_acls %}
+    <li class="media">
+        <div class="media-left">
+            <img class="media-object img-responsive img-circle" src="{{acl['avatar']}}"/>
+        </div>
+        <div class="media-body">
+            <h4 class="media-heading">{{acl['user']}} is {{acl['status']}}</h4>
+            for {{acl['acl']}} on
+            {{acl['package']}}({{acl['collection']}})
+        </div>
+    </li>
+{% endfor %}
+</ul>
+{% endif %}
+""")
+
+from hubs.widgets.chrome import panel
+chrome = panel("Pending ACLs")
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+def data(session, widget, username):
+    baseurl = "https://admin.fedoraproject.org/pkgdb/api/pendingacls"
+    query = "?username={username}&format=json".format(username=username)
+    url = baseurl + query
+    response = requests.get(url)
+    data = response.json()
+    for acl in data['pending_acls']:
+        acl['avatar'] = username2avatar(acl['user'], s=32)
+    return data
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError

From 307f112d518b11be27e27eca1bbb6eff12302e6f Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 05 2015 17:41:33 +0000
Subject: [PATCH 82/254] Hide chrome if there is no content.


---

diff --git a/hubs/widgets/chrome.py b/hubs/widgets/chrome.py
index 4ea42c6..de38df1 100644
--- a/hubs/widgets/chrome.py
+++ b/hubs/widgets/chrome.py
@@ -25,7 +25,7 @@ _panel_heading_template = jinja2.Template("""
 """)
 
 
-def panel(title=None, klass="panel-default"):
+def panel(title=None, klass="panel-default", key=None):
     def decorator(func):
         @wraps(func)
         def inner(*args, **kwargs):
@@ -33,6 +33,8 @@ def panel(title=None, klass="panel-default"):
             if title:
                 heading = _panel_heading_template.render(title=title)
             content = func(*args, **kwargs)
+            if key and not kwargs.get(key):
+                return content
             return _panel_template.render(
                 content=content,
                 heading=heading,
diff --git a/hubs/widgets/workflow/pendingacls.py b/hubs/widgets/workflow/pendingacls.py
index 40149e4..ad79a7e 100644
--- a/hubs/widgets/workflow/pendingacls.py
+++ b/hubs/widgets/workflow/pendingacls.py
@@ -31,7 +31,8 @@ template = jinja2.Template("""
 """)
 
 from hubs.widgets.chrome import panel
-chrome = panel("Pending ACLs")
+# If 'pending_acls' is empty, then don't render any chrome.
+chrome = panel('Pending ACL Requests', key='pending_acls')
 
 
 @argument(name="username",

From 0a11b8164b628ba003529558200726f64037d313 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 05 2015 17:41:51 +0000
Subject: [PATCH 83/254] Go back to using the real username.


---

diff --git a/hubs/models.py b/hubs/models.py
index 87ddada..424f6a0 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -115,9 +115,7 @@ class Hub(BASE):
         hub.widgets.append(widget)
         widget = Widget(plugin='workflow.pendingacls', index=1,
                         _config=json.dumps({
-                            # Only because he has pendingacls to test against
-                            'username': 'vicodan',
-                            #'username': username,
+                            'username': username,
                         }))
         hub.widgets.append(widget)
         widget = Widget(plugin='badges', index=2,

From ba919f1ba6a9f482aa1a0173fc2f09be0b41da2b Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 05 2015 17:42:17 +0000
Subject: [PATCH 84/254] A note for the future.


---

diff --git a/hubs/widgets/workflow/pendingacls.py b/hubs/widgets/workflow/pendingacls.py
index ad79a7e..8f40a86 100644
--- a/hubs/widgets/workflow/pendingacls.py
+++ b/hubs/widgets/workflow/pendingacls.py
@@ -40,6 +40,13 @@ chrome = panel('Pending ACL Requests', key='pending_acls')
           validator=validators.username,
           help="A FAS username.")
 def data(session, widget, username):
+
+    # TODO -- rewrite this to
+    # 1) use the datagrepper API instead of the direct pkgdb API
+    # 2) so that we can use the fedmsg.meta.conglomerate API to
+    # 3) group messages nicely in the UI instead of having repeats
+    # It will be slower, but that's fine because of our smart cache.
+
     baseurl = "https://admin.fedoraproject.org/pkgdb/api/pendingacls"
     query = "?username={username}&format=json".format(username=username)
     url = baseurl + query

From 1755d2b7935c27c52101a2566fca4f6dcf4ea82e Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 07 2015 15:07:28 +0000
Subject: [PATCH 85/254] Move defaults to a common file.


---

diff --git a/hubs/defaults.py b/hubs/defaults.py
new file mode 100644
index 0000000..cae90a0
--- /dev/null
+++ b/hubs/defaults.py
@@ -0,0 +1,32 @@
+import json
+
+import hubs.models
+
+
+def add_user_widgets(session, hub, username, fullname):
+    """ Some defaults for an individual user's hub. """
+    widget = hubs.models.Widget(
+        plugin='sticky', index=0, left=True,
+        _config=json.dumps({
+            'text': 'TODO -- put a fancy graph here..',
+        }))
+    hub.widgets.append(widget)
+    widget = hubs.models.Widget(
+        plugin='avatar', index=0,
+        _config=json.dumps({
+            'username': username,
+        }))
+    hub.widgets.append(widget)
+    widget = hubs.models.Widget(
+        plugin='workflow.pendingacls', index=1,
+        _config=json.dumps({
+            'username': username,
+        }))
+    hub.widgets.append(widget)
+    widget = hubs.models.Widget(
+        plugin='badges', index=2,
+        _config=json.dumps({
+            'username': username,
+        }))
+    hub.widgets.append(widget)
+    return hub
diff --git a/hubs/models.py b/hubs/models.py
index 424f6a0..b129f5d 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -36,6 +36,7 @@ from sqlalchemy.orm import backref
 import fedmsg
 import fedmsg.utils
 
+import hubs.defaults
 import hubs.widgets
 
 
@@ -102,27 +103,7 @@ class Hub(BASE):
     def create_user_hub(cls, session, username, fullname):
         hub = cls(name=username, summary=fullname)
         session.add(hub)
-
-        widget = Widget(plugin='sticky', index=0, left=True,
-                        _config=json.dumps({
-                            'text': 'TODO -- put a fancy graph here..',
-                        }))
-        hub.widgets.append(widget)
-        widget = Widget(plugin='avatar', index=0,
-                        _config=json.dumps({
-                            'username': username,
-                        }))
-        hub.widgets.append(widget)
-        widget = Widget(plugin='workflow.pendingacls', index=1,
-                        _config=json.dumps({
-                            'username': username,
-                        }))
-        hub.widgets.append(widget)
-        widget = Widget(plugin='badges', index=2,
-                        _config=json.dumps({
-                            'username': username,
-                        }))
-        hub.widgets.append(widget)
+        hubs.defaults.add_user_widgets(session, hub, username, fullname)
 
     @property
     def right_width(self):

From b6a1b33113287e61093b465dd51999ba80c30455 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 07 2015 19:17:48 +0000
Subject: [PATCH 86/254] Fedmsgs widget created Unhard-code the max-height. Removal breaks the things.


Rudimentary fedmsgs graph widget

Added fedmsgs widget

Added fedmsgs widget to __init__.py

---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index cae90a0..da41b82 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -8,10 +8,18 @@ def add_user_widgets(session, hub, username, fullname):
     widget = hubs.models.Widget(
         plugin='sticky', index=0, left=True,
         _config=json.dumps({
-            'text': 'TODO -- put a fancy graph here..',
+            'text': 'TODO -- Put a fancy graph here...',
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
+        plugin='fedmsgs', index=1, left=True,
+        _config=json.dumps({
+            'username': username,
+        }))
+    hub.widgets.append(widget)
+
+    # Right Side Widgets
+    widget = hubs.models.Widget(
         plugin='avatar', index=0,
         _config=json.dumps({
             'username': username,
diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index f418cc9..9ef6dae 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -50,7 +50,7 @@
 
     .panel-visible {
       visibility: visible;
-      max-height: 400px;
+      max-height: 100%;
     }
 
 //flexbox support
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 51ed1b1..2bb8570 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -5,6 +5,7 @@ from hubs.widgets import sticky
 from hubs.widgets import about
 from hubs.widgets import avatar
 from hubs.widgets import badges
+from hubs.widgets import fedmsgs
 
 from hubs.widgets.workflow import pendingacls
 
@@ -18,7 +19,7 @@ registry = {
     'about': about,
     'avatar': avatar,
     'badges': badges,
-
+    'fedmsgs': fedmsgs,
     'workflow.pendingacls': pendingacls,
 }
 
diff --git a/hubs/widgets/fedmsgs.py b/hubs/widgets/fedmsgs.py
new file mode 100644
index 0000000..ae07a7d
--- /dev/null
+++ b/hubs/widgets/fedmsgs.py
@@ -0,0 +1,32 @@
+from hubs.widgets.base import argument
+
+import jinja2
+
+
+import hubs.validators as validators
+
+
+template = jinja2.Template("""
+<div class="flex-container">
+
+    <img src="{{url}}" />
+
+</div>
+""")
+
+from hubs.widgets.chrome import panel
+chrome = panel("Daily Activity")
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+def data(session, widget, username):
+    url = "https://apps.fedoraproject.org/datagrepper/charts/line?delta=86400&N=12&style=clean&height=200&fill=true&user={username}"
+    url = url.format(username=username)
+    return dict(url=url)
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError

From f999eeac716da09b3f0ed62615fe7fbc54c89b6c Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 07 2015 19:18:05 +0000
Subject: [PATCH 87/254] pace-ery


---

diff --git a/hubs/static/css/pace-theme-minimal.css b/hubs/static/css/pace-theme-minimal.css
new file mode 100644
index 0000000..b12e450
--- /dev/null
+++ b/hubs/static/css/pace-theme-minimal.css
@@ -0,0 +1,30 @@
+/*Copyright (c) 2013 HubSpot, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+.pace {
+  -webkit-pointer-events: none;
+  pointer-events: none;
+
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  user-select: none;
+}
+
+.pace-inactive {
+  display: none;
+}
+
+.pace .pace-progress {
+  background: #29d;
+  position: fixed;
+  z-index: 2000;
+  top: 0;
+  right: 100%;
+  width: 100%;
+  height: 2px;
+}
diff --git a/hubs/static/js/pace.min.js b/hubs/static/js/pace.min.js
new file mode 100644
index 0000000..270c5ec
--- /dev/null
+++ b/hubs/static/js/pace.min.js
@@ -0,0 +1,10 @@
+/*Copyright (c) 2013 HubSpot, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+/*! pace 1.0.0 */
+(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];c<this.bindings[a].length;)e.push(this.bindings[a][c].handler===b?this.bindings[a].splice(c,1):c++);return e}},a.prototype.trigger=function(){var a,b,c,d,e,f,g,h,i;if(c=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],null!=(g=this.bindings)?g[c]:void 0){for(e=0,i=[];e<this.bindings[c].length;)h=this.bindings[c][e],d=h.handler,b=h.ctx,f=h.once,d.apply(null!=b?b:this,a),i.push(f?this.bindings[c].splice(e,1):e++);return i}},a}(),j=window.Pace||{},window.Pace=j,v(j,g.prototype),D=j.options=v({},u,window.paceOptions,x()),U=["ajax","document","eventLag","elements"],Q=0,S=U.length;S>Q;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='<div class="pace-progress">\n  <div class="pace-progress-inner"></div>\n</div>\n<div class="pace-activity"></div>',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e,f;f=[];for(d in b.prototype)try{e=b.prototype[d],f.push(null==a[d]&&"function"!=typeof e?a[d]=e:void 0)}catch(g){c=g}return f},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return h.progress=a.lengthComputable?100*a.loaded/a.total:h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a<D.eventLag.lagThreshold?(f.progress=100,clearInterval(b)):f.progress=100*(3/(a+3))},50)}return a}(),m=function(){function a(a){this.source=a,this.last=this.sinceLastUpdate=0,this.rate=D.initialRate,this.catchup=0,this.progress=this.lastProgress=0,null!=this.source&&(this.progress=F(this.source,"progress"))}return a.prototype.tick=function(a,b){var c;return null==b&&(b=F(this.source,"progress")),b>=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this);
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 38313c1..d178a0e 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -3,9 +3,11 @@
   <title>{{ hub.name }}</title>
   <link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
   <link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet" />
+  <link href="{{ url_for('static', filename='css/pace-theme-minimal.css') }}" rel="stylesheet" />
   <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic|Comfortaa' rel='stylesheet' type='text/css'>
 <!--I added google fonts!!!! Sorry if I wasn't supposed to do that!!! -->
 </head>
+<script src="{{ url_for('static', filename='js/pace.min.js') }}"></script>
 <body>
 <div class="super-header">
   <div class="row">

From 5b1567448f0dee79999e9c20624cb75ba2b759a8 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 07 2015 19:50:24 +0000
Subject: [PATCH 88/254] Merge pull request #13 from decause/newstuff


Newstuff
---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index cae90a0..da41b82 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -8,10 +8,18 @@ def add_user_widgets(session, hub, username, fullname):
     widget = hubs.models.Widget(
         plugin='sticky', index=0, left=True,
         _config=json.dumps({
-            'text': 'TODO -- put a fancy graph here..',
+            'text': 'TODO -- Put a fancy graph here...',
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
+        plugin='fedmsgs', index=1, left=True,
+        _config=json.dumps({
+            'username': username,
+        }))
+    hub.widgets.append(widget)
+
+    # Right Side Widgets
+    widget = hubs.models.Widget(
         plugin='avatar', index=0,
         _config=json.dumps({
             'username': username,
diff --git a/hubs/static/css/pace-theme-minimal.css b/hubs/static/css/pace-theme-minimal.css
new file mode 100644
index 0000000..b12e450
--- /dev/null
+++ b/hubs/static/css/pace-theme-minimal.css
@@ -0,0 +1,30 @@
+/*Copyright (c) 2013 HubSpot, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+.pace {
+  -webkit-pointer-events: none;
+  pointer-events: none;
+
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  user-select: none;
+}
+
+.pace-inactive {
+  display: none;
+}
+
+.pace .pace-progress {
+  background: #29d;
+  position: fixed;
+  z-index: 2000;
+  top: 0;
+  right: 100%;
+  width: 100%;
+  height: 2px;
+}
diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index f418cc9..9ef6dae 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -50,7 +50,7 @@
 
     .panel-visible {
       visibility: visible;
-      max-height: 400px;
+      max-height: 100%;
     }
 
 //flexbox support
diff --git a/hubs/static/js/pace.min.js b/hubs/static/js/pace.min.js
new file mode 100644
index 0000000..270c5ec
--- /dev/null
+++ b/hubs/static/js/pace.min.js
@@ -0,0 +1,10 @@
+/*Copyright (c) 2013 HubSpot, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+/*! pace 1.0.0 */
+(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];c<this.bindings[a].length;)e.push(this.bindings[a][c].handler===b?this.bindings[a].splice(c,1):c++);return e}},a.prototype.trigger=function(){var a,b,c,d,e,f,g,h,i;if(c=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],null!=(g=this.bindings)?g[c]:void 0){for(e=0,i=[];e<this.bindings[c].length;)h=this.bindings[c][e],d=h.handler,b=h.ctx,f=h.once,d.apply(null!=b?b:this,a),i.push(f?this.bindings[c].splice(e,1):e++);return i}},a}(),j=window.Pace||{},window.Pace=j,v(j,g.prototype),D=j.options=v({},u,window.paceOptions,x()),U=["ajax","document","eventLag","elements"],Q=0,S=U.length;S>Q;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='<div class="pace-progress">\n  <div class="pace-progress-inner"></div>\n</div>\n<div class="pace-activity"></div>',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e,f;f=[];for(d in b.prototype)try{e=b.prototype[d],f.push(null==a[d]&&"function"!=typeof e?a[d]=e:void 0)}catch(g){c=g}return f},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return h.progress=a.lengthComputable?100*a.loaded/a.total:h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a<D.eventLag.lagThreshold?(f.progress=100,clearInterval(b)):f.progress=100*(3/(a+3))},50)}return a}(),m=function(){function a(a){this.source=a,this.last=this.sinceLastUpdate=0,this.rate=D.initialRate,this.catchup=0,this.progress=this.lastProgress=0,null!=this.source&&(this.progress=F(this.source,"progress"))}return a.prototype.tick=function(a,b){var c;return null==b&&(b=F(this.source,"progress")),b>=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this);
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 38313c1..d178a0e 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -3,9 +3,11 @@
   <title>{{ hub.name }}</title>
   <link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
   <link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet" />
+  <link href="{{ url_for('static', filename='css/pace-theme-minimal.css') }}" rel="stylesheet" />
   <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic|Comfortaa' rel='stylesheet' type='text/css'>
 <!--I added google fonts!!!! Sorry if I wasn't supposed to do that!!! -->
 </head>
+<script src="{{ url_for('static', filename='js/pace.min.js') }}"></script>
 <body>
 <div class="super-header">
   <div class="row">
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 51ed1b1..2bb8570 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -5,6 +5,7 @@ from hubs.widgets import sticky
 from hubs.widgets import about
 from hubs.widgets import avatar
 from hubs.widgets import badges
+from hubs.widgets import fedmsgs
 
 from hubs.widgets.workflow import pendingacls
 
@@ -18,7 +19,7 @@ registry = {
     'about': about,
     'avatar': avatar,
     'badges': badges,
-
+    'fedmsgs': fedmsgs,
     'workflow.pendingacls': pendingacls,
 }
 
diff --git a/hubs/widgets/fedmsgs.py b/hubs/widgets/fedmsgs.py
new file mode 100644
index 0000000..ae07a7d
--- /dev/null
+++ b/hubs/widgets/fedmsgs.py
@@ -0,0 +1,32 @@
+from hubs.widgets.base import argument
+
+import jinja2
+
+
+import hubs.validators as validators
+
+
+template = jinja2.Template("""
+<div class="flex-container">
+
+    <img src="{{url}}" />
+
+</div>
+""")
+
+from hubs.widgets.chrome import panel
+chrome = panel("Daily Activity")
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+def data(session, widget, username):
+    url = "https://apps.fedoraproject.org/datagrepper/charts/line?delta=86400&N=12&style=clean&height=200&fill=true&user={username}"
+    url = url.format(username=username)
+    return dict(url=url)
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError

From d882bde246cad81c7d950c0cdbc9330dc01c0ecd Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 07 2015 20:45:03 +0000
Subject: [PATCH 89/254] Increase widget height to 300px


---

diff --git a/hubs/widgets/fedmsgs.py b/hubs/widgets/fedmsgs.py
index ae07a7d..6f7dcf1 100644
--- a/hubs/widgets/fedmsgs.py
+++ b/hubs/widgets/fedmsgs.py
@@ -23,7 +23,7 @@ chrome = panel("Daily Activity")
           validator=validators.username,
           help="A FAS username.")
 def data(session, widget, username):
-    url = "https://apps.fedoraproject.org/datagrepper/charts/line?delta=86400&N=12&style=clean&height=200&fill=true&user={username}"
+    url = "https://apps.fedoraproject.org/datagrepper/charts/line?delta=86400&N=12&style=clean&height=300&fill=true&user={username}"
     url = url.format(username=username)
     return dict(url=url)
 

From 6fa00b6f9be351bc231743b43a8e925d2245bc63 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 07 2015 21:29:34 +0000
Subject: [PATCH 90/254] Added fedmsgstats widget, WIP


---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index da41b82..7a2a619 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -26,13 +26,19 @@ def add_user_widgets(session, hub, username, fullname):
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='workflow.pendingacls', index=1,
+        plugin='fedmsgstats', index=1,
         _config=json.dumps({
             'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='badges', index=2,
+        plugin='workflow.pendingacls', index=2,
+        _config=json.dumps({
+            'username': username,
+        }))
+    hub.widgets.append(widget)
+    widget = hubs.models.Widget(
+        plugin='badges', index=3,
         _config=json.dumps({
             'username': username,
         }))
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 2bb8570..b00af22 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -6,6 +6,7 @@ from hubs.widgets import about
 from hubs.widgets import avatar
 from hubs.widgets import badges
 from hubs.widgets import fedmsgs
+from hubs.widgets import fedmsgstats
 
 from hubs.widgets.workflow import pendingacls
 
@@ -20,6 +21,7 @@ registry = {
     'avatar': avatar,
     'badges': badges,
     'fedmsgs': fedmsgs,
+    'fedmsgstats': fedmsgstats,
     'workflow.pendingacls': pendingacls,
 }
 
diff --git a/hubs/widgets/fedmsgstats.py b/hubs/widgets/fedmsgstats.py
new file mode 100644
index 0000000..e248a8c
--- /dev/null
+++ b/hubs/widgets/fedmsgstats.py
@@ -0,0 +1,38 @@
+from hubs.widgets.chrome import panel
+
+import jinja2
+
+import requests
+
+chrome = panel()
+template = jinja2.Template("""
+<div class="stats-container">
+  <table class="stats-table">
+    <tr><th>FedMsgs</th><th>Subscribers</th></tr>
+    <tr class="text-info"><td>{{fedmsgs}}</td><td>{{subscribers}}</td></tr>
+  </table>
+  <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
+</div>
+""")
+
+
+def data(session, widget, username):
+    url = "https://apps.fedoraproject.org/datagrepper/raw?user={username}"
+    url = url.format(username=username)
+    response = requests.get(url)
+    fedmsgs = response.json()['total']
+    return dict(
+        fedmsgs=fedmsgs,
+        subscribers=len(widget.hub.subscribers),
+    )
+
+
+# TODO -- add topic-based hinting here.  Solved.
+def should_invalidate(message, session, widget):
+    if message['topic'].endswith('hubs.hub.update'):
+        if message['msg']['hub']['name'] == widget.hub.name:
+            return True
+
+    # TODO -- also check for FAS group changes??  are we doing that?
+
+    return False

From dd64e9c774e04d0e640a273da524e1fad1b6ded2 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 07 2015 21:33:17 +0000
Subject: [PATCH 91/254] Added stats-table styles to global site.css instead of template


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 9ef6dae..43dc791 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -60,3 +60,18 @@
     flex-wrap: wrap;
 } 
 
+.stats-table {
+width: 180px
+padding: 0px;
+margin: 0px;
+display: inline-block;
+}
+.stats-table th {
+text-transform: uppercase;
+font-size: 80%;
+padding-right: 10px;
+color: #797a7c;
+}
+.stats-table td {
+font-size: 32pt;
+}

From 747a94a3042bfd95f427989795bd88f1197088b9 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 07 2015 21:34:36 +0000
Subject: [PATCH 92/254] Remove stats-table style from widget and put into site.css


---

diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index d0d3039..03090a4 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -11,23 +11,6 @@ template = jinja2.Template("""
   </table>
   <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
 </div>
-<style>
-  .stats-table {
-    width: 180px
-    padding: 0px;
-    margin: 0px;
-    display: inline-block;
-  }
-  .stats-table th {
-    text-transform: uppercase;
-    font-size: 80%;
-    padding-right: 10px;
-    color: #797a7c;
-  }
-  .stats-table td {
-    font-size: 32pt;
-  }
-</style>
 """)
 
 

From 0c96f4baf47f20236ad7e15a75cab705be2c9afa Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 07 2015 21:35:37 +0000
Subject: [PATCH 93/254] Added NotImplementedError for Cache Invalidation


---

diff --git a/hubs/widgets/fedmsgstats.py b/hubs/widgets/fedmsgstats.py
index e248a8c..bd2323b 100644
--- a/hubs/widgets/fedmsgstats.py
+++ b/hubs/widgets/fedmsgstats.py
@@ -27,12 +27,5 @@ def data(session, widget, username):
     )
 
 
-# TODO -- add topic-based hinting here.  Solved.
 def should_invalidate(message, session, widget):
-    if message['topic'].endswith('hubs.hub.update'):
-        if message['msg']['hub']['name'] == widget.hub.name:
-            return True
-
-    # TODO -- also check for FAS group changes??  are we doing that?
-
-    return False
+    raise NotImplementedError

From 69ff57294f85da9ab8915553da4ff8f756ecf32b Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 07 2015 21:38:16 +0000
Subject: [PATCH 94/254] Merge pull request #14 from decause/feature/fedmsgstats


Feature/fedmsgstats
---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index da41b82..7a2a619 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -26,13 +26,19 @@ def add_user_widgets(session, hub, username, fullname):
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='workflow.pendingacls', index=1,
+        plugin='fedmsgstats', index=1,
         _config=json.dumps({
             'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='badges', index=2,
+        plugin='workflow.pendingacls', index=2,
+        _config=json.dumps({
+            'username': username,
+        }))
+    hub.widgets.append(widget)
+    widget = hubs.models.Widget(
+        plugin='badges', index=3,
         _config=json.dumps({
             'username': username,
         }))
diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 9ef6dae..43dc791 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -60,3 +60,18 @@
     flex-wrap: wrap;
 } 
 
+.stats-table {
+width: 180px
+padding: 0px;
+margin: 0px;
+display: inline-block;
+}
+.stats-table th {
+text-transform: uppercase;
+font-size: 80%;
+padding-right: 10px;
+color: #797a7c;
+}
+.stats-table td {
+font-size: 32pt;
+}
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 2bb8570..b00af22 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -6,6 +6,7 @@ from hubs.widgets import about
 from hubs.widgets import avatar
 from hubs.widgets import badges
 from hubs.widgets import fedmsgs
+from hubs.widgets import fedmsgstats
 
 from hubs.widgets.workflow import pendingacls
 
@@ -20,6 +21,7 @@ registry = {
     'avatar': avatar,
     'badges': badges,
     'fedmsgs': fedmsgs,
+    'fedmsgstats': fedmsgstats,
     'workflow.pendingacls': pendingacls,
 }
 
diff --git a/hubs/widgets/fedmsgstats.py b/hubs/widgets/fedmsgstats.py
new file mode 100644
index 0000000..bd2323b
--- /dev/null
+++ b/hubs/widgets/fedmsgstats.py
@@ -0,0 +1,31 @@
+from hubs.widgets.chrome import panel
+
+import jinja2
+
+import requests
+
+chrome = panel()
+template = jinja2.Template("""
+<div class="stats-container">
+  <table class="stats-table">
+    <tr><th>FedMsgs</th><th>Subscribers</th></tr>
+    <tr class="text-info"><td>{{fedmsgs}}</td><td>{{subscribers}}</td></tr>
+  </table>
+  <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
+</div>
+""")
+
+
+def data(session, widget, username):
+    url = "https://apps.fedoraproject.org/datagrepper/raw?user={username}"
+    url = url.format(username=username)
+    response = requests.get(url)
+    fedmsgs = response.json()['total']
+    return dict(
+        fedmsgs=fedmsgs,
+        subscribers=len(widget.hub.subscribers),
+    )
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index d0d3039..03090a4 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -11,23 +11,6 @@ template = jinja2.Template("""
   </table>
   <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
 </div>
-<style>
-  .stats-table {
-    width: 180px
-    padding: 0px;
-    margin: 0px;
-    display: inline-block;
-  }
-  .stats-table th {
-    text-transform: uppercase;
-    font-size: 80%;
-    padding-right: 10px;
-    color: #797a7c;
-  }
-  .stats-table td {
-    font-size: 32pt;
-  }
-</style>
 """)
 
 

From f1330c6b6aadd68d0b8d8be5c732da7bc5b0948f Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 07 2015 22:33:58 +0000
Subject: [PATCH 95/254] Add an updates2stable widget for the user profile.


---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index 7a2a619..baa60c6 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -32,13 +32,19 @@ def add_user_widgets(session, hub, username, fullname):
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='workflow.pendingacls', index=2,
+        plugin='workflow.updates2stable', index=2,
         _config=json.dumps({
             'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='badges', index=3,
+        plugin='workflow.pendingacls', index=3,
+        _config=json.dumps({
+            'username': username,
+        }))
+    hub.widgets.append(widget)
+    widget = hubs.models.Widget(
+        plugin='badges', index=4,
         _config=json.dumps({
             'username': username,
         }))
diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 43dc791..2082a2a 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -75,3 +75,8 @@ color: #797a7c;
 .stats-table td {
 font-size: 32pt;
 }
+
+.square-32 {
+    width: 32px;
+    height: 32px;
+}
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index b00af22..e864e5b 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -9,6 +9,7 @@ from hubs.widgets import fedmsgs
 from hubs.widgets import fedmsgstats
 
 from hubs.widgets.workflow import pendingacls
+from hubs.widgets.workflow import updates2stable
 
 from hubs.widgets.base import AGPLv3, smartcache
 
@@ -23,6 +24,7 @@ registry = {
     'fedmsgs': fedmsgs,
     'fedmsgstats': fedmsgstats,
     'workflow.pendingacls': pendingacls,
+    'workflow.updates2stable': updates2stable,
 }
 
 
diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
new file mode 100644
index 0000000..1b72c9d
--- /dev/null
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -0,0 +1,71 @@
+import requests
+
+from hubs.widgets.base import argument
+
+import jinja2
+
+
+import hubs.validators as validators
+
+# TODO -- add approve/deny buttons or just link through to pkgdb
+template = jinja2.Template("""
+<a class="btn btn-success" target="_blank" href="https://admin.fedoraproject.org/updates/mine">Manage updates</a>
+<hr/>
+<ul class="media-list">
+{% for update in updates %}
+    <li class="media">
+        <div class="media-left">
+            <a href="{{update['link']}}" target="_blank">
+                <img class="media-object img-responsive square-32" src="{{update['icon']}}"/>
+            </a>
+        </div>
+        <div class="media-body">
+            <h4 class="media-heading">{{update['title']}} (karma {{update['karma']}})</h4>
+            ready for love
+        </div>
+    </li>
+{% endfor %}
+</ul>
+""")
+
+from hubs.widgets.chrome import panel
+# If 'updates' is empty, then don't render any chrome.
+chrome = panel('Updates Ready for Stable', key='updates')
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+def data(session, widget, username):
+
+    # First, get all of my updates currently in testing.
+    bodhiurl = 'https://admin.fedoraproject.org/updates/'
+    baseurl = bodhiurl + 'list'
+    query = '?username={username}&status=testing'.format(username=username)
+    url = baseurl + query
+    headers = {'Accept': 'application/json'}
+    response = requests.get(url, headers=headers)
+    data = response.json()
+
+    # Limit it this to only the updates that haven't already requested stable
+    # but which can actually be pushed to stable now.
+    giveaway = 'can be pushed to stable now'
+    data['updates'] = [
+        update for update in data['updates']
+        if update['request'] is None and
+        any([giveaway in comment['text'] for comment in update['comments']])
+    ]
+
+    # Stuff some useful information in there.
+    baseurl = 'https://apps.fedoraproject.org/packages/images/icons/'
+    for update in data['updates']:
+        package = update['builds'][0]['package']['name']
+        update['icon'] = baseurl + package + '.png'
+        update['link'] = bodhiurl + update['title']
+
+    return data
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError

From 47b0e421c529e92893fe66b4688061e74699f8d2 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <remyd@civx.us>
Date: Jun 07 2015 22:37:33 +0000
Subject: [PATCH 96/254] Merge pull request #15 from ralphbean/feature/updates2stable


Add an updates2stable widget for the user profile.
---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index 7a2a619..baa60c6 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -32,13 +32,19 @@ def add_user_widgets(session, hub, username, fullname):
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='workflow.pendingacls', index=2,
+        plugin='workflow.updates2stable', index=2,
         _config=json.dumps({
             'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='badges', index=3,
+        plugin='workflow.pendingacls', index=3,
+        _config=json.dumps({
+            'username': username,
+        }))
+    hub.widgets.append(widget)
+    widget = hubs.models.Widget(
+        plugin='badges', index=4,
         _config=json.dumps({
             'username': username,
         }))
diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 43dc791..2082a2a 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -75,3 +75,8 @@ color: #797a7c;
 .stats-table td {
 font-size: 32pt;
 }
+
+.square-32 {
+    width: 32px;
+    height: 32px;
+}
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index b00af22..e864e5b 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -9,6 +9,7 @@ from hubs.widgets import fedmsgs
 from hubs.widgets import fedmsgstats
 
 from hubs.widgets.workflow import pendingacls
+from hubs.widgets.workflow import updates2stable
 
 from hubs.widgets.base import AGPLv3, smartcache
 
@@ -23,6 +24,7 @@ registry = {
     'fedmsgs': fedmsgs,
     'fedmsgstats': fedmsgstats,
     'workflow.pendingacls': pendingacls,
+    'workflow.updates2stable': updates2stable,
 }
 
 
diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
new file mode 100644
index 0000000..1b72c9d
--- /dev/null
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -0,0 +1,71 @@
+import requests
+
+from hubs.widgets.base import argument
+
+import jinja2
+
+
+import hubs.validators as validators
+
+# TODO -- add approve/deny buttons or just link through to pkgdb
+template = jinja2.Template("""
+<a class="btn btn-success" target="_blank" href="https://admin.fedoraproject.org/updates/mine">Manage updates</a>
+<hr/>
+<ul class="media-list">
+{% for update in updates %}
+    <li class="media">
+        <div class="media-left">
+            <a href="{{update['link']}}" target="_blank">
+                <img class="media-object img-responsive square-32" src="{{update['icon']}}"/>
+            </a>
+        </div>
+        <div class="media-body">
+            <h4 class="media-heading">{{update['title']}} (karma {{update['karma']}})</h4>
+            ready for love
+        </div>
+    </li>
+{% endfor %}
+</ul>
+""")
+
+from hubs.widgets.chrome import panel
+# If 'updates' is empty, then don't render any chrome.
+chrome = panel('Updates Ready for Stable', key='updates')
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+def data(session, widget, username):
+
+    # First, get all of my updates currently in testing.
+    bodhiurl = 'https://admin.fedoraproject.org/updates/'
+    baseurl = bodhiurl + 'list'
+    query = '?username={username}&status=testing'.format(username=username)
+    url = baseurl + query
+    headers = {'Accept': 'application/json'}
+    response = requests.get(url, headers=headers)
+    data = response.json()
+
+    # Limit it this to only the updates that haven't already requested stable
+    # but which can actually be pushed to stable now.
+    giveaway = 'can be pushed to stable now'
+    data['updates'] = [
+        update for update in data['updates']
+        if update['request'] is None and
+        any([giveaway in comment['text'] for comment in update['comments']])
+    ]
+
+    # Stuff some useful information in there.
+    baseurl = 'https://apps.fedoraproject.org/packages/images/icons/'
+    for update in data['updates']:
+        package = update['builds'][0]['package']['name']
+        update['icon'] = baseurl + package + '.png'
+        update['link'] = bodhiurl + update['title']
+
+    return data
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError

From 1348ab9d296be1064f7426160a48e7d3ca61acbc Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 07 2015 22:43:19 +0000
Subject: [PATCH 97/254] Hide everything if there are no updates here.


---

diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index 1b72c9d..905b5fd 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -9,6 +9,7 @@ import hubs.validators as validators
 
 # TODO -- add approve/deny buttons or just link through to pkgdb
 template = jinja2.Template("""
+{% if updates %}
 <a class="btn btn-success" target="_blank" href="https://admin.fedoraproject.org/updates/mine">Manage updates</a>
 <hr/>
 <ul class="media-list">
@@ -26,6 +27,7 @@ template = jinja2.Template("""
     </li>
 {% endfor %}
 </ul>
+{% endif %}
 """)
 
 from hubs.widgets.chrome import panel

From 181ec089e72b9a207c06dce24507dc34b000b7a7 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 08 2015 02:16:02 +0000
Subject: [PATCH 98/254] First pass at check hinting.


---

diff --git a/hubs/consumer.py b/hubs/consumer.py
index 08d1eca..da79a59 100644
--- a/hubs/consumer.py
+++ b/hubs/consumer.py
@@ -1,7 +1,8 @@
 # The fedora hubs backend daemon
 
+import collections
+import threading
 import time
-import random
 
 import fedmsg.consumers
 
@@ -27,11 +28,38 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
         if not self.uri:
             raise ValueError('hubs.sqlalchemy.uri must be present')
 
+        self.hint_cache_lock = threading.Lock()
+        session = self.make_session()
+        with self.hint_cache_lock:
+            self.rebuild_hubs_hint_caches(session)
+        session.commit()  # transaction is committed here
+        session.close()
+
         log.info("CacheInvalidatorExtraordinaire initialized")
 
     def make_session(self):
         return hubs.models.init(self.uri)
 
+    def rebuild_hubs_hint_caches(self, session):
+        self.checks_by_topic = collections.defaultdict(list)
+        self.checks_by_category = collections.defaultdict(list)
+
+        widgets = session.query(hubs.models.Widget).all()
+        log.info("Comparing message against %i widgets" % len(widgets))
+        for widget in widgets:
+            check = widget.module.should_invalidate
+            if not hasattr(check, 'hints'):
+                raise AttributeError("%r must declare hints" % widget.module)
+            for topic in check.hints['topics']:
+                self.checks_by_topic[topic].append((check, widget,))
+            for category in check.hints['categories']:
+                self.checks_by_category[category].append((check, widget,))
+
+
+    @property
+    def cache_initialized(self):
+        return self.checks_by_topic and self.checks_by_category
+
     def consume(self, raw_msg):
         session = self.make_session()
         try:
@@ -43,6 +71,7 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
 
     def work(self, session, raw_msg):
         topic, msg = raw_msg['topic'], raw_msg['body']
+        category = topic.split('.')[3]
 
         for suffix in self.junk_suffixes:
             if topic.endswith(suffix):
@@ -53,20 +82,26 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
         log.info("CacheInvalidatorExtraordinaire received %s %s",
                   msg['msg_id'], msg['topic'])
 
+        if category == 'hubs' or not self.cache_initialized:
+            # Someone has modified an object in the hubs database, so let's
+            # rebuild our cache of our own database.
+            with self.hint_cache_lock:
+                self.rebuild_hubs_hint_caches(session)
+
         # Begin our real work.
         # Find which widgets should have their caches nuked and make it so.
 
-        # First, make a thread-local copy of the widgets.
-        widgets = list(session.query(hubs.models.Widget).all())
-        log.info("Comparing message against %i widgets" % len(widgets))
-
-        # Shuffle it so that not all threads step through the list in the same
-        # order.  This should cut down on competition for the dogpile lock.
-        random.shuffle(widgets)
-
-        # And do the real work of comparing every widget against the message.
-        for widget in widgets:
-            if widget.module.should_invalidate(msg, session, widget):
+        # Start this by finding a subset of widget checks that might match this
+        # message. Look them up based on the hints they declare.
+        checks = \
+            set(self.checks_by_topic[topic]) + \
+            set(self.checks_by_category[category])
+        log.info("Found %i checks to try for this message" % len(checks))
+
+        # Then, with that hopefully smaller list of checks, try them all and
+        # see if any tell us that we should nuke various data caches.
+        for check, widget in checks:
+            if check(msg, session, widget):
                 log.info("Invalidating cache for %r" % widget)
                 # Invalidate the cache...
                 invalidate_cache(widget.module, **widget.config)
diff --git a/hubs/hinting.py b/hubs/hinting.py
new file mode 100644
index 0000000..64a58ed
--- /dev/null
+++ b/hubs/hinting.py
@@ -0,0 +1,28 @@
+import collections
+import decorator
+
+import fedmsg.config
+
+import logging
+log = logging.getLogger('hubs.hinting')
+
+
+def hint(topics=None, categories=None):
+    topics = topics or []
+    categories = categories or []
+
+    @decorator.decorator
+    def wrapper(fn, *args, **kwargs):
+        return fn(*args, **kwargs)
+
+    def wrapper_wrapper(fn):
+        wrapped = wrapper(fn)
+        wrapped.hints = dict(topics=topics, categories=categories)
+        return wrapped
+
+    return wrapper_wrapper
+
+
+def prefixed(topic, prefix='org.fedoraproject'):
+    config = fedmsg.config.load_config()  # This is memoized for us.
+    return '.'.join([prefix, config['environment'], topic])
diff --git a/hubs/widgets/dummy.py b/hubs/widgets/dummy.py
index d0c9e57..28f48fb 100644
--- a/hubs/widgets/dummy.py
+++ b/hubs/widgets/dummy.py
@@ -1,3 +1,4 @@
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.chrome import panel
 from hubs.widgets.base import argument
 
@@ -16,6 +17,7 @@ def data(session, widget, text):
     return dict(text=text)
 
 
+@hint(topics=[_('hubs.widget.update')])
 def should_invalidate(message, session, widget):
     if not message['topic'].endswith('hubs.widget.update'):
         return False
diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index 3e0fb4d..ae36938 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -2,6 +2,7 @@ from collections import OrderedDict as ordereddict
 
 import jinja2
 
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.chrome import panel
 from hubs.widgets.base import argument, avatar
 from hubs import validators
@@ -45,6 +46,7 @@ def data(session, widget, link):
     return dict(owners=owners, link=link)
 
 
+@hint(topics=[_('hubs.widget.update'), _('hubs.hub.update')])
 def should_invalidate(message, session, widget):
     if message['topic'].endswith('hubs.widget.update'):
         if message['msg']['widget']['id'] == widget.id:
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 03090a4..1826c62 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -1,3 +1,4 @@
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.chrome import panel
 
 import jinja2
@@ -21,7 +22,7 @@ def data(session, widget):
     )
 
 
-# TODO -- add topic-based hinting here.  Solved.
+@hint(topics=_('hubs.hub.update'))
 def should_invalidate(message, session, widget):
     if message['topic'].endswith('hubs.hub.update'):
         if message['msg']['hub']['name'] == widget.hub.name:

From 87485e1d44199f6dad7d8daaa6dca2ab822ac283 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 08 2015 02:49:49 +0000
Subject: [PATCH 99/254] Merge pull request #16 from ralphbean/feature/check-hinting


First pass at check hinting.
---

diff --git a/hubs/consumer.py b/hubs/consumer.py
index 08d1eca..da79a59 100644
--- a/hubs/consumer.py
+++ b/hubs/consumer.py
@@ -1,7 +1,8 @@
 # The fedora hubs backend daemon
 
+import collections
+import threading
 import time
-import random
 
 import fedmsg.consumers
 
@@ -27,11 +28,38 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
         if not self.uri:
             raise ValueError('hubs.sqlalchemy.uri must be present')
 
+        self.hint_cache_lock = threading.Lock()
+        session = self.make_session()
+        with self.hint_cache_lock:
+            self.rebuild_hubs_hint_caches(session)
+        session.commit()  # transaction is committed here
+        session.close()
+
         log.info("CacheInvalidatorExtraordinaire initialized")
 
     def make_session(self):
         return hubs.models.init(self.uri)
 
+    def rebuild_hubs_hint_caches(self, session):
+        self.checks_by_topic = collections.defaultdict(list)
+        self.checks_by_category = collections.defaultdict(list)
+
+        widgets = session.query(hubs.models.Widget).all()
+        log.info("Comparing message against %i widgets" % len(widgets))
+        for widget in widgets:
+            check = widget.module.should_invalidate
+            if not hasattr(check, 'hints'):
+                raise AttributeError("%r must declare hints" % widget.module)
+            for topic in check.hints['topics']:
+                self.checks_by_topic[topic].append((check, widget,))
+            for category in check.hints['categories']:
+                self.checks_by_category[category].append((check, widget,))
+
+
+    @property
+    def cache_initialized(self):
+        return self.checks_by_topic and self.checks_by_category
+
     def consume(self, raw_msg):
         session = self.make_session()
         try:
@@ -43,6 +71,7 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
 
     def work(self, session, raw_msg):
         topic, msg = raw_msg['topic'], raw_msg['body']
+        category = topic.split('.')[3]
 
         for suffix in self.junk_suffixes:
             if topic.endswith(suffix):
@@ -53,20 +82,26 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
         log.info("CacheInvalidatorExtraordinaire received %s %s",
                   msg['msg_id'], msg['topic'])
 
+        if category == 'hubs' or not self.cache_initialized:
+            # Someone has modified an object in the hubs database, so let's
+            # rebuild our cache of our own database.
+            with self.hint_cache_lock:
+                self.rebuild_hubs_hint_caches(session)
+
         # Begin our real work.
         # Find which widgets should have their caches nuked and make it so.
 
-        # First, make a thread-local copy of the widgets.
-        widgets = list(session.query(hubs.models.Widget).all())
-        log.info("Comparing message against %i widgets" % len(widgets))
-
-        # Shuffle it so that not all threads step through the list in the same
-        # order.  This should cut down on competition for the dogpile lock.
-        random.shuffle(widgets)
-
-        # And do the real work of comparing every widget against the message.
-        for widget in widgets:
-            if widget.module.should_invalidate(msg, session, widget):
+        # Start this by finding a subset of widget checks that might match this
+        # message. Look them up based on the hints they declare.
+        checks = \
+            set(self.checks_by_topic[topic]) + \
+            set(self.checks_by_category[category])
+        log.info("Found %i checks to try for this message" % len(checks))
+
+        # Then, with that hopefully smaller list of checks, try them all and
+        # see if any tell us that we should nuke various data caches.
+        for check, widget in checks:
+            if check(msg, session, widget):
                 log.info("Invalidating cache for %r" % widget)
                 # Invalidate the cache...
                 invalidate_cache(widget.module, **widget.config)
diff --git a/hubs/hinting.py b/hubs/hinting.py
new file mode 100644
index 0000000..64a58ed
--- /dev/null
+++ b/hubs/hinting.py
@@ -0,0 +1,28 @@
+import collections
+import decorator
+
+import fedmsg.config
+
+import logging
+log = logging.getLogger('hubs.hinting')
+
+
+def hint(topics=None, categories=None):
+    topics = topics or []
+    categories = categories or []
+
+    @decorator.decorator
+    def wrapper(fn, *args, **kwargs):
+        return fn(*args, **kwargs)
+
+    def wrapper_wrapper(fn):
+        wrapped = wrapper(fn)
+        wrapped.hints = dict(topics=topics, categories=categories)
+        return wrapped
+
+    return wrapper_wrapper
+
+
+def prefixed(topic, prefix='org.fedoraproject'):
+    config = fedmsg.config.load_config()  # This is memoized for us.
+    return '.'.join([prefix, config['environment'], topic])
diff --git a/hubs/widgets/dummy.py b/hubs/widgets/dummy.py
index d0c9e57..28f48fb 100644
--- a/hubs/widgets/dummy.py
+++ b/hubs/widgets/dummy.py
@@ -1,3 +1,4 @@
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.chrome import panel
 from hubs.widgets.base import argument
 
@@ -16,6 +17,7 @@ def data(session, widget, text):
     return dict(text=text)
 
 
+@hint(topics=[_('hubs.widget.update')])
 def should_invalidate(message, session, widget):
     if not message['topic'].endswith('hubs.widget.update'):
         return False
diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index 3e0fb4d..ae36938 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -2,6 +2,7 @@ from collections import OrderedDict as ordereddict
 
 import jinja2
 
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.chrome import panel
 from hubs.widgets.base import argument, avatar
 from hubs import validators
@@ -45,6 +46,7 @@ def data(session, widget, link):
     return dict(owners=owners, link=link)
 
 
+@hint(topics=[_('hubs.widget.update'), _('hubs.hub.update')])
 def should_invalidate(message, session, widget):
     if message['topic'].endswith('hubs.widget.update'):
         if message['msg']['widget']['id'] == widget.id:
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 03090a4..1826c62 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -1,3 +1,4 @@
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.chrome import panel
 
 import jinja2
@@ -21,7 +22,7 @@ def data(session, widget):
     )
 
 
-# TODO -- add topic-based hinting here.  Solved.
+@hint(topics=_('hubs.hub.update'))
 def should_invalidate(message, session, widget):
     if message['topic'].endswith('hubs.hub.update'):
         if message['msg']['hub']['name'] == widget.hub.name:

From c4b180de354f27febeb1342d6c5ecc1782ea5a49 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 08 2015 03:27:57 +0000
Subject: [PATCH 100/254] Fill out all the invalidate functions we currently have.


---

diff --git a/hubs/consumer.py b/hubs/consumer.py
index da79a59..1515966 100644
--- a/hubs/consumer.py
+++ b/hubs/consumer.py
@@ -43,18 +43,24 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
     def rebuild_hubs_hint_caches(self, session):
         self.checks_by_topic = collections.defaultdict(list)
         self.checks_by_category = collections.defaultdict(list)
+        self.checks_by_username = collections.defaultdict(list)
 
         widgets = session.query(hubs.models.Widget).all()
         log.info("Comparing message against %i widgets" % len(widgets))
         for widget in widgets:
             check = widget.module.should_invalidate
+
             if not hasattr(check, 'hints'):
                 raise AttributeError("%r must declare hints" % widget.module)
+
             for topic in check.hints['topics']:
                 self.checks_by_topic[topic].append((check, widget,))
+
             for category in check.hints['categories']:
                 self.checks_by_category[category].append((check, widget,))
 
+            for username in check.hints['usernames_function']:
+                self.checks_by_username[username].append((check, widget,))
 
     @property
     def cache_initialized(self):
diff --git a/hubs/hinting.py b/hubs/hinting.py
index 64a58ed..47e7d14 100644
--- a/hubs/hinting.py
+++ b/hubs/hinting.py
@@ -7,9 +7,10 @@ import logging
 log = logging.getLogger('hubs.hinting')
 
 
-def hint(topics=None, categories=None):
+def hint(topics=None, categories=None, usernames=None):
     topics = topics or []
     categories = categories or []
+    usernames = usernames or lambda x: []
 
     @decorator.decorator
     def wrapper(fn, *args, **kwargs):
@@ -17,7 +18,11 @@ def hint(topics=None, categories=None):
 
     def wrapper_wrapper(fn):
         wrapped = wrapper(fn)
-        wrapped.hints = dict(topics=topics, categories=categories)
+        wrapped.hints = dict(
+            topics=topics,
+            categories=categories,
+            username_function=usernames,
+        )
         return wrapped
 
     return wrapper_wrapper
diff --git a/hubs/widgets/about.py b/hubs/widgets/about.py
index a6f8eae..55693c9 100644
--- a/hubs/widgets/about.py
+++ b/hubs/widgets/about.py
@@ -19,5 +19,10 @@ def data(session, widget, text):
     return dict(text=text)
 
 
+@hint(topics=[_('hubs.widget.update')])
 def should_invalidate(message, session, widget):
-    raise NotImplementedError
+    if not message['topic'].endswith('hubs.widget.update'):
+        return False
+    if message['msg']['widget']['id'] != widget.id:
+        return False
+    return True
diff --git a/hubs/widgets/avatar.py b/hubs/widgets/avatar.py
index 20c12ab..bcda21d 100644
--- a/hubs/widgets/avatar.py
+++ b/hubs/widgets/avatar.py
@@ -23,5 +23,10 @@ def data(session, widget, username):
     return dict(username=username, avatar=avatar)
 
 
+@hint(topics=[_('hubs.widget.update')])
 def should_invalidate(message, session, widget):
-    raise NotImplementedError
+    if not message['topic'].endswith('hubs.widget.update'):
+        return False
+    if message['msg']['widget']['id'] != widget.id:
+        return False
+    return True
diff --git a/hubs/widgets/badges.py b/hubs/widgets/badges.py
index 14ed116..4e6234d 100644
--- a/hubs/widgets/badges.py
+++ b/hubs/widgets/badges.py
@@ -1,5 +1,6 @@
 import requests
 
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.base import argument
 
 import jinja2
@@ -31,5 +32,15 @@ def data(session, widget, username):
     return response.json()
 
 
+@hint(topics=[_('hubs.widget.update'), _('fedbadges.badge.award')])
 def should_invalidate(message, session, widget):
-    raise NotImplementedError
+    if message['topic'].endswith('hubs.widget.update'):
+        if message['msg']['widget']['id'] != widget.id:
+            return True
+
+    if message['topic'].endswith('fedbadges.badge.award'):
+        username = widget.config['username']
+        if message['msg']['user']['username'] == username:
+            return True
+
+    return False
diff --git a/hubs/widgets/fedmsgs.py b/hubs/widgets/fedmsgs.py
index 6f7dcf1..62e4d2c 100644
--- a/hubs/widgets/fedmsgs.py
+++ b/hubs/widgets/fedmsgs.py
@@ -1,10 +1,13 @@
+from hubs.hinting import hint
 from hubs.widgets.base import argument
 
 import jinja2
 
-
 import hubs.validators as validators
 
+import fedmsg.config
+config = fedmsg.config.load_config()
+
 
 template = jinja2.Template("""
 <div class="flex-container">
@@ -28,5 +31,8 @@ def data(session, widget, username):
     return dict(url=url)
 
 
+@hint(usernames=lambda widget: [widget.config['username']])
 def should_invalidate(message, session, widget):
-    raise NotImplementedError
+    usernames = fedmsg.meta.msg2usernames(message, **config)
+    username = widget.config['username']
+    return username in usernames
diff --git a/hubs/widgets/fedmsgstats.py b/hubs/widgets/fedmsgstats.py
index bd2323b..0c22872 100644
--- a/hubs/widgets/fedmsgstats.py
+++ b/hubs/widgets/fedmsgstats.py
@@ -27,5 +27,8 @@ def data(session, widget, username):
     )
 
 
+@hint(usernames=lambda widget: [widget.config['username']])
 def should_invalidate(message, session, widget):
-    raise NotImplementedError
+    usernames = fedmsg.meta.msg2usernames(message, **config)
+    username = widget.config['username']
+    return username in usernames
diff --git a/hubs/widgets/workflow/pendingacls.py b/hubs/widgets/workflow/pendingacls.py
index 8f40a86..9e40b73 100644
--- a/hubs/widgets/workflow/pendingacls.py
+++ b/hubs/widgets/workflow/pendingacls.py
@@ -1,5 +1,6 @@
 import requests
 
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.base import argument
 from hubs.utils import username2avatar
 
@@ -57,5 +58,13 @@ def data(session, widget, username):
     return data
 
 
+@hint(topics=[_('pkgdb.acl.update')])
 def should_invalidate(message, session, widget):
-    raise NotImplementedError
+    # Search the message to see if I am in the ACLs list of the request.
+    username = widget.config['username']
+
+    for acl in message['msg']['package_listing']['acls']:
+        if acl['fas_name'] == username and acl['status'] == 'Approved':
+            return True
+
+    return False
diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index 905b5fd..da410db 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -1,5 +1,6 @@
 import requests
 
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.base import argument
 
 import jinja2
@@ -35,6 +36,9 @@ from hubs.widgets.chrome import panel
 chrome = panel('Updates Ready for Stable', key='updates')
 
 
+giveaway = 'can be pushed to stable now'
+
+
 @argument(name="username",
           default=None,
           validator=validators.username,
@@ -52,7 +56,6 @@ def data(session, widget, username):
 
     # Limit it this to only the updates that haven't already requested stable
     # but which can actually be pushed to stable now.
-    giveaway = 'can be pushed to stable now'
     data['updates'] = [
         update for update in data['updates']
         if update['request'] is None and
@@ -69,5 +72,11 @@ def data(session, widget, username):
     return data
 
 
+@hint(topics=[_('bodhi.update.comment')])
 def should_invalidate(message, session, widget):
-    raise NotImplementedError
+    if giveaway in message['msg']['comment']['text']:
+        username = widget.config['username']
+        if username == message['msg']['comment']['update_submitter']:
+            return True
+
+    return False

From b77181a05aaf3436d14248713bc45f049f8df20a Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 08 2015 04:14:59 +0000
Subject: [PATCH 101/254] Fix some random errors.


---

diff --git a/hubs/hinting.py b/hubs/hinting.py
index 47e7d14..9f049f3 100644
--- a/hubs/hinting.py
+++ b/hubs/hinting.py
@@ -10,7 +10,8 @@ log = logging.getLogger('hubs.hinting')
 def hint(topics=None, categories=None, usernames=None):
     topics = topics or []
     categories = categories or []
-    usernames = usernames or lambda x: []
+    default_usernames = lambda x: []
+    usernames = usernames or default_usernames
 
     @decorator.decorator
     def wrapper(fn, *args, **kwargs):
diff --git a/hubs/widgets/about.py b/hubs/widgets/about.py
index 55693c9..b0df6cc 100644
--- a/hubs/widgets/about.py
+++ b/hubs/widgets/about.py
@@ -1,3 +1,4 @@
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.chrome import panel
 from hubs.widgets.base import argument
 
diff --git a/hubs/widgets/avatar.py b/hubs/widgets/avatar.py
index bcda21d..bf49bf6 100644
--- a/hubs/widgets/avatar.py
+++ b/hubs/widgets/avatar.py
@@ -1,3 +1,4 @@
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.base import argument
 from hubs.utils import username2avatar
 
diff --git a/hubs/widgets/fedmsgstats.py b/hubs/widgets/fedmsgstats.py
index 0c22872..5f985af 100644
--- a/hubs/widgets/fedmsgstats.py
+++ b/hubs/widgets/fedmsgstats.py
@@ -1,3 +1,4 @@
+from hubs.hinting import hint
 from hubs.widgets.chrome import panel
 
 import jinja2

From df63243ed3cdbe80872b8d377f98b1f9a5127ec9 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 08 2015 04:59:05 +0000
Subject: [PATCH 102/254] Add a script to populate our db with all users from FAS.


---

diff --git a/populate-all-users.py b/populate-all-users.py
new file mode 100755
index 0000000..401a20e
--- /dev/null
+++ b/populate-all-users.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+""" Populate the hubs db with lots of data from FAS. """
+
+import getpass
+import socket
+import string
+
+import hubs.models
+
+import fedora.client.fas2
+import fedmsg.config
+fedmsg_config = fedmsg.config.load_config()
+
+fasclient = fedora.client.fas2.AccountSystem(
+    username=raw_input('Your FAS username: '),
+    password=getpass.getpass(),
+)
+timeout = socket.getdefaulttimeout()
+socket.setdefaulttimeout(None)
+
+for letter in reversed(sorted(list(set(string.letters.lower())))):
+    session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'], True, True)
+    print "Querying FAS for the %r users.. hang on." % letter
+    request = fasclient.send_request('/user/list',
+                                    req_params={'search': '%s*' % letter},
+                                    auth=True,
+                                    timeout=500)
+    users = request['people']
+
+    for user in users:
+        username = user['username']
+        fullname = user['human_name']
+        openid = '%s.id.fedoraproject.org' % username
+        print "Creating account for %r" % openid
+        hubs.models.User.get_or_create(
+            session, openid=openid, fullname=fullname)
+
+    session.commit()

From 3e78b7f1b0c5cf4459a72996a0c53780fa39b121 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 08 2015 05:01:21 +0000
Subject: [PATCH 103/254] Merge branch 'feature/mass-populate' into develop


---

diff --git a/hubs/hinting.py b/hubs/hinting.py
index 47e7d14..9f049f3 100644
--- a/hubs/hinting.py
+++ b/hubs/hinting.py
@@ -10,7 +10,8 @@ log = logging.getLogger('hubs.hinting')
 def hint(topics=None, categories=None, usernames=None):
     topics = topics or []
     categories = categories or []
-    usernames = usernames or lambda x: []
+    default_usernames = lambda x: []
+    usernames = usernames or default_usernames
 
     @decorator.decorator
     def wrapper(fn, *args, **kwargs):
diff --git a/hubs/widgets/about.py b/hubs/widgets/about.py
index 55693c9..b0df6cc 100644
--- a/hubs/widgets/about.py
+++ b/hubs/widgets/about.py
@@ -1,3 +1,4 @@
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.chrome import panel
 from hubs.widgets.base import argument
 
diff --git a/hubs/widgets/avatar.py b/hubs/widgets/avatar.py
index bcda21d..bf49bf6 100644
--- a/hubs/widgets/avatar.py
+++ b/hubs/widgets/avatar.py
@@ -1,3 +1,4 @@
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.base import argument
 from hubs.utils import username2avatar
 
diff --git a/hubs/widgets/fedmsgstats.py b/hubs/widgets/fedmsgstats.py
index 0c22872..5f985af 100644
--- a/hubs/widgets/fedmsgstats.py
+++ b/hubs/widgets/fedmsgstats.py
@@ -1,3 +1,4 @@
+from hubs.hinting import hint
 from hubs.widgets.chrome import panel
 
 import jinja2
diff --git a/populate-all-users.py b/populate-all-users.py
new file mode 100755
index 0000000..401a20e
--- /dev/null
+++ b/populate-all-users.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+""" Populate the hubs db with lots of data from FAS. """
+
+import getpass
+import socket
+import string
+
+import hubs.models
+
+import fedora.client.fas2
+import fedmsg.config
+fedmsg_config = fedmsg.config.load_config()
+
+fasclient = fedora.client.fas2.AccountSystem(
+    username=raw_input('Your FAS username: '),
+    password=getpass.getpass(),
+)
+timeout = socket.getdefaulttimeout()
+socket.setdefaulttimeout(None)
+
+for letter in reversed(sorted(list(set(string.letters.lower())))):
+    session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'], True, True)
+    print "Querying FAS for the %r users.. hang on." % letter
+    request = fasclient.send_request('/user/list',
+                                    req_params={'search': '%s*' % letter},
+                                    auth=True,
+                                    timeout=500)
+    users = request['people']
+
+    for user in users:
+        username = user['username']
+        fullname = user['human_name']
+        openid = '%s.id.fedoraproject.org' % username
+        print "Creating account for %r" % openid
+        hubs.models.User.get_or_create(
+            session, openid=openid, fullname=fullname)
+
+    session.commit()

From 11d0f5544dbc18540fac82c8208347920b0977f0 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 08 2015 05:18:24 +0000
Subject: [PATCH 104/254] Make the graph have lots of categories for now.


---

diff --git a/hubs/widgets/fedmsgs.py b/hubs/widgets/fedmsgs.py
index 62e4d2c..0a3fb91 100644
--- a/hubs/widgets/fedmsgs.py
+++ b/hubs/widgets/fedmsgs.py
@@ -18,7 +18,7 @@ template = jinja2.Template("""
 """)
 
 from hubs.widgets.chrome import panel
-chrome = panel("Daily Activity")
+chrome = panel("Weekly Activity")
 
 
 @argument(name="username",
@@ -26,7 +26,16 @@ chrome = panel("Daily Activity")
           validator=validators.username,
           help="A FAS username.")
 def data(session, widget, username):
-    url = "https://apps.fedoraproject.org/datagrepper/charts/line?delta=86400&N=12&style=clean&height=300&fill=true&user={username}"
+    categories = ['git', 'Wiki', 'Copr', 'anitya', 'mirrormanager', 'ansible',
+                  'fedoratagger', 'Pkgdb', 'summershum', 'nuancier', 'Mailman',
+                  'fedbadges', 'FMN', 'koschei', 'compose', 'fedimg',
+                  'Jenkins', 'irc', 'FAS', 'buildsys', 'Askbot', 'pagure',
+                  'Bodhi', 'faf', 'kerneltest', 'github', 'Trac', 'meetbot',
+                  'planet', 'fedocal', 'hotness']
+    categories = [c.lower() for c in categories]
+    categories = "&".join(['category=%s' % c for c in categories ])
+    url = "https://apps.fedoraproject.org/datagrepper/charts/stackedline?delta=604800&N=12&style=clean&height=300&fill=true&user={username}&split_on=categories"
+    url = url + "&" + categories
     url = url.format(username=username)
     return dict(url=url)
 

From 0d67c58d52d6d1302bdd6c49bfdaf85c58abaf2d Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 09 2015 00:41:04 +0000
Subject: [PATCH 105/254] Bugfixes.


---

diff --git a/hubs/consumer.py b/hubs/consumer.py
index 1515966..3cb4fc8 100644
--- a/hubs/consumer.py
+++ b/hubs/consumer.py
@@ -46,7 +46,7 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
         self.checks_by_username = collections.defaultdict(list)
 
         widgets = session.query(hubs.models.Widget).all()
-        log.info("Comparing message against %i widgets" % len(widgets))
+        log.info("Building lookup from  %i total widgets" % len(widgets))
         for widget in widgets:
             check = widget.module.should_invalidate
 
@@ -59,7 +59,8 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
             for category in check.hints['categories']:
                 self.checks_by_category[category].append((check, widget,))
 
-            for username in check.hints['usernames_function']:
+            usernames = check.hints['usernames_function'](widget)
+            for username in usernames:
                 self.checks_by_username[username].append((check, widget,))
 
     @property
@@ -99,16 +100,16 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
 
         # Start this by finding a subset of widget checks that might match this
         # message. Look them up based on the hints they declare.
-        checks = \
-            set(self.checks_by_topic[topic]) + \
-            set(self.checks_by_category[category])
+        checks = set(
+            self.checks_by_topic[topic] + self.checks_by_category[category]
+        )
         log.info("Found %i checks to try for this message" % len(checks))
 
         # Then, with that hopefully smaller list of checks, try them all and
         # see if any tell us that we should nuke various data caches.
         for check, widget in checks:
             if check(msg, session, widget):
-                log.info("Invalidating cache for %r" % widget)
+                log.info("! Invalidating cache for %r" % widget)
                 # Invalidate the cache...
                 invalidate_cache(widget.module, **widget.config)
                 # Rebuild it.
diff --git a/hubs/hinting.py b/hubs/hinting.py
index 9f049f3..b04d688 100644
--- a/hubs/hinting.py
+++ b/hubs/hinting.py
@@ -1,4 +1,3 @@
-import collections
 import decorator
 
 import fedmsg.config
@@ -22,7 +21,7 @@ def hint(topics=None, categories=None, usernames=None):
         wrapped.hints = dict(
             topics=topics,
             categories=categories,
-            username_function=usernames,
+            usernames_function=usernames,
         )
         return wrapped
 
diff --git a/hubs/widgets/sticky.py b/hubs/widgets/sticky.py
index 36d4a1a..885108d 100644
--- a/hubs/widgets/sticky.py
+++ b/hubs/widgets/sticky.py
@@ -1,3 +1,4 @@
+from hubs.hinting import hint, prefixed as _
 from hubs.widgets.chrome import panel
 from hubs.widgets.base import argument
 
@@ -17,6 +18,7 @@ def data(session, widget, text):
     return dict(text=text)
 
 
+@hint(topics=[_('hubs.widget.update')])
 def should_invalidate(message, session, widget):
     if message['topic'].endswith('hubs.widget.update'):
         if message['msg']['widget']['id'] == widget.id:

From c250e651ffde60b66fee4033a07717273f6a2ed0 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 09 2015 00:55:04 +0000
Subject: [PATCH 106/254] Tweak language to distinguish between the widget data cache and the widget check lookups.


---

diff --git a/hubs/consumer.py b/hubs/consumer.py
index 3cb4fc8..a0c3f24 100644
--- a/hubs/consumer.py
+++ b/hubs/consumer.py
@@ -28,10 +28,10 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
         if not self.uri:
             raise ValueError('hubs.sqlalchemy.uri must be present')
 
-        self.hint_cache_lock = threading.Lock()
+        self.hint_lookup_lock = threading.Lock()
         session = self.make_session()
-        with self.hint_cache_lock:
-            self.rebuild_hubs_hint_caches(session)
+        with self.hint_lookup_lock:
+            self.rebuild_hubs_hint_lookups(session)
         session.commit()  # transaction is committed here
         session.close()
 
@@ -40,7 +40,7 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
     def make_session(self):
         return hubs.models.init(self.uri)
 
-    def rebuild_hubs_hint_caches(self, session):
+    def rebuild_hubs_hint_lookups(self, session):
         self.checks_by_topic = collections.defaultdict(list)
         self.checks_by_category = collections.defaultdict(list)
         self.checks_by_username = collections.defaultdict(list)
@@ -63,8 +63,13 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
             for username in usernames:
                 self.checks_by_username[username].append((check, widget,))
 
+        log.info("Lookup sizes are:")
+        log.info("- %i topics" % len(self.checks_by_topic))
+        log.info("- %i categories" % len(self.checks_by_category))
+        log.info("- %i usernames" % len(self.checks_by_username))
+
     @property
-    def cache_initialized(self):
+    def lookup_initialized(self):
         return self.checks_by_topic and self.checks_by_category
 
     def consume(self, raw_msg):
@@ -89,11 +94,11 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
         log.info("CacheInvalidatorExtraordinaire received %s %s",
                   msg['msg_id'], msg['topic'])
 
-        if category == 'hubs' or not self.cache_initialized:
+        if category == 'hubs' or not self.lookup_initialized:
             # Someone has modified an object in the hubs database, so let's
-            # rebuild our cache of our own database.
-            with self.hint_cache_lock:
-                self.rebuild_hubs_hint_caches(session)
+            # rebuild our lookup table of our own database.
+            with self.hint_lookup_lock:
+                self.rebuild_hubs_hint_lookups(session)
 
         # Begin our real work.
         # Find which widgets should have their caches nuked and make it so.

From 4de114460f71f736fd625a19ae051462136487ff Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 09 2015 00:58:01 +0000
Subject: [PATCH 107/254] Update gunicorn instructions.


---

diff --git a/README.rst b/README.rst
index fc8cdd3..942a73c 100644
--- a/README.rst
+++ b/README.rst
@@ -31,7 +31,7 @@ And then navigate to http://localhost:5000/designteam
 If you want to test it with 8 worker threads, try ``gunicorn``::
 
     $ pip install gunicorn
-    $ gunicorn -w 8 hubs.app:app
+    $ gunicorn -w 8 hubs.app:app -t 60 --reload
 
 Hacking on Widgets one-liner::
 

From a64995f4cb4dc4590c5a114a9cd1ca36976e274c Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 09 2015 01:40:48 +0000
Subject: [PATCH 108/254] Allow widgets to know who is logged in, so they can display themselves differently.


---

diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index e864e5b..76c5748 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -74,6 +74,15 @@ def prepare_registry(registry):
 validate_registry(registry)
 prepare_registry(registry)
 
+
+def get_site_vars():
+    import flask
+    return dict(
+        session=flask.app.session,
+        g=flask.g,
+    )
+
+
 def render(module, session, widget, *args, **kwargs):
     """ Main API entry point.
 
@@ -82,5 +91,8 @@ def render(module, session, widget, *args, **kwargs):
     # The API returns exactly this data.  Shared cache
     data = module.data(session, widget, *args, **kwargs)
 
+    # Also expose some site-level info to the widget here at render-time
+    data.update(get_site_vars())
+
     # Use the API data to fill out a template, and potentially decorate it.
     return module.render(**data)
diff --git a/hubs/widgets/fedmsgstats.py b/hubs/widgets/fedmsgstats.py
index 5f985af..2f075ab 100644
--- a/hubs/widgets/fedmsgstats.py
+++ b/hubs/widgets/fedmsgstats.py
@@ -2,9 +2,13 @@ from hubs.hinting import hint
 from hubs.widgets.chrome import panel
 
 import jinja2
-
 import requests
 
+import fedmsg.config
+import fedmsg.meta
+
+config = fedmsg.config.load_config()
+
 chrome = panel()
 template = jinja2.Template("""
 <div class="stats-container">
@@ -12,7 +16,9 @@ template = jinja2.Template("""
     <tr><th>FedMsgs</th><th>Subscribers</th></tr>
     <tr class="text-info"><td>{{fedmsgs}}</td><td>{{subscribers}}</td></tr>
   </table>
+  {% if session['nickname'] != username %}
   <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
+  {% endif %}
 </div>
 """)
 
@@ -23,6 +29,7 @@ def data(session, widget, username):
     response = requests.get(url)
     fedmsgs = response.json()['total']
     return dict(
+        username=username,
         fedmsgs=fedmsgs,
         subscribers=len(widget.hub.subscribers),
     )
diff --git a/hubs/widgets/workflow/pendingacls.py b/hubs/widgets/workflow/pendingacls.py
index 9e40b73..6bcee7b 100644
--- a/hubs/widgets/workflow/pendingacls.py
+++ b/hubs/widgets/workflow/pendingacls.py
@@ -12,8 +12,10 @@ import hubs.validators as validators
 # TODO -- add approve/deny buttons or just link through to pkgdb
 template = jinja2.Template("""
 {% if pending_acls %}
+{% if session['nickname'] == username %}
 <a class="btn btn-success" target="_blank" href="https://admin.fedoraproject.org/pkgdb/acl/pending/">Manage requests</a>
 <hr/>
+{% endif %}
 <ul class="media-list">
 {% for acl in pending_acls %}
     <li class="media">
@@ -55,6 +57,7 @@ def data(session, widget, username):
     data = response.json()
     for acl in data['pending_acls']:
         acl['avatar'] = username2avatar(acl['user'], s=32)
+    data['username'] = username
     return data
 
 
diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index da410db..59860a7 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -11,8 +11,10 @@ import hubs.validators as validators
 # TODO -- add approve/deny buttons or just link through to pkgdb
 template = jinja2.Template("""
 {% if updates %}
+{% if session['nickname'] == username %}
 <a class="btn btn-success" target="_blank" href="https://admin.fedoraproject.org/updates/mine">Manage updates</a>
 <hr/>
+{% endif %}
 <ul class="media-list">
 {% for update in updates %}
     <li class="media">

From 803829729f9d1932da971edd80e3a2af303537a3 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 09 2015 02:20:46 +0000
Subject: [PATCH 109/254] Shuffle debug statements.


---

diff --git a/fedmsg.d/base.py b/fedmsg.d/base.py
new file mode 100644
index 0000000..95612f9
--- /dev/null
+++ b/fedmsg.d/base.py
@@ -0,0 +1,70 @@
+# This file is part of fedmsg.
+# Copyright (C) 2012 Red Hat, Inc.
+#
+# fedmsg is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# fedmsg is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with fedmsg; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# Authors:  Ralph Bean <rbean@redhat.com>
+
+import os
+
+config = dict(
+    # Set this to dev if you're hacking on fedmsg or an app.
+    # Set to stg or prod if running in the Fedora Infrastructure
+    environment="dev",
+
+    # Default is 0
+    high_water_mark=0,
+    io_threads=1,
+
+    ## For the fedmsg-hub and fedmsg-relay. ##
+
+    # This is a status dir to keep a record of the last processed message
+    #status_directory=os.getcwd() + "/status",
+    #status_directory='/var/run/fedmsg/status',
+
+    # This is the URL of a datagrepper instance that we can query for backlog.
+    #datagrepper_url="https://apps.fedoraproject.org/datagrepper/raw",
+
+    # We almost always want the fedmsg-hub to be sending messages with zmq as
+    # opposed to amqp or stomp.
+    zmq_enabled=True,
+
+    # When subscribing to messages, we want to allow splats ('*') so we tell
+    # the hub to not be strict when comparing messages topics to subscription
+    # topics.
+    zmq_strict=False,
+
+    # Number of seconds to sleep after initializing waiting for sockets to sync
+    post_init_sleep=0.5,
+
+    # Wait a whole second to kill all the last io threads for messages to
+    # exit our outgoing queue (if we have any).  This is in milliseconds.
+    zmq_linger=1000,
+
+    # See the following
+    #   - http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html
+    #   - http://api.zeromq.org/3-2:zmq-setsockopt
+    zmq_tcp_keepalive=1,
+    zmq_tcp_keepalive_cnt=3,
+    zmq_tcp_keepalive_idle=60,
+    zmq_tcp_keepalive_intvl=5,
+
+    # Number of miliseconds that zeromq will wait to reconnect until it gets 
+    # a connection if an endpoint is unavailable.
+    zmq_reconnect_ivl=100,
+    # Max delay that you can reconfigure to reduce reconnect storm spam. This
+    # is in miliseconds.
+    zmq_reconnect_ivl_max=1000,
+)
diff --git a/fedmsg.d/logging.py b/fedmsg.d/logging.py
new file mode 100644
index 0000000..c31901c
--- /dev/null
+++ b/fedmsg.d/logging.py
@@ -0,0 +1,40 @@
+# Setup fedmsg logging.
+# See the following for constraints on this format https://bit.ly/Xn1WDn
+bare_format = "[%(asctime)s][%(name)10s %(levelname)7s] %(message)s"
+
+config = dict(
+    logging=dict(
+        version=1,
+        formatters=dict(
+            bare={
+                "datefmt": "%Y-%m-%d %H:%M:%S",
+                "format": bare_format
+            },
+        ),
+        handlers=dict(
+            console={
+                "class": "logging.StreamHandler",
+                "formatter": "bare",
+                "level": "DEBUG",
+                "stream": "ext://sys.stdout",
+            },
+        ),
+        loggers=dict(
+            fedmsg={
+                "level": "INFO",
+                "propagate": False,
+                "handlers": ["console"],
+            },
+            moksha={
+                "level": "INFO",
+                "propagate": False,
+                "handlers": ["console"],
+            },
+            hubs={
+                "level": "DEBUG",
+                "propagate": False,
+                "handlers": ["console"],
+            },
+        ),
+    ),
+)
diff --git a/fedmsg.d/testconfig.py b/fedmsg.d/testconfig.py
index 6bfeb35..464b326 100644
--- a/fedmsg.d/testconfig.py
+++ b/fedmsg.d/testconfig.py
@@ -5,17 +5,8 @@ config = {
     'hubs.sqlalchemy.uri': 'sqlite:////var/tmp/hubs.db',
 
     'endpoints': {
-        # TODO -- fill these out later...
+        "fedora-infrastructure": [
+            "tcp://hub.fedoraproject.org:9940",
+        ]
     },
-
-    'logging': dict(
-        version=1,
-        loggers=dict(
-            hubs={
-                "level": "DEBUG",
-                "propagate": False,
-                "handlers": ["console"],
-            },
-        ),
-    ),
 }
diff --git a/hubs/consumer.py b/hubs/consumer.py
index a0c3f24..37faff3 100644
--- a/hubs/consumer.py
+++ b/hubs/consumer.py
@@ -19,7 +19,7 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
     config_key = 'hubs.consumer.enabled'
 
     def __init__(self, *args, **kwargs):
-        log.info("CacheInvalidatorExtraordinaire initializing")
+        log.debug("CacheInvalidatorExtraordinaire initializing")
         super(CacheInvalidatorExtraordinaire, self).__init__(*args, **kwargs)
 
         self.uri = self.hub.config.get('hubs.sqlalchemy.uri', None)
@@ -34,8 +34,7 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
             self.rebuild_hubs_hint_lookups(session)
         session.commit()  # transaction is committed here
         session.close()
-
-        log.info("CacheInvalidatorExtraordinaire initialized")
+        log.debug("CacheInvalidatorExtraordinaire initialized")
 
     def make_session(self):
         return hubs.models.init(self.uri)
@@ -91,7 +90,7 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
                 return
 
         start = time.time()
-        log.info("CacheInvalidatorExtraordinaire received %s %s",
+        log.debug("CacheInvalidatorExtraordinaire received %s %s",
                   msg['msg_id'], msg['topic'])
 
         if category == 'hubs' or not self.lookup_initialized:
@@ -108,7 +107,12 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
         checks = set(
             self.checks_by_topic[topic] + self.checks_by_category[category]
         )
-        log.info("Found %i checks to try for this message" % len(checks))
+
+        statement = "Found %i checks to try for this message" % len(checks)
+        if checks:
+            log.info(statement)
+        else:
+            log.debug(statement)
 
         # Then, with that hopefully smaller list of checks, try them all and
         # see if any tell us that we should nuke various data caches.
@@ -121,7 +125,7 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
                 widget.module.data(session, widget, **widget.config)
                 # TODO -- fire off an EventSource notice that we updated stuff
 
-        log.info("Done.  %0.2fs %s %s",
+        log.debug("Done.  %0.2fs %s %s",
                   time.time() - start, msg['msg_id'], msg['topic'])
 
     def stop(self):

From 3148d22cb72d14ea136160c4f044d6a05744f862 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 09 2015 02:27:50 +0000
Subject: [PATCH 110/254] Add a script to delete a user for development.


---

diff --git a/delete-user.py b/delete-user.py
new file mode 100755
index 0000000..a533a00
--- /dev/null
+++ b/delete-user.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python
+""" Delete a user from the db.
+
+Useful for testing what happens when you recreate them.
+"""
+
+import sys
+
+import fedmsg.config
+fedmsg_config = fedmsg.config.load_config()
+
+import hubs.models
+
+session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'])
+
+username = raw_input('What user do you want to delete: ')
+openid = '%s.id.fedoraproject.org' % username
+print "Looking for account %r" % openid
+user = hubs.models.User.get(session, openid)
+if not user:
+    print "No such user %r" % openid
+    sys.exit(1)
+
+print "Found %r.  Deleting." % user
+session.delete(user)
+session.commit()

From eabf034e0aea5f8c2d4df7c7773085404d5849db Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 09 2015 04:18:33 +0000
Subject: [PATCH 111/254] Add the start of the feed widget.


---

diff --git a/delete-user.py b/delete-user.py
index a533a00..acc2563 100755
--- a/delete-user.py
+++ b/delete-user.py
@@ -19,8 +19,15 @@ print "Looking for account %r" % openid
 user = hubs.models.User.get(session, openid)
 if not user:
     print "No such user %r" % openid
-    sys.exit(1)
+else:
+    print "Found %r.  Deleting." % user
+    session.delete(user)
+
+hub = hubs.models.Hub.get(session, username)
+if not hub:
+    print "No such hub %r" % username
+else:
+    print "Found %r.  Deleting." % hub
+    session.delete(hub)
 
-print "Found %r.  Deleting." % user
-session.delete(user)
 session.commit()
diff --git a/fedmsg.d/fas_credentials.py b/fedmsg.d/fas_credentials.py
new file mode 100644
index 0000000..7f63432
--- /dev/null
+++ b/fedmsg.d/fas_credentials.py
@@ -0,0 +1,19 @@
+import commands
+import getpass
+import os
+
+username = os.environ.get('BODHI_USER')
+if not username:
+    username = raw_input('FAS username: ')
+
+if os.path.exists('/usr/bin/pass'):
+    password = commands.getoutput('pass sys/fas')
+else:
+    password = getpass.getpass('FAS password: ')
+
+config = {
+    'fas_credentials': {
+        'username': username,
+        'password': password,
+    }
+}
diff --git a/fedmsg.d/testconfig.py b/fedmsg.d/testconfig.py
index 464b326..b803bad 100644
--- a/fedmsg.d/testconfig.py
+++ b/fedmsg.d/testconfig.py
@@ -9,4 +9,19 @@ config = {
             "tcp://hub.fedoraproject.org:9940",
         ]
     },
+
+    'datanommer.sqlalchemy.uri': 'postgres://postgres:laksjdf@127.0.0.1/datanommer',
+
+    'fmn.url': 'https://apps.fedoraproject.org/notifications',
+
+    # Some configuration for the rule processors
+    "fmn.rules.utils.use_pkgdb2": False,
+    "fmn.rules.utils.pkgdb2_api_url": "http://209.132.184.188/api/",
+    "fmn.rules.cache": {
+        "backend": "dogpile.cache.dbm",
+        "expiration_time": 300,
+        "arguments": {
+            "filename": "/var/tmp/fmn-cache.dbm",
+        },
+    },
 }
diff --git a/hubs/app.py b/hubs/app.py
index 9ef867d..cbc22e7 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -1,30 +1,52 @@
 import functools
+import logging
 import os
 
 import flask
+import flask.json
 import munch
 
 from flask.ext.openid import OpenID
 
 import hubs.models
 
+import datanommer.models
+
+
 app = flask.Flask(__name__)
 
+logging.basicConfig()
+
 
 # TODO - put this in config so we can migrate to pagure
 # TODO - instead of 'develop', use the version from pkg_resources to figure out
 #        the right tag to link people to.  AGPL ftw.
 SOURCE_URL = 'https://pagure.io/fedora-hubs/blob/develop/f'#/hubs/widgets/badges.py'
 
-
 app.config.from_object('hubs.default_config')
 if 'HUBS_CONFIG' in os.environ:
     app.config.from_envvar('HUBS_CONFIG')
 
 import fedmsg.config
+import fedmsg.meta
 fedmsg_config = fedmsg.config.load_config()
+fedmsg.meta.make_processors(**fedmsg_config)
 
 session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'])
+datanommer.models.init(fedmsg_config['datanommer.sqlalchemy.uri'])
+
+
+class CustomJSONEncoder(flask.json.JSONEncoder):
+    def default(self, o):
+        try:
+            iterable = iter(o)
+        except TypeError:
+            pass
+        else:
+            return list(iterable)
+        return flask.json.JSONEncoder.default(self, o)
+
+app.json_encoder = CustomJSONEncoder
 
 
 @app.route('/')
diff --git a/hubs/consumer.py b/hubs/consumer.py
index 37faff3..81c4717 100644
--- a/hubs/consumer.py
+++ b/hubs/consumer.py
@@ -4,7 +4,9 @@ import collections
 import threading
 import time
 
+import datanommer.models
 import fedmsg.consumers
+import fedmsg.meta
 
 import hubs.models
 
@@ -28,12 +30,17 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
         if not self.uri:
             raise ValueError('hubs.sqlalchemy.uri must be present')
 
+        fedmsg.meta.make_processors(**self.hub.config)
+
         self.hint_lookup_lock = threading.Lock()
         session = self.make_session()
         with self.hint_lookup_lock:
             self.rebuild_hubs_hint_lookups(session)
         session.commit()  # transaction is committed here
         session.close()
+
+        datanommer.models.init(self.hub.config['datanommer.sqlalchemy.uri'])
+
         log.debug("CacheInvalidatorExtraordinaire initialized")
 
     def make_session(self):
diff --git a/hubs/defaults.py b/hubs/defaults.py
index baa60c6..a26b9de 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -6,15 +6,16 @@ import hubs.models
 def add_user_widgets(session, hub, username, fullname):
     """ Some defaults for an individual user's hub. """
     widget = hubs.models.Widget(
-        plugin='sticky', index=0, left=True,
+        plugin='fedmsgs', index=0, left=True,
         _config=json.dumps({
-            'text': 'TODO -- Put a fancy graph here...',
+            'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='fedmsgs', index=1, left=True,
+        plugin='feed', index=1, left=True,
         _config=json.dumps({
             'username': username,
+            'fmn_context': 'irc',  # TODO -- make this 'hubs'
         }))
     hub.widgets.append(widget)
 
diff --git a/hubs/models.py b/hubs/models.py
index b129f5d..e4c7fa4 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -99,6 +99,8 @@ class Hub(BASE):
     def by_name(cls, session, name):
         return session.query(cls).filter_by(name=name).first()
 
+    get = by_name
+
     @classmethod
     def create_user_hub(cls, session, username, fullname):
         hub = cls(name=username, summary=fullname)
diff --git a/hubs/validators.py b/hubs/validators.py
index 1079234..cd3d7f6 100644
--- a/hubs/validators.py
+++ b/hubs/validators.py
@@ -13,3 +13,9 @@ def link(session, value):
 def username(session, value):
     openid = 'http://%s.id.fedoraproject.org/' % value
     return not hubs.models.User.by_openid(session, openid) is None
+
+def fmn_context(session, value):
+    # TODO get this from the fedmsg config.
+    return value in [
+        'irc', 'email', 'android', 'desktop', 'hubs',
+    ]
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 76c5748..94ffaa2 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -7,6 +7,7 @@ from hubs.widgets import avatar
 from hubs.widgets import badges
 from hubs.widgets import fedmsgs
 from hubs.widgets import fedmsgstats
+from hubs.widgets import feed
 
 from hubs.widgets.workflow import pendingacls
 from hubs.widgets.workflow import updates2stable
@@ -23,6 +24,8 @@ registry = {
     'badges': badges,
     'fedmsgs': fedmsgs,
     'fedmsgstats': fedmsgstats,
+    'feed': feed,
+
     'workflow.pendingacls': pendingacls,
     'workflow.updates2stable': updates2stable,
 }
diff --git a/hubs/widgets/feed.py b/hubs/widgets/feed.py
new file mode 100644
index 0000000..3409ea6
--- /dev/null
+++ b/hubs/widgets/feed.py
@@ -0,0 +1,137 @@
+from __future__ import print_function
+
+from hubs.hinting import hint
+from hubs.widgets.base import argument
+
+import fmn.lib
+import fmn.lib.hinting
+
+import datanommer.models
+
+import arrow
+import jinja2
+import munch
+import requests
+
+import hubs.validators as validators
+
+import datetime
+import logging
+log = logging.getLogger('hubs')
+
+import fedmsg.config
+config = fedmsg.config.load_config()
+fmn_url = config['fmn.url']
+
+
+bazillion = 1000
+paths = fmn.lib.load_rules(root='fmn.rules')
+
+
+template = jinja2.Template("""
+{% for match in matches %}
+<div class="panel panel-default">
+  <div class="panel-body">
+    <div class="media">
+      <div class="media-left">
+        <a href="{{match['link']}} target="_blank">
+          <img class="media-object img-responsive square-32 img-circle" src="{{match['secondary_icon']}}">
+        </a>
+      </div>
+      <div class="media-body">
+        <h4 class="media-heading">{{match['subtitle']}}</h4>
+        {{match['human_time']}}
+      </div>
+    </div>
+  </div>
+</div>
+{% endfor %}
+""")
+
+# No chrome around the feed.
+#from hubs.widgets.chrome import panel
+#chrome = panel()
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+@argument(name="fmn_context",
+          default="irc", # TODO - Make this 'hubs', or...
+          validator=validators.fmn_context,
+          help="A FMN context.")
+def data(session, widget, username, fmn_context):
+    openid = '%s.id.fedoraproject.org' % username
+    url = '/'.join([fmn_url, 'api', openid, fmn_context])
+    log.info("Getting FMN preferences from %s" % url)
+    print(url)
+    response = requests.get(url)
+    preference = response.json()
+    preference = rehydrate_preferences(preference)
+
+    # The smaller we make this, the faster it is.
+    delta = datetime.timedelta(days=365)
+    end = datetime.datetime.utcnow()
+
+    # We currently only support getting the first page.
+    # The widget framework as currently written doesn't support
+    # multiple pages yet.
+    page = 1
+
+    messages = []
+    for filter in preference['filters']:
+        rules = filter['rules']
+        fmn_hinting = fmn.lib.hinting.gather_hinting(config, rules, paths)
+        total, pages, rows = datanommer.models.Message.grep(
+            start=end-delta,
+            end=end,
+            rows_per_page=bazillion,
+            page=page,
+            order='desc',
+            **fmn_hinting
+        )
+        messages.extend(rows)
+
+    matches = []
+    for message in messages:
+        original = message.__json__()
+        recipients = fmn.lib.recipients(
+            [preference], message.__json__(), paths, config)
+        if recipients:
+            matches.append(original)
+
+    # TODO - sort messages and remove duplicates
+
+    # Smash multiple messages into single ones
+    matches = fedmsg.meta.conglomerate(matches, **config)
+
+    return dict(
+        matches=matches,
+    )
+
+
+@hint()
+def should_invalidate(message, session, widget):
+    # only if a new message would match the FMN filters would this be
+    # invalidated... but that is as expensive as being FMN ourselves.
+    raise NotImplementedError
+
+
+def rehydrate_preferences(preference):
+    for fltr in preference['filters']:
+        fltr['rules'] = [munch.Munch(r) for r in fltr['rules']]
+        for rule in fltr['rules']:
+            code_path = str(rule.code_path)
+            rule.fn = fedmsg.utils.load_class(code_path)
+
+    return preference
+
+def make_result(msg, d):
+    return {
+        'icon': fedmsg.meta.msg2icon(d, **config),
+        'icon2': fedmsg.meta.msg2secondary_icon(d, **config),
+        'subtitle': fedmsg.meta.msg2subtitle(d, **config),
+        'link': fedmsg.meta.msg2link(d, **config),
+        'time': arrow.get(msg.timestamp).humanize(),
+    }
diff --git a/requirements.txt b/requirements.txt
index 820a56c..383db66 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,3 +5,9 @@ dogpile.cache
 fedmsg_meta_fedora_infrastructure
 flask-openid
 munch
+arrow
+fmn.lib
+fmn.rules
+datanommer.models
+fb-re2
+psycopg2

From e6515440baff1235bf33f278caf7671f8d4465c0 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 10 2015 02:50:21 +0000
Subject: [PATCH 112/254] fb-re2 is really optional.. but more importantly, it breaks py3 compat.


---

diff --git a/requirements.txt b/requirements.txt
index 383db66..62cb8fb 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9,5 +9,4 @@ arrow
 fmn.lib
 fmn.rules
 datanommer.models
-fb-re2
 psycopg2

From c8790427bea607b04371fe76481b9f5f4320055e Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 10 2015 03:41:17 +0000
Subject: [PATCH 113/254] Fix some python3-isms.


---

diff --git a/fedmsg.d/fas_credentials.py b/fedmsg.d/fas_credentials.py
index 7f63432..f0d1f02 100644
--- a/fedmsg.d/fas_credentials.py
+++ b/fedmsg.d/fas_credentials.py
@@ -1,13 +1,15 @@
-import commands
 import getpass
 import os
 
+
 username = os.environ.get('BODHI_USER')
 if not username:
     username = raw_input('FAS username: ')
 
 if os.path.exists('/usr/bin/pass'):
-    password = commands.getoutput('pass sys/fas')
+    import sh  # You'll need to pip install this
+    cmd = sh.Command('pass')
+    password = cmd('sys/fas').strip()
 else:
     password = getpass.getpass('FAS password: ')
 
diff --git a/fedmsg.d/testconfig.py b/fedmsg.d/testconfig.py
index b803bad..ec13c43 100644
--- a/fedmsg.d/testconfig.py
+++ b/fedmsg.d/testconfig.py
@@ -21,7 +21,11 @@ config = {
         "backend": "dogpile.cache.dbm",
         "expiration_time": 300,
         "arguments": {
-            "filename": "/var/tmp/fmn-cache.dbm",
+            "filename": "/var/tmp/fmn-cache.db",
         },
     },
+
+    # Run datanommer locally, just for development.
+    'datanommer.enabled': True,
+    'datanommer.sqlalchemy.url': 'postgres://postgres:laksjdf@127.0.0.1/datanommer',
 }

From 771255bfc25432fd048a40e0e0ff945d9300fc77 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 11 2015 14:29:36 +0000
Subject: [PATCH 114/254] Comment out the widget.


---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index a26b9de..9646f8e 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -11,13 +11,16 @@ def add_user_widgets(session, hub, username, fullname):
             'username': username,
         }))
     hub.widgets.append(widget)
-    widget = hubs.models.Widget(
-        plugin='feed', index=1, left=True,
-        _config=json.dumps({
-            'username': username,
-            'fmn_context': 'irc',  # TODO -- make this 'hubs'
-        }))
-    hub.widgets.append(widget)
+
+    ## The feed widget works, but it needs to be cleaned up lots before we
+    ## throw it in by default.
+    #widget = hubs.models.Widget(
+    #    plugin='feed', index=1, left=True,
+    #    _config=json.dumps({
+    #        'username': username,
+    #        'fmn_context': 'irc',  # TODO -- make this 'hubs'
+    #    }))
+    #hub.widgets.append(widget)
 
     # Right Side Widgets
     widget = hubs.models.Widget(

From c7b6871aaf6fdb5bb2116c88b5f03d0fb46c11f8 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 11 2015 19:52:16 +0000
Subject: [PATCH 115/254] Switch instructions from py3 to py2.


---

diff --git a/README.rst b/README.rst
index 942a73c..113d297 100644
--- a/README.rst
+++ b/README.rst
@@ -9,13 +9,13 @@ Install fedora dependencies:
 
     $ sudo dnf install gcc gcc-c++ sqlite-devel 
 
-Hubs should work on python2 **and** python3, so let's default to python3 and
-see how that goes.
+Hubs should work on either python2 **or** python3.  These instructions will
+show the way for python2 only, though.
 
 Setup a python virtualenv::
 
-    $ sudo yum install python-virtualenvwrapper
-    $ mkvirtualenv --python=$(which python3) hubs
+    $ sudo dnf install python-virtualenvwrapper
+    $ mkvirtualenv hubs
 
 Install the dependencies from PyPI::
 
@@ -23,8 +23,8 @@ Install the dependencies from PyPI::
 
 Try running it with::
 
-    $ PYTHONPATH=. python3 populate.py  # To create the db
-    $ PYTHONPATH=. python3 hubs/app.py  # To run the dev server
+    $ PYTHONPATH=. python populate.py  # To create the db
+    $ PYTHONPATH=. python hubs/app.py  # To run the dev server
 
 And then navigate to http://localhost:5000/designteam
 
@@ -35,7 +35,7 @@ If you want to test it with 8 worker threads, try ``gunicorn``::
 
 Hacking on Widgets one-liner::
 
-    $ rm /var/tmp/hubs.db; PYTHONPATH=. python3 populate.py; gunicorn -w 8 hubs.app:app
+    $ rm /var/tmp/hubs.db; PYTHONPATH=. python populate.py; gunicorn -w 8 hubs.app:app
 
 Internal design
 ---------------

From cd98033a1355a20d9221f60dff2b06e6d04a4941 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 11 2015 20:45:47 +0000
Subject: [PATCH 116/254] Delete old fas_credentials file that had too much threebean-specific stuff in it.


---

diff --git a/.gitignore b/.gitignore
index e6e04af..961695c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 *.pyc
 *.egg*
+fedmsg.d/fas_credentials.py
diff --git a/fedmsg.d/fas_credentials.py b/fedmsg.d/fas_credentials.py
deleted file mode 100644
index f0d1f02..0000000
--- a/fedmsg.d/fas_credentials.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import getpass
-import os
-
-
-username = os.environ.get('BODHI_USER')
-if not username:
-    username = raw_input('FAS username: ')
-
-if os.path.exists('/usr/bin/pass'):
-    import sh  # You'll need to pip install this
-    cmd = sh.Command('pass')
-    password = cmd('sys/fas').strip()
-else:
-    password = getpass.getpass('FAS password: ')
-
-config = {
-    'fas_credentials': {
-        'username': username,
-        'password': password,
-    }
-}

From ba5b9a568e32668e1775b6032cad85aee6d67238 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 11 2015 20:51:26 +0000
Subject: [PATCH 117/254] Add some notes about FAS credentials /cc @oddshocks.


---

diff --git a/README.rst b/README.rst
index 113d297..72df979 100644
--- a/README.rst
+++ b/README.rst
@@ -21,7 +21,20 @@ Install the dependencies from PyPI::
 
     $ pip install -r requirements.txt
 
-Try running it with::
+Give fedora-hubs some FAS credentials.  It's going to need these to query FAS
+for information about other users.  When we deploy this thing to production,
+we'll use a system account for this but for now, just use your personal
+account.  Copy the following into ``fedmsg.d/fas_credentials.py``::
+
+    config = {
+        'fas_credentials': {
+            'username': 'YOUR_FAS_USERNAME_GOES_HERE',
+            'password': 'YOUR_FAS_PASSWORD_GOES_HERE',
+        }
+    }
+
+
+With that, try running the app with::
 
     $ PYTHONPATH=. python populate.py  # To create the db
     $ PYTHONPATH=. python hubs/app.py  # To run the dev server

From 7553b8ac874fde299ccc133b8153fd3dc6838e22 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jun 14 2015 00:50:11 +0000
Subject: [PATCH 118/254] Expose some more information via the json api.


---

diff --git a/hubs/app.py b/hubs/app.py
index cbc22e7..74ea4af 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -60,34 +60,17 @@ def index():
 @app.route('/<name>')
 @app.route('/<name>/')
 def hub(name):
-    hub = session.query(hubs.models.Hub)\
-        .filter(hubs.models.Hub.name==name)\
-        .first()
-
-    if not hub:
-        flask.abort(404)
-
+    hub = get_hub(session, name)
     return flask.render_template('hubs.html', hub=hub, session=session)
 
 
-def get_widget(session, hub, idx):
-    try:
-        idx = int(idx)
-    except TypeError:
-        flask.abort(404)
-
-    hub = session.query(hubs.models.Hub)\
-        .filter(hubs.models.Hub.name==hub)\
-        .first()
-
-    if not hub:
-        flask.abort(404)
-
-    for widget in hub.widgets:
-        if widget.idx == idx:
-            return widget
-
-    flask.abort(404)
+@app.route('/<name>/json')
+@app.route('/<name>/json/')
+def hub_json(name):
+    hub = get_hub(session, name)
+    response = flask.jsonify(hub.__json__(session))
+    # TODO -- modify headers with response.headers['X-fedora-hubs-wat'] = 'foo'
+    return response
 
 
 @app.route('/<hub>/<idx>')
@@ -101,16 +84,8 @@ def widget_render(hub, idx):
 @app.route('/<hub>/<idx>/json/')
 def widget_json(hub, idx):
     widget = get_widget(session, hub, idx)
-    from hubs.widgets import registry
-    module = registry[widget.plugin]
-    data = module.data(session, widget, **widget.config)
-    response = flask.jsonify(data)
-
-    # We don't actually need these two headers.  Just messing around.
-    response.headers['X-fedora-hubs-hub-name'] = hub
-    response.headers['X-fedora-hubs-widget-id'] = idx
-    # TODO -- add other headers here as we decide we need them.
-
+    response = flask.jsonify(widget.__json__(session))
+    # TODO -- modify headers with response.headers['X-fedora-hubs-wat'] = 'foo'
     return response
 
 
@@ -223,6 +198,36 @@ def check_auth():
         flask.g.auth.email = flask.session.get('email', None)
 
 
+def get_hub(session, name):
+    """ Utility shorthand to get a hub and 404 if not found. """
+    hub = session.query(hubs.models.Hub)\
+        .filter(hubs.models.Hub.name==name)\
+        .first()
+
+    if not hub:
+        flask.abort(404)
+
+    return hub
+
+
+def get_widget(session, hub, idx):
+    """ Utility shorthand to get a widget and 404 if not found. """
+    try:
+        idx = int(idx)
+    except TypeError:
+        flask.abort(404)
+
+    hub = get_hub(session, hub)
+
+    for widget in hub.widgets:
+        if widget.idx == idx:
+            return widget
+
+    flask.abort(404)
+
+
+
+
 
 if __name__ == '__main__':
     app.run(debug=True)
diff --git a/hubs/models.py b/hubs/models.py
index e4c7fa4..ae2639e 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -123,9 +123,20 @@ class Hub(BASE):
             [w for w in self.widgets if not w.left],
             key=lambda w: w.index)
 
-    def __json__(self, reify=False):
+    def __json__(self, session):
         return {
             'name': self.name,
+            'summary': self.summary,
+
+            # TODO -- splash image
+
+            'widgets': [widget.idx for widget in self.widgets],
+            'left_width': self.left_width,
+
+            # TODO -- these three need to be fleshed out with real fas data.
+            'owners': self.owners,
+            'members': self.members,
+            'subscribers': self.subscribers,
         }
 
 def _config_default(context):
@@ -154,9 +165,19 @@ class Widget(BASE):
     def config_setter(self, config):
         self._config = json.dumps(config)
 
-    def __json__(self, reify=False):
+    def __json__(self, session):
+        module = hubs.widgets.registry[self.plugin]
+        data = module.data(session, self, **self.config)
         return {
+            'id': self.idx,
+            # TODO -- use flask.url_for to get the url for this widget
             'plugin': self.plugin,
+            'description': module.__doc__,
+            'hub': self.hub_id,
+            'left': self.left,
+            'index': self.index,
+            'data': data,
+            'config': self.config,
         }
 
     @property
@@ -174,10 +195,14 @@ class User(BASE):
     fullname = sa.Column(sa.Text)
     created_on = sa.Column(sa.DateTime, default=datetime.datetime.utcnow)
 
-    def __json__(self, reify=False):
+    def __json__(self, session):
         return {
+            'username': self.username,
             'openid': self.openid,
+            'fullname': self.fullname,
             'created_on': self.created_on,
+            # We'll need hubs subscribed to, owned, etc..
+            #'hubs': [hub.idx for hub in self.hubx],
         }
 
     @property

From e02569cf134de90387e177d23c4ec54b32cf919a Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 19 2015 17:02:24 +0000
Subject: [PATCH 119/254] updated .gitignore


---

diff --git a/.gitignore b/.gitignore
index 961695c..7b3bc0e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 *.pyc
 *.egg*
 fedmsg.d/fas_credentials.py
+node*

From 2c4246769f4bff53b0ded3c7f447a89a766e5d6b Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jun 19 2015 18:16:11 +0000
Subject: [PATCH 120/254] Added postgresql and postgresql-devel to README.md


---

diff --git a/README.rst b/README.rst
index 72df979..23fc872 100644
--- a/README.rst
+++ b/README.rst
@@ -14,7 +14,7 @@ show the way for python2 only, though.
 
 Setup a python virtualenv::
 
-    $ sudo dnf install python-virtualenvwrapper
+    $ sudo dnf install python-virtualenvwrapper postgresql postgresql-devel
     $ mkvirtualenv hubs
 
 Install the dependencies from PyPI::

From 25b0397ffe857e52d2081676ea320eeb6f580013 Mon Sep 17 00:00:00 2001
From: Máirín Duffy <duffy@redhat.com>
Date: Jun 30 2015 19:00:17 +0000
Subject: [PATCH 121/254] adding bash profile refresh info for when mkvirtualenv does not work


---

diff --git a/README.rst b/README.rst
index 23fc872..19b3ead 100644
--- a/README.rst
+++ b/README.rst
@@ -17,6 +17,11 @@ Setup a python virtualenv::
     $ sudo dnf install python-virtualenvwrapper postgresql postgresql-devel
     $ mkvirtualenv hubs
 
+If the mkvirtualenv command returns "command not found..." you may need to 
+refresh your bash profile:
+
+    $ source ~/.bashrc
+
 Install the dependencies from PyPI::
 
     $ pip install -r requirements.txt

From 3636e42e7d517254b513f7e3b6c8c3d0e9ed7263 Mon Sep 17 00:00:00 2001
From: Máirín Duffy <duffy@redhat.com>
Date: Jun 30 2015 19:03:38 +0000
Subject: [PATCH 122/254] clarifying that fas_credentials.py is a new file you're creating


---

diff --git a/README.rst b/README.rst
index 19b3ead..ad3d926 100644
--- a/README.rst
+++ b/README.rst
@@ -29,7 +29,8 @@ Install the dependencies from PyPI::
 Give fedora-hubs some FAS credentials.  It's going to need these to query FAS
 for information about other users.  When we deploy this thing to production,
 we'll use a system account for this but for now, just use your personal
-account.  Copy the following into ``fedmsg.d/fas_credentials.py``::
+account.  Copy the following into a new file under the fedmsg.d directory
+called fas_credentials.py (``fedmsg.d/fas_credentials.py``) ::
 
     config = {
         'fas_credentials': {

From b08c15b7d7d315c8c1f6f048d688811496a12370 Mon Sep 17 00:00:00 2001
From: Máirín Duffy <duffy@redhat.com>
Date: Jun 30 2015 19:04:29 +0000
Subject: [PATCH 123/254] clarifying how to fill in example fas credentials file


---

diff --git a/README.rst b/README.rst
index ad3d926..0cc29bb 100644
--- a/README.rst
+++ b/README.rst
@@ -39,6 +39,7 @@ called fas_credentials.py (``fedmsg.d/fas_credentials.py``) ::
         }
     }
 
+Make sure to leave the '' around you username and password - don't delete them!
 
 With that, try running the app with::
 

From cabbd0976c6e5f5ce651319fa4235b74960c51ce Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 01 2015 13:47:24 +0000
Subject: [PATCH 124/254] Cosmetic rst stuff.


---

diff --git a/README.rst b/README.rst
index 19b3ead..d9e78ed 100644
--- a/README.rst
+++ b/README.rst
@@ -17,8 +17,8 @@ Setup a python virtualenv::
     $ sudo dnf install python-virtualenvwrapper postgresql postgresql-devel
     $ mkvirtualenv hubs
 
-If the mkvirtualenv command returns "command not found..." you may need to 
-refresh your bash profile:
+If the mkvirtualenv command returns "command not found..." you may need to
+refresh your bash profile::
 
     $ source ~/.bashrc
 

From 4a8c189ecc80373de39f52a98e6492f4622598ac Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 01 2015 13:57:17 +0000
Subject: [PATCH 125/254] Some more README cleaning.


---

diff --git a/README.rst b/README.rst
index d9e78ed..6f9afee 100644
--- a/README.rst
+++ b/README.rst
@@ -5,7 +5,7 @@ The latest source is not on GitHub, it is on pagure.io.  You can find it at http
 
 Hacking
 -------
-Install fedora dependencies:
+Install fedora dependencies::
 
     $ sudo dnf install gcc gcc-c++ sqlite-devel 
 
@@ -44,14 +44,15 @@ With that, try running the app with::
     $ PYTHONPATH=. python populate.py  # To create the db
     $ PYTHONPATH=. python hubs/app.py  # To run the dev server
 
-And then navigate to http://localhost:5000/designteam
+And then navigate to http://localhost:5000/
 
 If you want to test it with 8 worker threads, try ``gunicorn``::
 
     $ pip install gunicorn
     $ gunicorn -w 8 hubs.app:app -t 60 --reload
 
-Hacking on Widgets one-liner::
+When hacking on widgets, it is useful to have this one-liner handy.  It removes
+the db alltogether, re-populates it, and restarts the app::
 
     $ rm /var/tmp/hubs.db; PYTHONPATH=. python populate.py; gunicorn -w 8 hubs.app:app
 
@@ -70,7 +71,7 @@ in the registry dict in ``hubs/widgets/__init__.py``.
 
 In order to be valid, a widget must have:
 
-- A ``data(request, session, widgets, **kwargs)`` function that returns a
+- A ``data(session, widgets, **kwargs)`` function that returns a
   jsonifiable dict of data.  This will get cached -- more on that later.
 - A ``template`` object that is a jinja2 template for that widget.
 - Optionally, a ``chrome`` decorator.

From 48c186cbd9a67ef4590a5081057e42ea60744fd5 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 01 2015 13:57:33 +0000
Subject: [PATCH 126/254] Remove some of the uncertain language now that more has been implemented.


---

diff --git a/README.rst b/README.rst
index 6f9afee..f905ded 100644
--- a/README.rst
+++ b/README.rst
@@ -59,13 +59,6 @@ the db alltogether, re-populates it, and restarts the app::
 Internal design
 ---------------
 
-There's no authn or user information at all currently.  There are only:
-
-- widgets
-- hubs (which are just collections of widgets)
-
-How things are currently (they don't have to stay this way):
-
 You write a new widget in the ``hubs/widgets/`` directory and must declare it
 in the registry dict in ``hubs/widgets/__init__.py``.
 
@@ -75,9 +68,6 @@ In order to be valid, a widget must have:
   jsonifiable dict of data.  This will get cached -- more on that later.
 - A ``template`` object that is a jinja2 template for that widget.
 - Optionally, a ``chrome`` decorator.
-
-This isn't implemented yet, but they're going to need:
-
 - A ``should_invalidate(message, session, widget)`` function that will be used to
   *potentially* invalidate the widget's cache. That function will get called by
   a backend daemon listening for fedmsg messages so when you update your group
@@ -94,10 +84,13 @@ Furthermore, a proposal:
   rendering all of the widgets asynchronously on the client.  It could be cool,
   but is new-ground for our team.
 
-Still more proposals:
+  Furthermore, we should likely use something like angular **or** backbone.js
+  to manage the data synchronization with those client-side templates.
+
+Some discussion on how to do pushed updates to web clients:
 
 - We could re-use the existing websocket service we have at
-  wss://hub.fedoraproject.org:9939 but it has some problems:
+  ``wss://hub.fedoraproject.org:9939`` but it has some problems:
 - It is very inflexible.  You can subscribe to fedmsg *topics* and then you
   receive the firehose of those topics. For a widget, we already have to write
   a 'cache invalidation' function that listens for messages and then somehow
@@ -125,8 +118,7 @@ worried *only* about these per-widget JSON responses.
 A picture is worth...
 ---------------------
 
-This is more "proposal" territory.  None of this is implemented, but here are
-some more details on how the whole thing should work together.
+Here are some more details on how the whole thing should work together.
 
 .. figure:: https://raw.githubusercontent.com/ralphbean/fedora-hubs-prototype/develop/docs/diagram.png
    :scale: 50 %

From cdedf8fc4680a6bd0e4ff1e7fb328bf05da1e10f Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 01 2015 14:35:58 +0000
Subject: [PATCH 127/254] Add instructions for how to set up datanommer/postgres.


---

diff --git a/README.rst b/README.rst
index f905ded..f476e39 100644
--- a/README.rst
+++ b/README.rst
@@ -1,10 +1,10 @@
 Source on Pagure.io
--------------------
+===================
 
 The latest source is not on GitHub, it is on pagure.io.  You can find it at https://pagure.io/fedora-hubs
 
 Hacking
--------
+=======
 Install fedora dependencies::
 
     $ sudo dnf install gcc gcc-c++ sqlite-devel 
@@ -56,8 +56,89 @@ the db alltogether, re-populates it, and restarts the app::
 
     $ rm /var/tmp/hubs.db; PYTHONPATH=. python populate.py; gunicorn -w 8 hubs.app:app
 
+Feed Widget - the Extra Mile
+----------------------------
+
+One widget (the big tamale -- the feed widget) requires more legwork to stand
+up.  If you just want to see how hubs works and you want to hack on other
+peripheral stuff around it, you don't need to bother with these steps.
+
+The feed widget requires a direct DB connection to the datanommer
+database; it can't proxy through datagrepper because it needs more
+flexibility.  To get this working, you're going to set up:
+
+- a postgres db
+- the datanommer daemon
+
+Start with some required packages::
+
+    $ sudo dnf install postgresql-server python-datanommer-consumer datanommer-commands fedmsg-hub
+
+And there are some support libraries you'll also need::
+
+    $ sudo dnf install python-psycopg2 python-fedmsg-meta-fedora-infrastructure
+
+Now, with packages installed, you need to tell postgres to create its initial filesystem layout::
+
+    $ sudo postgresql-setup initdb
+
+And then, we need to tweak its config to let us connect easily for development::
+
+    $ sudo vim /var/lib/pgsql/data/pg_hba.conf
+
+Change **two lines** from ``ident`` to ``trust``.  These two::
+
+    # IPv4 local connections:
+    host    all             all             127.0.0.1/32            trust
+    # IPv6 local connections:
+    host    all             all             ::1/128                 trust
+
+Start that beast up::
+
+    $ sudo systemctl start postgresql
+
+Now, with the db daemon configured and running, let's configure datanommer.  Edit this file::
+
+    $ sudo vim /etc/fedmsg.d/datanommer.py
+
+And do two things:  1) set enabled to ``True`` and 2) give it a real sqlalchemy url, like this::
+
+    config = {
+        'datanommer.enabled': True,
+        'datanommer.sqlalchemy.url': 'postgres://postgres:whatever@localhost/datanommer',
+    }
+
+Tell postgres that it should create space for a 'datanommer' database with this command::
+
+    $ sudo -u postgres psql -c "CREATE DATABASE datanommer;"
+
+And finally, tell datanommer to create all of its tables in that new db we just created::
+
+    $ datanommer-create-db
+
+Tell the fedmsg-hub daemon to restart itself.  It should pick up datanommer as a plugin and start handing messages to it::
+
+    $ sudo systemctl restart fedmsg-hub
+
+And then, wait a few seconds for a message to get nommed, and then you can
+check that it's working by running ``sudo datanommer-stats``.  It should print
+out some kind of summary about what kinds of messages are in the db now -- it
+will just grow and grow over time::
+
+    $ datanommer-stats
+    [2015-07-01 14:33:21][    fedmsg    INFO] buildsys has 70 entries
+    [2015-07-01 14:33:21][    fedmsg    INFO] faf has 7 entries
+    [2015-07-01 14:33:21][    fedmsg    INFO] copr has 6 entries
+    [2015-07-01 14:33:21][    fedmsg    INFO] askbot has 2 entries
+
+**Lastly**, (fingers crossed) start up the fedora-hubs webapp and load your
+profile page.  Once there are some messages that get into your local database
+that *should* show up on your feed.. they should appear there.  (At very least,
+you shouldn't get an error message about that widget being unable to be
+displayed).
+
 Internal design
----------------
+===============
 
 You write a new widget in the ``hubs/widgets/`` directory and must declare it
 in the registry dict in ``hubs/widgets/__init__.py``.

From f0f5c94fb614236e0605c352b5283108e2447a8b Mon Sep 17 00:00:00 2001
From: Máirín Duffy <duffy@redhat.com>
Date: Jul 01 2015 17:41:03 +0000
Subject: [PATCH 128/254] minor tweaks to styling on top bar to better resemble mockup visual design


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 2082a2a..dd536ac 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -10,10 +10,14 @@
       background: -o-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
       background: -moz-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
       background: linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
-      padding: 20px 20px 20px 0;
+      padding: 5px 12px 3px 12px;
       font-family: 'Open Sans', 'sans-serif';
       font-size: 12pt;
     }
+    
+    #logo { text-align: left; }
+  /*  #logo img { padding-left: 1em; }
+    */
     .bookmarks .navbar.navbar-default {
       background-color: #fff;
       margin-bottom: 0;
diff --git a/hubs/static/img/logo-hubs.png b/hubs/static/img/logo-hubs.png
new file mode 100644
index 0000000..88f5ffc
Binary files /dev/null and b/hubs/static/img/logo-hubs.png differ
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index d178a0e..891ce74 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -11,7 +11,8 @@
 <body>
 <div class="super-header">
   <div class="row">
-    <div class="col-md-4 col-md-offset-8">
+	<div class="col-md-4" id="logo"><img src="{{ url_for('static', filename='img/logo-hubs.png') }}" alt="Fedora Hubs"></div>
+    <div class="col-md-8">
       {% if g.auth.logged_in %}
         {# Logged in as #} {{ g.auth.nickname }}
       {% else %}

From 6fec8208a057e5e97b1aa98aef4a20db26f7b0a9 Mon Sep 17 00:00:00 2001
From: Máirín Duffy <duffy@redhat.com>
Date: Jul 01 2015 17:41:50 +0000
Subject: [PATCH 129/254] Merge branch 'develop' of pagure.io:fedora-hubs into develop


---

diff --git a/README.rst b/README.rst
index 0cc29bb..c4696c9 100644
--- a/README.rst
+++ b/README.rst
@@ -1,11 +1,11 @@
 Source on Pagure.io
--------------------
+===================
 
 The latest source is not on GitHub, it is on pagure.io.  You can find it at https://pagure.io/fedora-hubs
 
 Hacking
--------
-Install fedora dependencies:
+=======
+Install fedora dependencies::
 
     $ sudo dnf install gcc gcc-c++ sqlite-devel 
 
@@ -17,8 +17,8 @@ Setup a python virtualenv::
     $ sudo dnf install python-virtualenvwrapper postgresql postgresql-devel
     $ mkvirtualenv hubs
 
-If the mkvirtualenv command returns "command not found..." you may need to 
-refresh your bash profile:
+If the mkvirtualenv command returns "command not found..." you may need to
+refresh your bash profile::
 
     $ source ~/.bashrc
 
@@ -46,39 +46,111 @@ With that, try running the app with::
     $ PYTHONPATH=. python populate.py  # To create the db
     $ PYTHONPATH=. python hubs/app.py  # To run the dev server
 
-And then navigate to http://localhost:5000/designteam
+And then navigate to http://localhost:5000/
 
 If you want to test it with 8 worker threads, try ``gunicorn``::
 
     $ pip install gunicorn
     $ gunicorn -w 8 hubs.app:app -t 60 --reload
 
-Hacking on Widgets one-liner::
+When hacking on widgets, it is useful to have this one-liner handy.  It removes
+the db alltogether, re-populates it, and restarts the app::
 
     $ rm /var/tmp/hubs.db; PYTHONPATH=. python populate.py; gunicorn -w 8 hubs.app:app
 
-Internal design
----------------
+Feed Widget - the Extra Mile
+----------------------------
+
+One widget (the big tamale -- the feed widget) requires more legwork to stand
+up.  If you just want to see how hubs works and you want to hack on other
+peripheral stuff around it, you don't need to bother with these steps.
+
+The feed widget requires a direct DB connection to the datanommer
+database; it can't proxy through datagrepper because it needs more
+flexibility.  To get this working, you're going to set up:
+
+- a postgres db
+- the datanommer daemon
+
+Start with some required packages::
+
+    $ sudo dnf install postgresql-server python-datanommer-consumer datanommer-commands fedmsg-hub
+
+And there are some support libraries you'll also need::
+
+    $ sudo dnf install python-psycopg2 python-fedmsg-meta-fedora-infrastructure
+
+Now, with packages installed, you need to tell postgres to create its initial filesystem layout::
 
-There's no authn or user information at all currently.  There are only:
+    $ sudo postgresql-setup initdb
 
-- widgets
-- hubs (which are just collections of widgets)
+And then, we need to tweak its config to let us connect easily for development::
 
-How things are currently (they don't have to stay this way):
+    $ sudo vim /var/lib/pgsql/data/pg_hba.conf
+
+Change **two lines** from ``ident`` to ``trust``.  These two::
+
+    # IPv4 local connections:
+    host    all             all             127.0.0.1/32            trust
+    # IPv6 local connections:
+    host    all             all             ::1/128                 trust
+
+Start that beast up::
+
+    $ sudo systemctl start postgresql
+
+Now, with the db daemon configured and running, let's configure datanommer.  Edit this file::
+
+    $ sudo vim /etc/fedmsg.d/datanommer.py
+
+And do two things:  1) set enabled to ``True`` and 2) give it a real sqlalchemy url, like this::
+
+    config = {
+        'datanommer.enabled': True,
+        'datanommer.sqlalchemy.url': 'postgres://postgres:whatever@localhost/datanommer',
+    }
+
+Tell postgres that it should create space for a 'datanommer' database with this command::
+
+    $ sudo -u postgres psql -c "CREATE DATABASE datanommer;"
+
+And finally, tell datanommer to create all of its tables in that new db we just created::
+
+    $ datanommer-create-db
+
+Tell the fedmsg-hub daemon to restart itself.  It should pick up datanommer as a plugin and start handing messages to it::
+
+    $ sudo systemctl restart fedmsg-hub
+
+And then, wait a few seconds for a message to get nommed, and then you can
+check that it's working by running ``sudo datanommer-stats``.  It should print
+out some kind of summary about what kinds of messages are in the db now -- it
+will just grow and grow over time::
+
+    $ datanommer-stats
+    [2015-07-01 14:33:21][    fedmsg    INFO] buildsys has 70 entries
+    [2015-07-01 14:33:21][    fedmsg    INFO] faf has 7 entries
+    [2015-07-01 14:33:21][    fedmsg    INFO] copr has 6 entries
+    [2015-07-01 14:33:21][    fedmsg    INFO] askbot has 2 entries
+
+**Lastly**, (fingers crossed) start up the fedora-hubs webapp and load your
+profile page.  Once there are some messages that get into your local database
+that *should* show up on your feed.. they should appear there.  (At very least,
+you shouldn't get an error message about that widget being unable to be
+displayed).
+
+Internal design
+===============
 
 You write a new widget in the ``hubs/widgets/`` directory and must declare it
 in the registry dict in ``hubs/widgets/__init__.py``.
 
 In order to be valid, a widget must have:
 
-- A ``data(request, session, widgets, **kwargs)`` function that returns a
+- A ``data(session, widgets, **kwargs)`` function that returns a
   jsonifiable dict of data.  This will get cached -- more on that later.
 - A ``template`` object that is a jinja2 template for that widget.
 - Optionally, a ``chrome`` decorator.
-
-This isn't implemented yet, but they're going to need:
-
 - A ``should_invalidate(message, session, widget)`` function that will be used to
   *potentially* invalidate the widget's cache. That function will get called by
   a backend daemon listening for fedmsg messages so when you update your group
@@ -95,10 +167,13 @@ Furthermore, a proposal:
   rendering all of the widgets asynchronously on the client.  It could be cool,
   but is new-ground for our team.
 
-Still more proposals:
+  Furthermore, we should likely use something like angular **or** backbone.js
+  to manage the data synchronization with those client-side templates.
+
+Some discussion on how to do pushed updates to web clients:
 
 - We could re-use the existing websocket service we have at
-  wss://hub.fedoraproject.org:9939 but it has some problems:
+  ``wss://hub.fedoraproject.org:9939`` but it has some problems:
 - It is very inflexible.  You can subscribe to fedmsg *topics* and then you
   receive the firehose of those topics. For a widget, we already have to write
   a 'cache invalidation' function that listens for messages and then somehow
@@ -126,8 +201,7 @@ worried *only* about these per-widget JSON responses.
 A picture is worth...
 ---------------------
 
-This is more "proposal" territory.  None of this is implemented, but here are
-some more details on how the whole thing should work together.
+Here are some more details on how the whole thing should work together.
 
 .. figure:: https://raw.githubusercontent.com/ralphbean/fedora-hubs-prototype/develop/docs/diagram.png
    :scale: 50 %

From 7b58c22d817af3eb3df8e484a53c98874a1a188b Mon Sep 17 00:00:00 2001
From: Máirín Duffy <duffy@redhat.com>
Date: Jul 01 2015 17:45:12 +0000
Subject: [PATCH 130/254] cleanup of sloppiness in css file (whoops)


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index dd536ac..4a41492 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -10,14 +10,13 @@
       background: -o-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
       background: -moz-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
       background: linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
-      padding: 5px 12px 3px 12px;
+      padding: 5px 12px 5px 12px;
       font-family: 'Open Sans', 'sans-serif';
       font-size: 12pt;
     }
     
     #logo { text-align: left; }
-  /*  #logo img { padding-left: 1em; }
-    */
+
     .bookmarks .navbar.navbar-default {
       background-color: #fff;
       margin-bottom: 0;

From 78ee1277eeb5a842bc035906bc05d5af11c57ff0 Mon Sep 17 00:00:00 2001
From: Máirín Duffy <duffy@redhat.com>
Date: Jul 01 2015 17:50:43 +0000
Subject: [PATCH 131/254] removing branding from bookmark bar; making topbar branding more mobile-friendly

- branding was placed in bookmark bar to make the site more mobile-friendly
- i think maximizing bookmark real estate for desktop users is important tho
  which means removing the branding from the bar (plus the branding shouldn't
  go below the search and personal menu + private messaging)
- i used the bootstrap xs class to make the branding collapse nicely with
  the personal menu and private messaging areas on the topbar in
  mobile situations

---

diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 891ce74..2c39755 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -11,8 +11,8 @@
 <body>
 <div class="super-header">
   <div class="row">
-	<div class="col-md-4" id="logo"><img src="{{ url_for('static', filename='img/logo-hubs.png') }}" alt="Fedora Hubs"></div>
-    <div class="col-md-8">
+	<div class="col-md-4 col-xs-4" id="logo"><img src="{{ url_for('static', filename='img/logo-hubs.png') }}" alt="Fedora Hubs"></div>
+    <div class="col-md-8 col-xs-8">
       {% if g.auth.logged_in %}
         {# Logged in as #} {{ g.auth.nickname }}
       {% else %}
@@ -24,7 +24,6 @@
 <div class="bookmarks">
   <nav class="navbar navbar-default">
     <div class="container-fluid">
-      <!-- Brand and toggle get grouped for better mobile display -->
       <div class="navbar-header">
         <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
           <span class="sr-only">Toggle navigation</span>
@@ -32,7 +31,6 @@
           <span class="icon-bar"></span>
           <span class="icon-bar"></span>
         </button>
-        <a class="navbar-brand" href="#">Fedora Hubs</a>
       </div>
 
       <!-- Collect the nav links, forms, and other content for toggling -->

From 901d8483b03e77c0c606cd67f3dec2f43d0a4238 Mon Sep 17 00:00:00 2001
From: Máirín Duffy <duffy@redhat.com>
Date: Jul 01 2015 17:58:12 +0000
Subject: [PATCH 132/254] minor tweaks to topbar gradient to better match mockups' visual design


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 4a41492..598aecb 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -6,10 +6,10 @@
     }
     .super-header {
       text-align: right;
-      background: -webkit-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
-      background: -o-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
-      background: -moz-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
-      background: linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,1));
+      background: -webkit-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
+      background: -o-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
+      background: -moz-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
+      background: linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
       padding: 5px 12px 5px 12px;
       font-family: 'Open Sans', 'sans-serif';
       font-size: 12pt;

From 818702e34e770b4a22c5da49bbc8a7494db30f16 Mon Sep 17 00:00:00 2001
From: Máirín Duffy <duffy@redhat.com>
Date: Jul 01 2015 19:43:55 +0000
Subject: [PATCH 133/254] styling the bookmarks bar to better match the mockup vis design


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 598aecb..058bce7 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -18,10 +18,28 @@
     #logo { text-align: left; }
 
     .bookmarks .navbar.navbar-default {
-      background-color: #fff;
+      background: -webkit-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
+      background: -o-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
+      background: -moz-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
+      background: linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
       margin-bottom: 0;
       text-align: center;
     }
+    
+    .bookmarks .navbar-nav > li > a {
+      padding-bottom: 4.5px;
+      padding-top: 4.5px;
+    }
+
+    /* Bookmarks Bar: active nav item styling */
+    .bookmarks .nav > .active > a,
+    .bookmarks .nav > .active > a:hover,
+    .bookmarks .nav > .active > a:focus {
+      color: #3c6eb4;
+      background-color: transparent;
+      border-bottom: 3px solid #3c6eb4;
+    }
+    
     .header {
       color: #ffffff;
       background-color: #3c6eb4;

From fabe1242212b33f59653a8295258f43c62576a26 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 02 2015 22:05:18 +0000
Subject: [PATCH 134/254] minor styling to widget panels


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 058bce7..3618ce2 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -66,6 +66,7 @@
       visibility: hidden;
       max-height: 0px;
       overflow: hidden;
+      border: 0;
       transition: max-height 0.4s;
     }
 
@@ -74,7 +75,19 @@
       max-height: 100%;
     }
 
-//flexbox support
+/* generic widget styling */
+.widget .panel-default > .panel-heading {
+    font-family: 'Open Sans', 'sans-serif';
+    color: #fff;
+    background-color: #a7a9ac;
+    border-radius: 0;
+}
+
+.widget .panel-default > .panel-heading h3 {
+    font-weight: 700;
+}
+
+/* flexbox support */
 .flex-container {
     display: flex;
     flex-direction: row;
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 2c39755..e8587e6 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -66,7 +66,7 @@
 
     <div class="col-md-{{ hub.right_width }}">
       {% for widget in hub.right_widgets %}
-      <div id="widget-{{ widget.idx }}" class="row"></div>
+      <div id="widget-{{ widget.idx }}" class="widget row"></div>
       {% endfor %}
     </div>
   </div>

From d198ee58283424d6625788d1c9ee0cc5759db088 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 06 2015 19:55:41 +0000
Subject: [PATCH 135/254] Avatars for hubs.


---

diff --git a/hubs/models.py b/hubs/models.py
index ae2639e..0768e92 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -24,6 +24,7 @@
 import datetime
 import json
 import logging
+import random
 
 import sqlalchemy as sa
 from sqlalchemy import create_engine
@@ -38,6 +39,7 @@ import fedmsg.utils
 
 import hubs.defaults
 import hubs.widgets
+from hubs.utils import username2avatar
 
 
 class HubsBase(object):
@@ -58,6 +60,10 @@ BASE = declarative_base(cls=HubsBase)
 log = logging.getLogger(__name__)
 
 
+placekitten = lambda: "https://placekitten.com/g/%i/%i" % (
+    random.randint(150,350), random.randint(150, 350))
+
+
 def init(db_url, debug=False, create=False):
     """ Create the tables in the database using the information from the
     url obtained.
@@ -87,6 +93,9 @@ class Hub(BASE):
     widgets = relation('Widget', backref=backref('hub'))
     left_width = sa.Column(sa.Integer, nullable=False, default=8)
 
+    # A URL to the "avatar" for this hub.
+    avatar = sa.Column(sa.String(256), default=placekitten)
+
     #fas_group = sa.Column(sa.String(32), nullable=False)
 
     # This is just some silly dev data.  eventually, connect this
@@ -103,7 +112,8 @@ class Hub(BASE):
 
     @classmethod
     def create_user_hub(cls, session, username, fullname):
-        hub = cls(name=username, summary=fullname)
+        hub = cls(name=username, summary=fullname,
+                  avatar=username2avatar(username))
         session.add(hub)
         hubs.defaults.add_user_widgets(session, hub, username, fullname)
 
@@ -195,10 +205,15 @@ class User(BASE):
     fullname = sa.Column(sa.Text)
     created_on = sa.Column(sa.DateTime, default=datetime.datetime.utcnow)
 
+    @property
+    def avatar(self):
+        return username2avatar(self.username)
+
     def __json__(self, session):
         return {
             'username': self.username,
             'openid': self.openid,
+            'avatar': self.avatar,
             'fullname': self.fullname,
             'created_on': self.created_on,
             # We'll need hubs subscribed to, owned, etc..
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index e8587e6..9ba55ee 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -50,6 +50,7 @@
 </div>
 <div class="header">
   <div class="padded center-block medium-wide">
+    <img src="{{hub.avatar}}" />
     <h3>{{hub.name}}</h3>
     <h5>{{hub.summary}}</h5>
   </div>

From d52d7e79d3e989c39c86c9cdc5c4570a2c680ea5 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 06 2015 21:23:05 +0000
Subject: [PATCH 136/254] Start an association table for hubs/users.


---

diff --git a/hubs/models.py b/hubs/models.py
index 0768e92..40fbb0b 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -85,6 +85,24 @@ def init(db_url, debug=False, create=False):
     return scoped_session(sessionmaker(bind=engine))
 
 
+roles = ['subscriber', 'member', 'owner']
+
+
+class Association(BASE):
+    __tablename__ = 'association'
+
+    hub_id = sa.Column(sa.String(50),
+                       sa.ForeignKey('hubs.name'),
+                       primary_key=True)
+    user_id = sa.Column(sa.Text,
+                        sa.ForeignKey('users.openid'),
+                        primary_key=True)
+    role = sa.Column(sa.Enum(*roles), nullable=False)
+
+    user = relation("User", backref="associations")
+    hub = relation("Hub", backref="associations")
+
+
 class Hub(BASE):
     __tablename__ = 'hubs'
     name = sa.Column(sa.String(50), primary_key=True)
@@ -104,6 +122,14 @@ class Hub(BASE):
     members = ['ralph', 'sadin', 'sayan'] + owners
     subscribers = []
 
+
+    def subscribe(self, session, user):
+        # TODO -- add logic here to manage not adding the user multiple
+        # times, doing different roles, etc.. publish a fedmsg message,
+        # etc...
+        session.add(Association(user=user, hub=self, role='subscriber'))
+        session.commit()
+
     @classmethod
     def by_name(cls, session, name):
         return session.query(cls).filter_by(name=name).first()
@@ -245,5 +271,10 @@ class User(BASE):
             session.add(self)
             if not Hub.by_name(session, self.username):
                 Hub.create_user_hub(session, self.username, self.fullname)
+
+            # Subscribe self to some default hubs for now..
+            hub = Hub.by_name(session, 'designteam')
+            hub.subscribe(session, self)
+
             session.commit()
         return self
diff --git a/populate.py b/populate.py
index 0742abc..d8efe61 100755
--- a/populate.py
+++ b/populate.py
@@ -10,6 +10,7 @@ fedmsg_config = fedmsg.config.load_config()
 
 session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'], True, True)
 
+############## Infra team
 hub = hubs.models.Hub(name='designteam', summary='The Fedora Design Team')
 session.add(hub)
 
@@ -39,5 +40,35 @@ hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
 hub.widgets.append(widget)
 
-session.commit()
 
+############## Infra team
+hub = hubs.models.Hub(name='infrastructure', summary='The Fedora Infrastructure Team')
+session.add(hub)
+
+widget = hubs.models.Widget(plugin='stats', index=0)
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='rules', index=1,
+                            _config=json.dumps({
+                                'link': 'http://threebean.org'
+                            }))
+hub.widgets.append(widget)
+
+widget = hubs.models.Widget(plugin='dummy', index=2)
+hub.widgets.append(widget)
+
+# Added a hubs about widget
+widget = hubs.models.Widget(plugin='about', index=3,
+                            _config=json.dumps({
+                                "text": "I'm a Fedora user, and this is my about widget text!",
+                            }))
+hub.widgets.append(widget)
+
+widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
+                            _config=json.dumps({
+                                'text': 'This is a sticky note.',
+                            }))
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
+hub.widgets.append(widget)
+
+session.commit()

From c2e485d0b6744d79a919f475f1cfb16af78af4d8 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 06 2015 22:05:29 +0000
Subject: [PATCH 137/254] styles for splash avatar


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 3618ce2..d380c5e 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -1,9 +1,7 @@
    body {
       background-color: #d1d3d4;
     }
-    .panel {
-      border-radius: 0px;
-    }
+
     .super-header {
       text-align: right;
       background: -webkit-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
@@ -44,6 +42,13 @@
       color: #ffffff;
       background-color: #3c6eb4;
       width: 100%;
+      height:85px;
+    }
+    .header img.avatar {
+        width: 75px;
+        float: left;
+        margin: 0 15px;
+        display: inline;
     }
     .row {
       padding: 5px;
@@ -67,6 +72,7 @@
       max-height: 0px;
       overflow: hidden;
       border: 0;
+      border-radius:0px;
       transition: max-height 0.4s;
     }
 
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 9ba55ee..25d1ca4 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -50,7 +50,7 @@
 </div>
 <div class="header">
   <div class="padded center-block medium-wide">
-    <img src="{{hub.avatar}}" />
+    <img src="{{hub.avatar}}" class="avatar" />
     <h3>{{hub.name}}</h3>
     <h5>{{hub.summary}}</h5>
   </div>

From ec0b7a4cc5a5760ace26f84f09c8200f19b9f92d Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 00:57:44 +0000
Subject: [PATCH 138/254] Link to "my hubs" loosely in the nav bar.


---

diff --git a/hubs/app.py b/hubs/app.py
index 74ea4af..f5262d4 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -182,16 +182,12 @@ def login_required(function):
 @app.before_request
 def check_auth():
     flask.g.fedmsg_config = fedmsg_config
-    flask.g.auth = munch.Munch(
-        logged_in=False,
-        method=None,
-        id=None,
-    )
+    flask.g.auth = munch.Munch(logged_in=False)
     if 'openid' in flask.session:
         openid = flask.session.get('openid').strip('/').split('/')[-1]
         flask.g.auth.logged_in = True
-        flask.g.auth.method = u'openid'
         flask.g.auth.openid = openid
+        flask.g.auth.user = hubs.models.User.by_openid(session, openid)
         flask.g.auth.openid_url = flask.session.get('openid')
         flask.g.auth.fullname = flask.session.get('fullname', None)
         flask.g.auth.nickname = flask.session.get('nickname', None)
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 9ba55ee..8122eb0 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -36,13 +36,16 @@
       <!-- Collect the nav links, forms, and other content for toggling -->
       <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
         <ul class="nav navbar-nav">
-          <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
-          <li><a href="#">Link</a></li>
-          <li><a href="#">Action</a></li>
-          <li><a href="#">Another action</a></li>
-          <li><a href="#">Something else here</a></li>
+          {% if g.auth.logged_in %}
+          <li {% if request.path.endswith('/' + g.auth.user.username + '/') %}class='active'{% endif %}>
+            <a href="/{{g.auth.user.username}}">me</a></li>
+          {% for assoc in g.auth.user.associations %}
+          <li {% if request.path.endswith('/' + assoc.hub.name + '/') %}class='active'{% endif %}>
+          <a href="/{{assoc.hub.name}}">{{assoc.hub.name}}</a></li>
+          {% endfor %}
           <li class="divider"></li>
-          <li><a href="#">Separated link</a></li>          
+          <li><a href="#">Separated link</a></li>
+          {% endif %}
         </ul>
       </div><!-- /.navbar-collapse -->
     </div><!-- /.container-fluid -->

From a6bd04b00b3a6fdfdcd7715f315b3899053fbe66 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 00:58:25 +0000
Subject: [PATCH 139/254] Merge branch 'develop' of pagure.io:fedora-hubs into develop


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 3618ce2..d380c5e 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -1,9 +1,7 @@
    body {
       background-color: #d1d3d4;
     }
-    .panel {
-      border-radius: 0px;
-    }
+
     .super-header {
       text-align: right;
       background: -webkit-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
@@ -44,6 +42,13 @@
       color: #ffffff;
       background-color: #3c6eb4;
       width: 100%;
+      height:85px;
+    }
+    .header img.avatar {
+        width: 75px;
+        float: left;
+        margin: 0 15px;
+        display: inline;
     }
     .row {
       padding: 5px;
@@ -67,6 +72,7 @@
       max-height: 0px;
       overflow: hidden;
       border: 0;
+      border-radius:0px;
       transition: max-height 0.4s;
     }
 
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 8122eb0..ec46105 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -53,7 +53,7 @@
 </div>
 <div class="header">
   <div class="padded center-block medium-wide">
-    <img src="{{hub.avatar}}" />
+    <img src="{{hub.avatar}}" class="avatar" />
     <h3>{{hub.name}}</h3>
     <h5>{{hub.summary}}</h5>
   </div>

From e97b5440667fe0bcc5e3bad432e6f40be6d3bd3f Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 14:46:34 +0000
Subject: [PATCH 140/254] Introduce some logging config.


---

diff --git a/README.rst b/README.rst
index c4696c9..0056e6e 100644
--- a/README.rst
+++ b/README.rst
@@ -51,12 +51,12 @@ And then navigate to http://localhost:5000/
 If you want to test it with 8 worker threads, try ``gunicorn``::
 
     $ pip install gunicorn
-    $ gunicorn -w 8 hubs.app:app -t 60 --reload
+    $ gunicorn -w 8 -t 60 --log-config logging.ini --reload hubs.app:app
 
 When hacking on widgets, it is useful to have this one-liner handy.  It removes
 the db alltogether, re-populates it, and restarts the app::
 
-    $ rm /var/tmp/hubs.db; PYTHONPATH=. python populate.py; gunicorn -w 8 hubs.app:app
+    $ rm /var/tmp/hubs.db; PYTHONPATH=. python populate.py; gunicorn -w 8 -t 60 --log-config logging.ini hubs.app:app
 
 Feed Widget - the Extra Mile
 ----------------------------
diff --git a/logging.ini b/logging.ini
new file mode 100644
index 0000000..3512fa6
--- /dev/null
+++ b/logging.ini
@@ -0,0 +1,23 @@
+# From https://docs.python.org/2/howto/logging.html
+[loggers]
+keys=root
+
+[handlers]
+keys=console
+
+[formatters]
+keys=simple
+
+[logger_root]
+level=DEBUG
+handlers=console
+
+[handler_console]
+class=StreamHandler
+level=DEBUG
+formatter=simple
+args=(sys.stdout,)
+
+[formatter_simple]
+format=[%(asctime)s][%(process)d][%(levelname)s] (%(name)s) %(message)s
+datefmt=%H:%M:%S

From 0d0c309de1ad22a31043e61dc84444131a610adb Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 14:47:08 +0000
Subject: [PATCH 141/254] Start using the new associations model stuff in some widgets to test it out.


---

diff --git a/hubs/models.py b/hubs/models.py
index 40fbb0b..8c7a51a 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -116,18 +116,26 @@ class Hub(BASE):
 
     #fas_group = sa.Column(sa.String(32), nullable=False)
 
-    # This is just some silly dev data.  eventually, connect this
-    # to real database data.
-    owners = ['tatica', 'gnokii', 'duffy', 'ryanlerch']
-    members = ['ralph', 'sadin', 'sayan'] + owners
-    subscribers = []
+    @property
+    def owners(self):
+        return [assoc.user for assoc in self.associations
+                if assoc.role == 'owner']
+    @property
+    def members(self):
+        return [assoc.user for assoc in self.associations
+                if assoc.role == 'member' or assoc.role =='owner']
 
+    @property
+    def subscribers(self):
+        return [assoc.user for assoc in self.associations
+                if assoc.role == 'subscriber']
 
-    def subscribe(self, session, user):
+    def subscribe(self, session, user, role='subscriber'):
+        """ Subscribe a user to this hub. """
         # TODO -- add logic here to manage not adding the user multiple
         # times, doing different roles, etc.. publish a fedmsg message,
         # etc...
-        session.add(Association(user=user, hub=self, role='subscriber'))
+        session.add(Association(user=user, hub=self, role=role))
         session.commit()
 
     @classmethod
@@ -231,15 +239,12 @@ class User(BASE):
     fullname = sa.Column(sa.Text)
     created_on = sa.Column(sa.DateTime, default=datetime.datetime.utcnow)
 
-    @property
-    def avatar(self):
-        return username2avatar(self.username)
 
     def __json__(self, session):
         return {
             'username': self.username,
             'openid': self.openid,
-            'avatar': self.avatar,
+            'avatar': username2avatar(self.username),
             'fullname': self.fullname,
             'created_on': self.created_on,
             # We'll need hubs subscribed to, owned, etc..
@@ -272,9 +277,5 @@ class User(BASE):
             if not Hub.by_name(session, self.username):
                 Hub.create_user_hub(session, self.username, self.fullname)
 
-            # Subscribe self to some default hubs for now..
-            hub = Hub.by_name(session, 'designteam')
-            hub.subscribe(session, self)
-
             session.commit()
         return self
diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index ae36938..3a1dd16 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -42,7 +42,7 @@ template = jinja2.Template("""
           help="Link to the community rules and guidelines")
 def data(session, widget, link):
     owners = widget.hub.owners
-    owners = ordereddict([(o, avatar(o)) for o in owners])
+    owners = ordereddict([(o.username, avatar(o.username)) for o in owners])
     return dict(owners=owners, link=link)
 
 
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 1826c62..67a0e26 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -8,17 +8,28 @@ template = jinja2.Template("""
 <div class="stats-container">
   <table class="stats-table">
     <tr><th>Members</th><th>Subscribers</th></tr>
-    <tr class="text-info"><td>{{members}}</td><td>{{subscribers}}</td></tr>
+    <tr class="text-info"><td>{{members | length}}</td><td>{{subscribers | length}}</td></tr>
   </table>
-  <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
+  {% if g.auth.logged_in %}
+    {% if g.auth.nickname in members %}
+    <div class="pull-right"><button class="btn btn-danger">Resign</button></div>
+    {% elif g.auth.nickname in subscribers %}
+    <div class="pull-right"><button class="btn btn-warning">Unsubscribe</button></div>
+    {% else %}
+    <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
+    {% endif %}
+  {% else %}
+    <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
+  {% endif %}
 </div>
 """)
 
 
 def data(session, widget):
     return dict(
-        members=len(widget.hub.members),
-        subscribers=len(widget.hub.subscribers),
+        owners=[u.username for u in widget.hub.owners],
+        members=[u.username for u in widget.hub.members],
+        subscribers=[u.username for u in widget.hub.subscribers],
     )
 
 
diff --git a/populate.py b/populate.py
index d8efe61..3c517f4 100755
--- a/populate.py
+++ b/populate.py
@@ -10,6 +10,18 @@ fedmsg_config = fedmsg.config.load_config()
 
 session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'], True, True)
 
+users = ['mrichard', 'duffy', 'ryanlerch', 'gnokii', 'nask0',
+         'abompard', 'decause', 'ralph']
+for username in users:
+    fullname = 'Full Name Goes Here'
+    openid = '%s.id.fedoraproject.org' % username
+    print "Creating account for %r" % openid
+    hubs.models.User.get_or_create(
+        session, openid=openid, fullname=fullname)
+
+session.commit()
+
+
 ############## Infra team
 hub = hubs.models.Hub(name='designteam', summary='The Fedora Design Team')
 session.add(hub)
@@ -41,6 +53,16 @@ widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
 hub.widgets.append(widget)
 
 
+# Set up some memberships
+hub.subscribe(session, hubs.models.User.by_openid(session, 'duffy.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'ryanlerch.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'gnokii.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'mrichard.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'nask0.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'decause.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'ralph.id.fedoraproject.org'), 'subscriber')
+
+
 ############## Infra team
 hub = hubs.models.Hub(name='infrastructure', summary='The Fedora Infrastructure Team')
 session.add(hub)
@@ -71,4 +93,10 @@ hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
 hub.widgets.append(widget)
 
+
+hub.subscribe(session, hubs.models.User.by_openid(session, 'ralph.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'abompard.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'nask0.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'decause.id.fedoraproject.org'), 'subscriber')
+
 session.commit()

From 36ddde24f722da4a3cde7e0db73b0b85cd9b2fa7 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 14:47:21 +0000
Subject: [PATCH 142/254] Fix a cache key collision bug.


---

diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 94ffaa2..5f4d01b 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -71,7 +71,8 @@ def prepare_registry(registry):
         module.data = AGPLv3(name)(module.data)
 
         # Wrap the data functions in a cache layer to be invalidated by fedmsg
-        module.data = smartcache(module)(module.data)
+        # TODO -- we could just do this with a decorator to be explicit..
+        module.data = smartcache(module.data)
 
 
 validate_registry(registry)
diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index e0d1581..4550448 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -9,6 +9,9 @@ import six.moves.urllib_parse
 
 import fedmsg.config
 
+import logging
+log = logging.getLogger(__name__)
+
 config = fedmsg.config.load_config()
 cache_defaults = {
     "backend": "dogpile.cache.dbm",
@@ -48,26 +51,26 @@ def AGPLv3(name):
     return decorator
 
 
-def smartcache(module):
-    def decorator(func):
-        @wraps(func)
-        def inner(session, widget, *args, **kwargs):
-            key = cache_key_generator(module, args, kwargs)
-            creator = lambda: func(session, widget, *args, **kwargs)
-            return cache.get_or_create(key, creator)
+def smartcache(func):
+    @wraps(func)
+    def inner(session, widget, *args, **kwargs):
+        key = cache_key_generator(widget, args, kwargs)
+        creator = lambda: func(session, widget, *args, **kwargs)
+        log.debug("Accessing cache key %s", key)
+        return cache.get_or_create(key, creator)
 
-        return inner
-    return decorator
+    return inner
 
 
-def invalidate_cache(module, *args, **kwargs):
-    key = cache_key_generator(module, *args, **kwargs)
+def invalidate_cache(widget, *args, **kwargs):
+    key = cache_key_generator(widget, *args, **kwargs)
+    log.debug("Deleting cache key %s", key)
     cache.delete(key)
 
 
-def cache_key_generator(module, args, kwargs):
+def cache_key_generator(widget, args, kwargs):
     return "|".join([
-        module.__name__,
+        str(widget.idx),
         json.dumps(args),
         json.dumps(kwargs),
     ]).encode('utf-8')

From 748f55bc2a57e7a3183024e7c5a0854c53077ea8 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 15:02:37 +0000
Subject: [PATCH 143/254] Update signature on this function call.


---

diff --git a/hubs/consumer.py b/hubs/consumer.py
index 81c4717..bd7345e 100644
--- a/hubs/consumer.py
+++ b/hubs/consumer.py
@@ -127,7 +127,7 @@ class CacheInvalidatorExtraordinaire(fedmsg.consumers.FedmsgConsumer):
             if check(msg, session, widget):
                 log.info("! Invalidating cache for %r" % widget)
                 # Invalidate the cache...
-                invalidate_cache(widget.module, **widget.config)
+                invalidate_cache(widget, **widget.config)
                 # Rebuild it.
                 widget.module.data(session, widget, **widget.config)
                 # TODO -- fire off an EventSource notice that we updated stuff

From 4788d7a0a2a6b4b5291aff888726a25d0800710e Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 15:57:10 +0000
Subject: [PATCH 144/254] Add a subscriptions widget.


---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index 9646f8e..80f4520 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -48,7 +48,13 @@ def add_user_widgets(session, hub, username, fullname):
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='badges', index=4,
+        plugin='subscriptions', index=4,
+        _config=json.dumps({
+            'username': username,
+        }))
+    hub.widgets.append(widget)
+    widget = hubs.models.Widget(
+        plugin='badges', index=5,
         _config=json.dumps({
             'username': username,
         }))
diff --git a/hubs/models.py b/hubs/models.py
index 8c7a51a..eed4163 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -252,10 +252,28 @@ class User(BASE):
         }
 
     @property
+    def ownerships(self):
+        return [assoc.hub for assoc in self.associations
+                if assoc.role == 'owner']
+    @property
+    def memberships(self):
+        return [assoc.hub for assoc in self.associations
+                if assoc.role == 'member' or assoc.role =='owner']
+
+    @property
+    def subscriptions(self):
+        return [assoc.hub for assoc in self.associations
+                if assoc.role == 'subscriber']
+
+    @property
     def username(self):
         return self.openid.split('.')[0]
 
     @classmethod
+    def by_username(cls, session, username):
+        return cls.by_openid(session, "%s.id.fedoraproject.org" % username)
+
+    @classmethod
     def by_openid(cls, session, openid):
         return session.query(cls).filter_by(openid=openid).first()
 
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 5f4d01b..b644707 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -8,6 +8,7 @@ from hubs.widgets import badges
 from hubs.widgets import fedmsgs
 from hubs.widgets import fedmsgstats
 from hubs.widgets import feed
+from hubs.widgets import subscriptions
 
 from hubs.widgets.workflow import pendingacls
 from hubs.widgets.workflow import updates2stable
@@ -25,6 +26,7 @@ registry = {
     'fedmsgs': fedmsgs,
     'fedmsgstats': fedmsgstats,
     'feed': feed,
+    'subscriptions': subscriptions,
 
     'workflow.pendingacls': pendingacls,
     'workflow.updates2stable': updates2stable,
diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
new file mode 100644
index 0000000..f37819f
--- /dev/null
+++ b/hubs/widgets/subscriptions.py
@@ -0,0 +1,48 @@
+#from hubs.hinting import hint, prefixed as _
+from hubs.widgets.base import argument
+from hubs.widgets.chrome import panel
+
+from hubs import validators
+
+import hubs.models
+
+from fedmsg.meta.base import BaseConglomerator as BC
+
+import jinja2
+
+chrome = panel('Hubs', key='associations')
+template = jinja2.Template("""
+{% if associations %}
+    {% if memberships %}
+        <p>Belongs to: {{memberships_text}}</p>
+    {% endif %}
+    <hr/>
+    {% if subscriptions %}
+        <p>Subscribes to: {{subscriptions_text}}</p>
+    {% endif %}
+{% endif %}
+""")
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+def data(session, widget, username):
+    user = hubs.models.User.by_username(session, username)
+    ownerships = [u.name for u in user.ownerships]
+    memberships = [u.name for u in user.memberships]
+    subscriptions = [u.name for u in user.subscriptions]
+    return dict(
+        associations=memberships + ownerships,
+        ownerships=ownerships,
+        memberships=memberships,
+        subscriptions=subscriptions,
+        ownerships_text=BC.list_to_series(ownerships),
+        memberships_text=BC.list_to_series(memberships),
+        subscriptions_text=BC.list_to_series(subscriptions),
+    )
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError()

From c4b8128223c0d27ec8af32bd00cc860cf233d9c0 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 15:57:28 +0000
Subject: [PATCH 145/254] Add a link to each widget to pop it out and view it individually.


---

diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index 4550448..995125c 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -42,9 +42,11 @@ def argument(name, default, validator, help):
 def AGPLv3(name):
     def decorator(func):
         @wraps(func)
-        def inner(*args, **kwargs):
-            result = func(*args, **kwargs)
+        def inner(session, widget, *args, **kwargs):
+            result = func(session, widget, *args, **kwargs)
             result['source_url'] = flask.url_for('widget_source', name=name)
+            result['widget_url'] = flask.url_for(
+                'widget_render', hub=widget.hub.name, idx=widget.idx)
             return result
 
         return inner
diff --git a/hubs/widgets/chrome.py b/hubs/widgets/chrome.py
index de38df1..6a313aa 100644
--- a/hubs/widgets/chrome.py
+++ b/hubs/widgets/chrome.py
@@ -8,6 +8,7 @@ _panel_template = jinja2.Template("""
   <div class="pull-right widget-buttons">
     <!-- the AGPLv3 wrapper puts the source url in all responses -->
     <a href="{{source_url}}"><span class="glyphicon glyphicon-eye-open"></span></a>
+    <a href="{{widget_url}}"><span class="glyphicon glyphicon-new-window"></span></a>
     <a href="#"><span class="glyphicon glyphicon-edit"></span></a>
   </div>
   <div class="panel-body">

From bca51247f2da09fe84bdecbe5c5641fa6ef31f7e Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 15:57:51 +0000
Subject: [PATCH 146/254] Show only a user's 10 latest badges.


---

diff --git a/hubs/widgets/badges.py b/hubs/widgets/badges.py
index 4e6234d..fe99525 100644
--- a/hubs/widgets/badges.py
+++ b/hubs/widgets/badges.py
@@ -1,3 +1,5 @@
+import operator
+
 import requests
 
 from hubs.hinting import hint, prefixed as _
@@ -11,7 +13,7 @@ import hubs.validators as validators
 
 template = jinja2.Template("""
 <div class="flex-container">
-{% for badge in assertions %}
+{% for badge in assertions[:10] %}
     <img width="19%" src="{{badge['image']}}"/>
 {%endfor%}
 </div>
@@ -29,7 +31,9 @@ def data(session, widget, username):
     url = "https://badges.fedoraproject.org/user/{username}/json"
     url = url.format(username=username)
     response = requests.get(url)
-    return response.json()
+    assertions = response.json()['assertions']
+    key = operator.itemgetter('issued')
+    return dict(assertions=sorted(assertions, key=key, reverse=True))
 
 
 @hint(topics=[_('hubs.widget.update'), _('fedbadges.badge.award')])

From 9422e5a7b459bb0e800225f90e15c5c3378a7605 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 16:11:36 +0000
Subject: [PATCH 147/254] Turn badges icons into links.


---

diff --git a/hubs/widgets/badges.py b/hubs/widgets/badges.py
index fe99525..1018c3d 100644
--- a/hubs/widgets/badges.py
+++ b/hubs/widgets/badges.py
@@ -14,7 +14,8 @@ import hubs.validators as validators
 template = jinja2.Template("""
 <div class="flex-container">
 {% for badge in assertions[:10] %}
-    <img width="19%" src="{{badge['image']}}"/>
+  <a width="60px" href="https://badges.fedoraproject.org/badge/{{badge['id']}}">
+    <img width="60px" src="{{badge['image']}}"/></a>
 {%endfor%}
 </div>
 """)

From b3323f68202432134c64dfa8c2af516dd8e2c502 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 16:19:35 +0000
Subject: [PATCH 148/254] Enough with the randomness.


---

diff --git a/hubs/models.py b/hubs/models.py
index eed4163..9933dd6 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -60,8 +60,7 @@ BASE = declarative_base(cls=HubsBase)
 log = logging.getLogger(__name__)
 
 
-placekitten = lambda: "https://placekitten.com/g/%i/%i" % (
-    random.randint(150,350), random.randint(150, 350))
+placekitten = lambda: "https://placekitten.com/g/320/320"
 
 
 def init(db_url, debug=False, create=False):

From 380ae697c19d4c29262a6b9bdbb041204e8375f8 Mon Sep 17 00:00:00 2001
From: Luke Macken <lmacken@redhat.com>
Date: Jul 07 2015 16:35:17 +0000
Subject: [PATCH 149/254] Get populate.py working on Python 3


---

diff --git a/populate.py b/populate.py
index 3c517f4..9e02e82 100755
--- a/populate.py
+++ b/populate.py
@@ -15,7 +15,7 @@ users = ['mrichard', 'duffy', 'ryanlerch', 'gnokii', 'nask0',
 for username in users:
     fullname = 'Full Name Goes Here'
     openid = '%s.id.fedoraproject.org' % username
-    print "Creating account for %r" % openid
+    print("Creating account for %r" % openid)
     hubs.models.User.get_or_create(
         session, openid=openid, fullname=fullname)
 

From 16c1482c2ce81a87bf5a89d0597d4f32b3aba963 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 07 2015 16:56:18 +0000
Subject: [PATCH 150/254] splash styles


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index d380c5e..008bcb2 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -42,13 +42,17 @@
       color: #ffffff;
       background-color: #3c6eb4;
       width: 100%;
-      height:85px;
+      font-family: 'Open Sans', sans-serif;
     }
     .header img.avatar {
-        width: 75px;
+        width: 70px;
         float: left;
         margin: 0 15px;
         display: inline;
+        border: 5px solid #fff;
+    }
+    .header h3 {
+        font-weight: 700;
     }
     .row {
       padding: 5px;
@@ -57,8 +61,16 @@
       padding: 5px;
     }
     .medium-wide {
-      width: 250px;
+      width: 300px;
     }
+
+@media (max-width: 320px) {
+  .medium-wide {
+    width: 100%;
+    text-align: center;
+  }
+}
+
     h1, h2, h3, h4, h5, h6 {
       margin-top: 0px;
       margin-bottom: 0px;
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index ec46105..06d45a5 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -56,6 +56,7 @@
     <img src="{{hub.avatar}}" class="avatar" />
     <h3>{{hub.name}}</h3>
     <h5>{{hub.summary}}</h5>
+    <div class="clearfix"></div>
   </div>
 </div>
 <div class="container">

From 63b19b0da5fa866c780c414e7718975749296eee Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 07 2015 16:56:38 +0000
Subject: [PATCH 151/254] Merge branch 'develop' of pagure.io:fedora-hubs into develop


---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index 9646f8e..80f4520 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -48,7 +48,13 @@ def add_user_widgets(session, hub, username, fullname):
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='badges', index=4,
+        plugin='subscriptions', index=4,
+        _config=json.dumps({
+            'username': username,
+        }))
+    hub.widgets.append(widget)
+    widget = hubs.models.Widget(
+        plugin='badges', index=5,
         _config=json.dumps({
             'username': username,
         }))
diff --git a/hubs/models.py b/hubs/models.py
index 8c7a51a..9933dd6 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -60,8 +60,7 @@ BASE = declarative_base(cls=HubsBase)
 log = logging.getLogger(__name__)
 
 
-placekitten = lambda: "https://placekitten.com/g/%i/%i" % (
-    random.randint(150,350), random.randint(150, 350))
+placekitten = lambda: "https://placekitten.com/g/320/320"
 
 
 def init(db_url, debug=False, create=False):
@@ -252,10 +251,28 @@ class User(BASE):
         }
 
     @property
+    def ownerships(self):
+        return [assoc.hub for assoc in self.associations
+                if assoc.role == 'owner']
+    @property
+    def memberships(self):
+        return [assoc.hub for assoc in self.associations
+                if assoc.role == 'member' or assoc.role =='owner']
+
+    @property
+    def subscriptions(self):
+        return [assoc.hub for assoc in self.associations
+                if assoc.role == 'subscriber']
+
+    @property
     def username(self):
         return self.openid.split('.')[0]
 
     @classmethod
+    def by_username(cls, session, username):
+        return cls.by_openid(session, "%s.id.fedoraproject.org" % username)
+
+    @classmethod
     def by_openid(cls, session, openid):
         return session.query(cls).filter_by(openid=openid).first()
 
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 5f4d01b..b644707 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -8,6 +8,7 @@ from hubs.widgets import badges
 from hubs.widgets import fedmsgs
 from hubs.widgets import fedmsgstats
 from hubs.widgets import feed
+from hubs.widgets import subscriptions
 
 from hubs.widgets.workflow import pendingacls
 from hubs.widgets.workflow import updates2stable
@@ -25,6 +26,7 @@ registry = {
     'fedmsgs': fedmsgs,
     'fedmsgstats': fedmsgstats,
     'feed': feed,
+    'subscriptions': subscriptions,
 
     'workflow.pendingacls': pendingacls,
     'workflow.updates2stable': updates2stable,
diff --git a/hubs/widgets/badges.py b/hubs/widgets/badges.py
index 4e6234d..1018c3d 100644
--- a/hubs/widgets/badges.py
+++ b/hubs/widgets/badges.py
@@ -1,3 +1,5 @@
+import operator
+
 import requests
 
 from hubs.hinting import hint, prefixed as _
@@ -11,8 +13,9 @@ import hubs.validators as validators
 
 template = jinja2.Template("""
 <div class="flex-container">
-{% for badge in assertions %}
-    <img width="19%" src="{{badge['image']}}"/>
+{% for badge in assertions[:10] %}
+  <a width="60px" href="https://badges.fedoraproject.org/badge/{{badge['id']}}">
+    <img width="60px" src="{{badge['image']}}"/></a>
 {%endfor%}
 </div>
 """)
@@ -29,7 +32,9 @@ def data(session, widget, username):
     url = "https://badges.fedoraproject.org/user/{username}/json"
     url = url.format(username=username)
     response = requests.get(url)
-    return response.json()
+    assertions = response.json()['assertions']
+    key = operator.itemgetter('issued')
+    return dict(assertions=sorted(assertions, key=key, reverse=True))
 
 
 @hint(topics=[_('hubs.widget.update'), _('fedbadges.badge.award')])
diff --git a/hubs/widgets/base.py b/hubs/widgets/base.py
index 4550448..995125c 100644
--- a/hubs/widgets/base.py
+++ b/hubs/widgets/base.py
@@ -42,9 +42,11 @@ def argument(name, default, validator, help):
 def AGPLv3(name):
     def decorator(func):
         @wraps(func)
-        def inner(*args, **kwargs):
-            result = func(*args, **kwargs)
+        def inner(session, widget, *args, **kwargs):
+            result = func(session, widget, *args, **kwargs)
             result['source_url'] = flask.url_for('widget_source', name=name)
+            result['widget_url'] = flask.url_for(
+                'widget_render', hub=widget.hub.name, idx=widget.idx)
             return result
 
         return inner
diff --git a/hubs/widgets/chrome.py b/hubs/widgets/chrome.py
index de38df1..6a313aa 100644
--- a/hubs/widgets/chrome.py
+++ b/hubs/widgets/chrome.py
@@ -8,6 +8,7 @@ _panel_template = jinja2.Template("""
   <div class="pull-right widget-buttons">
     <!-- the AGPLv3 wrapper puts the source url in all responses -->
     <a href="{{source_url}}"><span class="glyphicon glyphicon-eye-open"></span></a>
+    <a href="{{widget_url}}"><span class="glyphicon glyphicon-new-window"></span></a>
     <a href="#"><span class="glyphicon glyphicon-edit"></span></a>
   </div>
   <div class="panel-body">
diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
new file mode 100644
index 0000000..f37819f
--- /dev/null
+++ b/hubs/widgets/subscriptions.py
@@ -0,0 +1,48 @@
+#from hubs.hinting import hint, prefixed as _
+from hubs.widgets.base import argument
+from hubs.widgets.chrome import panel
+
+from hubs import validators
+
+import hubs.models
+
+from fedmsg.meta.base import BaseConglomerator as BC
+
+import jinja2
+
+chrome = panel('Hubs', key='associations')
+template = jinja2.Template("""
+{% if associations %}
+    {% if memberships %}
+        <p>Belongs to: {{memberships_text}}</p>
+    {% endif %}
+    <hr/>
+    {% if subscriptions %}
+        <p>Subscribes to: {{subscriptions_text}}</p>
+    {% endif %}
+{% endif %}
+""")
+
+
+@argument(name="username",
+          default=None,
+          validator=validators.username,
+          help="A FAS username.")
+def data(session, widget, username):
+    user = hubs.models.User.by_username(session, username)
+    ownerships = [u.name for u in user.ownerships]
+    memberships = [u.name for u in user.memberships]
+    subscriptions = [u.name for u in user.subscriptions]
+    return dict(
+        associations=memberships + ownerships,
+        ownerships=ownerships,
+        memberships=memberships,
+        subscriptions=subscriptions,
+        ownerships_text=BC.list_to_series(ownerships),
+        memberships_text=BC.list_to_series(memberships),
+        subscriptions_text=BC.list_to_series(subscriptions),
+    )
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError()
diff --git a/populate.py b/populate.py
index 3c517f4..9e02e82 100755
--- a/populate.py
+++ b/populate.py
@@ -15,7 +15,7 @@ users = ['mrichard', 'duffy', 'ryanlerch', 'gnokii', 'nask0',
 for username in users:
     fullname = 'Full Name Goes Here'
     openid = '%s.id.fedoraproject.org' % username
-    print "Creating account for %r" % openid
+    print("Creating account for %r" % openid)
     hubs.models.User.get_or_create(
         session, openid=openid, fullname=fullname)
 

From b0206be2e99027d588fbf9aaa0ba87d39ca81729 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 17:04:34 +0000
Subject: [PATCH 152/254] Check the type of this string.


---

diff --git a/hubs/app.py b/hubs/app.py
index f5262d4..718b32f 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -5,6 +5,7 @@ import os
 import flask
 import flask.json
 import munch
+import six
 
 from flask.ext.openid import OpenID
 
@@ -184,7 +185,12 @@ def check_auth():
     flask.g.fedmsg_config = fedmsg_config
     flask.g.auth = munch.Munch(logged_in=False)
     if 'openid' in flask.session:
-        openid = flask.session.get('openid').strip('/').split('/')[-1]
+
+        openid = flask.session.get('openid')
+        if isinstance(openid, six.binary_type):
+            openid = openid.decode('utf-8')
+        openid = openid.strip('/').split('/')[-1]
+
         flask.g.auth.logged_in = True
         flask.g.auth.openid = openid
         flask.g.auth.user = hubs.models.User.by_openid(session, openid)

From 3e20642119361cdefd002b55c48795878dcc41ba Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 17:04:51 +0000
Subject: [PATCH 153/254] Merge branch 'develop' of pagure.io:fedora-hubs into develop


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index d380c5e..008bcb2 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -42,13 +42,17 @@
       color: #ffffff;
       background-color: #3c6eb4;
       width: 100%;
-      height:85px;
+      font-family: 'Open Sans', sans-serif;
     }
     .header img.avatar {
-        width: 75px;
+        width: 70px;
         float: left;
         margin: 0 15px;
         display: inline;
+        border: 5px solid #fff;
+    }
+    .header h3 {
+        font-weight: 700;
     }
     .row {
       padding: 5px;
@@ -57,8 +61,16 @@
       padding: 5px;
     }
     .medium-wide {
-      width: 250px;
+      width: 300px;
     }
+
+@media (max-width: 320px) {
+  .medium-wide {
+    width: 100%;
+    text-align: center;
+  }
+}
+
     h1, h2, h3, h4, h5, h6 {
       margin-top: 0px;
       margin-bottom: 0px;
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index ec46105..06d45a5 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -56,6 +56,7 @@
     <img src="{{hub.avatar}}" class="avatar" />
     <h3>{{hub.name}}</h3>
     <h5>{{hub.summary}}</h5>
+    <div class="clearfix"></div>
   </div>
 </div>
 <div class="container">
diff --git a/populate.py b/populate.py
index 3c517f4..9e02e82 100755
--- a/populate.py
+++ b/populate.py
@@ -15,7 +15,7 @@ users = ['mrichard', 'duffy', 'ryanlerch', 'gnokii', 'nask0',
 for username in users:
     fullname = 'Full Name Goes Here'
     openid = '%s.id.fedoraproject.org' % username
-    print "Creating account for %r" % openid
+    print("Creating account for %r" % openid)
     hubs.models.User.get_or_create(
         session, openid=openid, fullname=fullname)
 

From 7dfd6b847b5b907c5b70e94cedbcf937ebbc3f1b Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 17:30:29 +0000
Subject: [PATCH 154/254] Up the timeout for caching FAS.


---

diff --git a/README.rst b/README.rst
index 0056e6e..3399529 100644
--- a/README.rst
+++ b/README.rst
@@ -56,7 +56,7 @@ If you want to test it with 8 worker threads, try ``gunicorn``::
 When hacking on widgets, it is useful to have this one-liner handy.  It removes
 the db alltogether, re-populates it, and restarts the app::
 
-    $ rm /var/tmp/hubs.db; PYTHONPATH=. python populate.py; gunicorn -w 8 -t 60 --log-config logging.ini hubs.app:app
+    $ rm /var/tmp/hubs.db; PYTHONPATH=. python populate.py; gunicorn -w 8 -t 240 --log-config logging.ini hubs.app:app
 
 Feed Widget - the Extra Mile
 ----------------------------

From af79a8ed425edd721d58b989b9979632c53d6943 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 17:34:56 +0000
Subject: [PATCH 155/254] Get the subscribe/unsubscribe buttons working.


---

diff --git a/hubs/app.py b/hubs/app.py
index 718b32f..f3157c5 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -228,7 +228,49 @@ def get_widget(session, hub, idx):
     flask.abort(404)
 
 
-
+## Here are a bunch of API methods that should probably be broken out into
+## their own file
+@app.route('/api/hub/<hub>/subscribe', methods=['POST'])
+@login_required
+def hub_subscribe(hub):
+    hub = get_hub(session, hub)
+    user = hubs.models.User.by_openid(session, flask.g.auth.openid)
+    hub.subscribe(session, user)
+    session.commit()
+    return flask.redirect(flask.url_for('hub', name=hub.name))
+
+@app.route('/api/hub/<hub>/unsubscribe', methods=['POST'])
+@login_required
+def hub_unsubscribe(hub):
+    hub = get_hub(session, hub)
+    user = hubs.models.User.by_openid(session, flask.g.auth.openid)
+    try:
+        hub.unsubscribe(session, user)
+    except KeyError:
+        return flask.abort(400)
+    session.commit()
+    return flask.redirect(flask.url_for('hub', name=hub.name))
+
+@app.route('/api/hub/<hub>/join', methods=['POST'])
+@login_required
+def hub_join(hub):
+    hub = get_hub(session, hub)
+    user = hubs.models.User.by_openid(session, flask.g.auth.openid)
+    hub.subscribe(session, user, role='member')
+    session.commit()
+    return flask.redirect(flask.url_for('hub', name=hub.name))
+
+@app.route('/api/hub/<hub>/leave', methods=['POST'])
+@login_required
+def hub_leave(hub):
+    hub = get_hub(session, hub)
+    user = hubs.models.User.by_openid(session, flask.g.auth.openid)
+    try:
+        hub.unsubscribe(session, user, role='member')
+    except KeyError:
+        return flask.abort(400)
+    session.commit()
+    return flask.redirect(flask.url_for('hub', name=hub.name))
 
 
 if __name__ == '__main__':
diff --git a/hubs/models.py b/hubs/models.py
index 9933dd6..ff117ab 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -24,7 +24,6 @@
 import datetime
 import json
 import logging
-import random
 
 import sqlalchemy as sa
 from sqlalchemy import create_engine
@@ -101,6 +100,14 @@ class Association(BASE):
     user = relation("User", backref="associations")
     hub = relation("Hub", backref="associations")
 
+    @classmethod
+    def get(cls, session, hub, user, role):
+        return session.query(cls)\
+            .filter_by(hub=hub)\
+            .filter_by(user=user)\
+            .filter_by(role=role)\
+            .first()
+
 
 class Hub(BASE):
     __tablename__ = 'hubs'
@@ -137,6 +144,18 @@ class Hub(BASE):
         session.add(Association(user=user, hub=self, role=role))
         session.commit()
 
+    def unsubscribe(self, session, user, role='subscriber'):
+        """ Subscribe a user to this hub. """
+        # TODO -- add logic here to manage not adding the user multiple
+        # times, doing different roles, etc.. publish a fedmsg message,
+        # etc...
+        association = Association.get(session, hub=self, user=user, role=role)
+        if not association:
+            raise KeyError("%r is not a %r of %r" % (user, role, self))
+        session.delete(association)
+        session.commit()
+
+
     @classmethod
     def by_name(cls, session, name):
         return session.query(cls).filter_by(name=name).first()
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 67a0e26..3f77a47 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -1,6 +1,7 @@
 from hubs.hinting import hint, prefixed as _
 from hubs.widgets.chrome import panel
 
+import flask
 import jinja2
 
 chrome = panel()
@@ -10,16 +11,29 @@ template = jinja2.Template("""
     <tr><th>Members</th><th>Subscribers</th></tr>
     <tr class="text-info"><td>{{members | length}}</td><td>{{subscribers | length}}</td></tr>
   </table>
+
   {% if g.auth.logged_in %}
+    <div class="pull-right">
     {% if g.auth.nickname in members %}
-    <div class="pull-right"><button class="btn btn-danger">Resign</button></div>
+    <form action="{{hub_leave_url}}" method="POST">
+        <button class="btn btn-danger">Leave Hub</button>
+    </form>
     {% elif g.auth.nickname in subscribers %}
-    <div class="pull-right"><button class="btn btn-warning">Unsubscribe</button></div>
+    <form action="{{hub_unsubscribe_url}}" method="POST">
+        <button class="btn btn-warning">Unsubscribe</button>
+    </form>
     {% else %}
-    <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
+    <form action="{{hub_subscribe_url}}" method="POST">
+        <button class="btn btn-info">Subscribe</button>
+    </form>
     {% endif %}
+    </div>
   {% else %}
-    <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
+    <div class="pull-right">
+        <form action="{{hub_subscribe_url}}" method="POST">
+            <button class="btn btn-info">Subscribe</button>
+        </form>
+    </div>
   {% endif %}
 </div>
 """)
@@ -30,6 +44,10 @@ def data(session, widget):
         owners=[u.username for u in widget.hub.owners],
         members=[u.username for u in widget.hub.members],
         subscribers=[u.username for u in widget.hub.subscribers],
+        hub_leave_url=flask.url_for('hub_leave', hub=widget.hub.name),
+        hub_join_url=flask.url_for('hub_join', hub=widget.hub.name),
+        hub_subscribe_url=flask.url_for('hub_subscribe', hub=widget.hub.name),
+        hub_unsubscribe_url=flask.url_for('hub_unsubscribe', hub=widget.hub.name),
     )
 
 

From a5381c312e8fef68382008fa4957156ec36192f7 Mon Sep 17 00:00:00 2001
From: Luke Macken <lmacken@redhat.com>
Date: Jul 07 2015 17:56:45 +0000
Subject: [PATCH 156/254] Enable the feed widget by default


---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index 80f4520..82f9016 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -14,13 +14,13 @@ def add_user_widgets(session, hub, username, fullname):
 
     ## The feed widget works, but it needs to be cleaned up lots before we
     ## throw it in by default.
-    #widget = hubs.models.Widget(
-    #    plugin='feed', index=1, left=True,
-    #    _config=json.dumps({
-    #        'username': username,
-    #        'fmn_context': 'irc',  # TODO -- make this 'hubs'
-    #    }))
-    #hub.widgets.append(widget)
+    widget = hubs.models.Widget(
+        plugin='feed', index=1, left=True,
+        _config=json.dumps({
+            'username': username,
+            'fmn_context': 'irc',  # TODO -- make this 'hubs'
+        }))
+    hub.widgets.append(widget)
 
     # Right Side Widgets
     widget = hubs.models.Widget(

From d84cb4ea1ab9b19fc4d43f57f61224aaae293856 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 17:57:31 +0000
Subject: [PATCH 157/254] Remove the avatar widget by default.


---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index 82f9016..0916c23 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -24,37 +24,31 @@ def add_user_widgets(session, hub, username, fullname):
 
     # Right Side Widgets
     widget = hubs.models.Widget(
-        plugin='avatar', index=0,
+        plugin='fedmsgstats', index=0,
         _config=json.dumps({
             'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='fedmsgstats', index=1,
+        plugin='workflow.updates2stable', index=1,
         _config=json.dumps({
             'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='workflow.updates2stable', index=2,
+        plugin='workflow.pendingacls', index=2,
         _config=json.dumps({
             'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='workflow.pendingacls', index=3,
+        plugin='subscriptions', index=3,
         _config=json.dumps({
             'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='subscriptions', index=4,
-        _config=json.dumps({
-            'username': username,
-        }))
-    hub.widgets.append(widget)
-    widget = hubs.models.Widget(
-        plugin='badges', index=5,
+        plugin='badges', index=4,
         _config=json.dumps({
             'username': username,
         }))

From 8871ee9e1f969c0dd024765f28ed32f93fb6b11d Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 17:58:21 +0000
Subject: [PATCH 158/254] Add lmacken to the defaults.


---

diff --git a/populate.py b/populate.py
index 9e02e82..663da37 100755
--- a/populate.py
+++ b/populate.py
@@ -11,7 +11,7 @@ fedmsg_config = fedmsg.config.load_config()
 session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'], True, True)
 
 users = ['mrichard', 'duffy', 'ryanlerch', 'gnokii', 'nask0',
-         'abompard', 'decause', 'ralph']
+         'abompard', 'decause', 'ralph', 'lmacken']
 for username in users:
     fullname = 'Full Name Goes Here'
     openid = '%s.id.fedoraproject.org' % username
@@ -96,6 +96,7 @@ hub.widgets.append(widget)
 
 hub.subscribe(session, hubs.models.User.by_openid(session, 'ralph.id.fedoraproject.org'), 'owner')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'abompard.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'lmacken.id.fedoraproject.org'), 'owner')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'nask0.id.fedoraproject.org'), 'member')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'decause.id.fedoraproject.org'), 'subscriber')
 

From 1d860d3954bfe572caf8155e0f3de53ab17c8c0b Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jul 07 2015 18:02:42 +0000
Subject: [PATCH 159/254] merge


---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index 0916c23..ce29c74 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -12,8 +12,8 @@ def add_user_widgets(session, hub, username, fullname):
         }))
     hub.widgets.append(widget)
 
-    ## The feed widget works, but it needs to be cleaned up lots before we
-    ## throw it in by default.
+    # The feed widget works, but it needs to be cleaned up lots before we
+    # throw it in by default.
     widget = hubs.models.Widget(
         plugin='feed', index=1, left=True,
         _config=json.dumps({
diff --git a/requirements.txt b/requirements.txt
index 62cb8fb..5585e6c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10,3 +10,4 @@ fmn.lib
 fmn.rules
 datanommer.models
 psycopg2
+gunicorn

From 0d2fb7f3cedfb8040aff8fb56e0f5fd8326cf41f Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jul 07 2015 18:02:42 +0000
Subject: [PATCH 160/254] merge


---

diff --git a/hubs/app.py b/hubs/app.py
index f3157c5..bca015e 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -185,12 +185,10 @@ def check_auth():
     flask.g.fedmsg_config = fedmsg_config
     flask.g.auth = munch.Munch(logged_in=False)
     if 'openid' in flask.session:
-
         openid = flask.session.get('openid')
         if isinstance(openid, six.binary_type):
             openid = openid.decode('utf-8')
         openid = openid.strip('/').split('/')[-1]
-
         flask.g.auth.logged_in = True
         flask.g.auth.openid = openid
         flask.g.auth.user = hubs.models.User.by_openid(session, openid)

From f3ff66a180d90bb4a1309b142bc6cfd1b06d6cbe Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jul 07 2015 18:02:42 +0000
Subject: [PATCH 161/254] Added stubbed out sticky widget text for infra and design


---

diff --git a/populate.py b/populate.py
index 663da37..4e5fa75 100755
--- a/populate.py
+++ b/populate.py
@@ -46,7 +46,7 @@ hub.widgets.append(widget)
 
 widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
                             _config=json.dumps({
-                                'text': 'This is a sticky note.',
+                                'text': "The Design Team is the design group of the Fedora project. Our interests are not only in creating graphics for use by the Fedora community, but also in advocating the use of the creative tools that are a part of Fedora.",
                             }))
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
@@ -87,7 +87,7 @@ hub.widgets.append(widget)
 
 widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
                             _config=json.dumps({
-                                'text': 'This is a sticky note.',
+                                'text': "The Infrastructure Team consists of dedicated volunteers and professionals managing the servers, building the tools and utilities, and creating new applications to make Fedora development a smoother process. We're located all over the globe and communicate primarily by IRC and e-mail. ",
                             }))
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='dummy', index=1, left=True)

From 8fda819db66efcd526b85f81abb70a793184aeb8 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jul 07 2015 18:03:14 +0000
Subject: [PATCH 162/254] .gitignore build/


---

diff --git a/.gitignore b/.gitignore
index 7b3bc0e..d042055 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
 *.egg*
 fedmsg.d/fas_credentials.py
 node*
+build/

From 4df71ea13253eb9d1c4d62fac2263e6e1f2fec40 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 07 2015 18:06:32 +0000
Subject: [PATCH 163/254] user icon top menu


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 008bcb2..eb34509 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -12,7 +12,18 @@
       font-family: 'Open Sans', 'sans-serif';
       font-size: 12pt;
     }
-    
+
+    .super-header img.avatar {
+      margin-right: 10px;
+      width: 22.5px;
+    }
+
+    .super-header .glyphicon-chevron-down {
+      color: #58595b;
+      margin: 5px 0 0 10px;
+      font-size: 18px;
+    }
+
     #logo { text-align: left; }
 
     .bookmarks .navbar.navbar-default {
@@ -23,7 +34,7 @@
       margin-bottom: 0;
       text-align: center;
     }
-    
+
     .bookmarks .navbar-nav > li > a {
       padding-bottom: 4.5px;
       padding-top: 4.5px;
@@ -37,7 +48,7 @@
       background-color: transparent;
       border-bottom: 3px solid #3c6eb4;
     }
-    
+
     .header {
       color: #ffffff;
       background-color: #3c6eb4;
@@ -110,7 +121,7 @@
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
-} 
+}
 
 .stats-table {
 width: 180px
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 06d45a5..aa38649 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -14,7 +14,9 @@
 	<div class="col-md-4 col-xs-4" id="logo"><img src="{{ url_for('static', filename='img/logo-hubs.png') }}" alt="Fedora Hubs"></div>
     <div class="col-md-8 col-xs-8">
       {% if g.auth.logged_in %}
+	      <img src="{{hub.avatar}}" class="avatar" alt="User Icon"/>
         {# Logged in as #} {{ g.auth.nickname }}
+        <span class="glyphicon glyphicon-chevron-down" aria-hidden="true"></span>
       {% else %}
         Not logged in.  Click to <a href="{{url_for('login_fedora')}}">login</a>.
       {% endif %}

From 6541ffbb0ec7b081aee87fb64f6ff681b3ea7361 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 07 2015 18:06:40 +0000
Subject: [PATCH 164/254] Merge branch 'develop' of pagure.io:fedora-hubs into develop


---

diff --git a/.gitignore b/.gitignore
index 7b3bc0e..d042055 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
 *.egg*
 fedmsg.d/fas_credentials.py
 node*
+build/
diff --git a/README.rst b/README.rst
index 0056e6e..3399529 100644
--- a/README.rst
+++ b/README.rst
@@ -56,7 +56,7 @@ If you want to test it with 8 worker threads, try ``gunicorn``::
 When hacking on widgets, it is useful to have this one-liner handy.  It removes
 the db alltogether, re-populates it, and restarts the app::
 
-    $ rm /var/tmp/hubs.db; PYTHONPATH=. python populate.py; gunicorn -w 8 -t 60 --log-config logging.ini hubs.app:app
+    $ rm /var/tmp/hubs.db; PYTHONPATH=. python populate.py; gunicorn -w 8 -t 240 --log-config logging.ini hubs.app:app
 
 Feed Widget - the Extra Mile
 ----------------------------
diff --git a/hubs/app.py b/hubs/app.py
index f5262d4..bca015e 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -5,6 +5,7 @@ import os
 import flask
 import flask.json
 import munch
+import six
 
 from flask.ext.openid import OpenID
 
@@ -184,7 +185,10 @@ def check_auth():
     flask.g.fedmsg_config = fedmsg_config
     flask.g.auth = munch.Munch(logged_in=False)
     if 'openid' in flask.session:
-        openid = flask.session.get('openid').strip('/').split('/')[-1]
+        openid = flask.session.get('openid')
+        if isinstance(openid, six.binary_type):
+            openid = openid.decode('utf-8')
+        openid = openid.strip('/').split('/')[-1]
         flask.g.auth.logged_in = True
         flask.g.auth.openid = openid
         flask.g.auth.user = hubs.models.User.by_openid(session, openid)
@@ -222,7 +226,49 @@ def get_widget(session, hub, idx):
     flask.abort(404)
 
 
-
+## Here are a bunch of API methods that should probably be broken out into
+## their own file
+@app.route('/api/hub/<hub>/subscribe', methods=['POST'])
+@login_required
+def hub_subscribe(hub):
+    hub = get_hub(session, hub)
+    user = hubs.models.User.by_openid(session, flask.g.auth.openid)
+    hub.subscribe(session, user)
+    session.commit()
+    return flask.redirect(flask.url_for('hub', name=hub.name))
+
+@app.route('/api/hub/<hub>/unsubscribe', methods=['POST'])
+@login_required
+def hub_unsubscribe(hub):
+    hub = get_hub(session, hub)
+    user = hubs.models.User.by_openid(session, flask.g.auth.openid)
+    try:
+        hub.unsubscribe(session, user)
+    except KeyError:
+        return flask.abort(400)
+    session.commit()
+    return flask.redirect(flask.url_for('hub', name=hub.name))
+
+@app.route('/api/hub/<hub>/join', methods=['POST'])
+@login_required
+def hub_join(hub):
+    hub = get_hub(session, hub)
+    user = hubs.models.User.by_openid(session, flask.g.auth.openid)
+    hub.subscribe(session, user, role='member')
+    session.commit()
+    return flask.redirect(flask.url_for('hub', name=hub.name))
+
+@app.route('/api/hub/<hub>/leave', methods=['POST'])
+@login_required
+def hub_leave(hub):
+    hub = get_hub(session, hub)
+    user = hubs.models.User.by_openid(session, flask.g.auth.openid)
+    try:
+        hub.unsubscribe(session, user, role='member')
+    except KeyError:
+        return flask.abort(400)
+    session.commit()
+    return flask.redirect(flask.url_for('hub', name=hub.name))
 
 
 if __name__ == '__main__':
diff --git a/hubs/defaults.py b/hubs/defaults.py
index 80f4520..ce29c74 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -12,49 +12,43 @@ def add_user_widgets(session, hub, username, fullname):
         }))
     hub.widgets.append(widget)
 
-    ## The feed widget works, but it needs to be cleaned up lots before we
-    ## throw it in by default.
-    #widget = hubs.models.Widget(
-    #    plugin='feed', index=1, left=True,
-    #    _config=json.dumps({
-    #        'username': username,
-    #        'fmn_context': 'irc',  # TODO -- make this 'hubs'
-    #    }))
-    #hub.widgets.append(widget)
-
-    # Right Side Widgets
+    # The feed widget works, but it needs to be cleaned up lots before we
+    # throw it in by default.
     widget = hubs.models.Widget(
-        plugin='avatar', index=0,
+        plugin='feed', index=1, left=True,
         _config=json.dumps({
             'username': username,
+            'fmn_context': 'irc',  # TODO -- make this 'hubs'
         }))
     hub.widgets.append(widget)
+
+    # Right Side Widgets
     widget = hubs.models.Widget(
-        plugin='fedmsgstats', index=1,
+        plugin='fedmsgstats', index=0,
         _config=json.dumps({
             'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='workflow.updates2stable', index=2,
+        plugin='workflow.updates2stable', index=1,
         _config=json.dumps({
             'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='workflow.pendingacls', index=3,
+        plugin='workflow.pendingacls', index=2,
         _config=json.dumps({
             'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='subscriptions', index=4,
+        plugin='subscriptions', index=3,
         _config=json.dumps({
             'username': username,
         }))
     hub.widgets.append(widget)
     widget = hubs.models.Widget(
-        plugin='badges', index=5,
+        plugin='badges', index=4,
         _config=json.dumps({
             'username': username,
         }))
diff --git a/hubs/models.py b/hubs/models.py
index 9933dd6..ff117ab 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -24,7 +24,6 @@
 import datetime
 import json
 import logging
-import random
 
 import sqlalchemy as sa
 from sqlalchemy import create_engine
@@ -101,6 +100,14 @@ class Association(BASE):
     user = relation("User", backref="associations")
     hub = relation("Hub", backref="associations")
 
+    @classmethod
+    def get(cls, session, hub, user, role):
+        return session.query(cls)\
+            .filter_by(hub=hub)\
+            .filter_by(user=user)\
+            .filter_by(role=role)\
+            .first()
+
 
 class Hub(BASE):
     __tablename__ = 'hubs'
@@ -137,6 +144,18 @@ class Hub(BASE):
         session.add(Association(user=user, hub=self, role=role))
         session.commit()
 
+    def unsubscribe(self, session, user, role='subscriber'):
+        """ Subscribe a user to this hub. """
+        # TODO -- add logic here to manage not adding the user multiple
+        # times, doing different roles, etc.. publish a fedmsg message,
+        # etc...
+        association = Association.get(session, hub=self, user=user, role=role)
+        if not association:
+            raise KeyError("%r is not a %r of %r" % (user, role, self))
+        session.delete(association)
+        session.commit()
+
+
     @classmethod
     def by_name(cls, session, name):
         return session.query(cls).filter_by(name=name).first()
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 67a0e26..3f77a47 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -1,6 +1,7 @@
 from hubs.hinting import hint, prefixed as _
 from hubs.widgets.chrome import panel
 
+import flask
 import jinja2
 
 chrome = panel()
@@ -10,16 +11,29 @@ template = jinja2.Template("""
     <tr><th>Members</th><th>Subscribers</th></tr>
     <tr class="text-info"><td>{{members | length}}</td><td>{{subscribers | length}}</td></tr>
   </table>
+
   {% if g.auth.logged_in %}
+    <div class="pull-right">
     {% if g.auth.nickname in members %}
-    <div class="pull-right"><button class="btn btn-danger">Resign</button></div>
+    <form action="{{hub_leave_url}}" method="POST">
+        <button class="btn btn-danger">Leave Hub</button>
+    </form>
     {% elif g.auth.nickname in subscribers %}
-    <div class="pull-right"><button class="btn btn-warning">Unsubscribe</button></div>
+    <form action="{{hub_unsubscribe_url}}" method="POST">
+        <button class="btn btn-warning">Unsubscribe</button>
+    </form>
     {% else %}
-    <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
+    <form action="{{hub_subscribe_url}}" method="POST">
+        <button class="btn btn-info">Subscribe</button>
+    </form>
     {% endif %}
+    </div>
   {% else %}
-    <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
+    <div class="pull-right">
+        <form action="{{hub_subscribe_url}}" method="POST">
+            <button class="btn btn-info">Subscribe</button>
+        </form>
+    </div>
   {% endif %}
 </div>
 """)
@@ -30,6 +44,10 @@ def data(session, widget):
         owners=[u.username for u in widget.hub.owners],
         members=[u.username for u in widget.hub.members],
         subscribers=[u.username for u in widget.hub.subscribers],
+        hub_leave_url=flask.url_for('hub_leave', hub=widget.hub.name),
+        hub_join_url=flask.url_for('hub_join', hub=widget.hub.name),
+        hub_subscribe_url=flask.url_for('hub_subscribe', hub=widget.hub.name),
+        hub_unsubscribe_url=flask.url_for('hub_unsubscribe', hub=widget.hub.name),
     )
 
 
diff --git a/populate.py b/populate.py
index 9e02e82..4e5fa75 100755
--- a/populate.py
+++ b/populate.py
@@ -11,7 +11,7 @@ fedmsg_config = fedmsg.config.load_config()
 session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'], True, True)
 
 users = ['mrichard', 'duffy', 'ryanlerch', 'gnokii', 'nask0',
-         'abompard', 'decause', 'ralph']
+         'abompard', 'decause', 'ralph', 'lmacken']
 for username in users:
     fullname = 'Full Name Goes Here'
     openid = '%s.id.fedoraproject.org' % username
@@ -46,7 +46,7 @@ hub.widgets.append(widget)
 
 widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
                             _config=json.dumps({
-                                'text': 'This is a sticky note.',
+                                'text': "The Design Team is the design group of the Fedora project. Our interests are not only in creating graphics for use by the Fedora community, but also in advocating the use of the creative tools that are a part of Fedora.",
                             }))
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
@@ -87,7 +87,7 @@ hub.widgets.append(widget)
 
 widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
                             _config=json.dumps({
-                                'text': 'This is a sticky note.',
+                                'text': "The Infrastructure Team consists of dedicated volunteers and professionals managing the servers, building the tools and utilities, and creating new applications to make Fedora development a smoother process. We're located all over the globe and communicate primarily by IRC and e-mail. ",
                             }))
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
@@ -96,6 +96,7 @@ hub.widgets.append(widget)
 
 hub.subscribe(session, hubs.models.User.by_openid(session, 'ralph.id.fedoraproject.org'), 'owner')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'abompard.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'lmacken.id.fedoraproject.org'), 'owner')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'nask0.id.fedoraproject.org'), 'member')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'decause.id.fedoraproject.org'), 'subscriber')
 
diff --git a/requirements.txt b/requirements.txt
index 62cb8fb..5585e6c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10,3 +10,4 @@ fmn.lib
 fmn.rules
 datanommer.models
 psycopg2
+gunicorn

From e5a8e3dc5b5126e0d5ac7c9385f3a0459023d546 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jul 07 2015 18:25:13 +0000
Subject: [PATCH 165/254] Added text-right class to both stats counter widgets


---

diff --git a/hubs/widgets/fedmsgstats.py b/hubs/widgets/fedmsgstats.py
index 2f075ab..b353ea3 100644
--- a/hubs/widgets/fedmsgstats.py
+++ b/hubs/widgets/fedmsgstats.py
@@ -14,7 +14,7 @@ template = jinja2.Template("""
 <div class="stats-container">
   <table class="stats-table">
     <tr><th>FedMsgs</th><th>Subscribers</th></tr>
-    <tr class="text-info"><td>{{fedmsgs}}</td><td>{{subscribers}}</td></tr>
+    <tr class="text-info"><td>{{fedmsgs}}</td><td class="text-right">{{subscribers}}</td></tr>
   </table>
   {% if session['nickname'] != username %}
   <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 3f77a47..12c620a 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -9,7 +9,7 @@ template = jinja2.Template("""
 <div class="stats-container">
   <table class="stats-table">
     <tr><th>Members</th><th>Subscribers</th></tr>
-    <tr class="text-info"><td>{{members | length}}</td><td>{{subscribers | length}}</td></tr>
+    <tr class="text-info"><td>{{members | length}}</td><td class="text-right">{{subscribers | length}}</td></tr>
   </table>
 
   {% if g.auth.logged_in %}

From 5740eab8f4f5aca55f902dee41aa79e5e26b1b94 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jul 07 2015 18:39:02 +0000
Subject: [PATCH 166/254] Added icons within Subscribe/Unsubscribe button, as per mockups


---

diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 12c620a..31205c4 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -20,11 +20,11 @@ template = jinja2.Template("""
     </form>
     {% elif g.auth.nickname in subscribers %}
     <form action="{{hub_unsubscribe_url}}" method="POST">
-        <button class="btn btn-warning">Unsubscribe</button>
+        <button class="btn btn-warning"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Unsubscribe</button>
     </form>
     {% else %}
     <form action="{{hub_subscribe_url}}" method="POST">
-        <button class="btn btn-info">Subscribe</button>
+        <button class="btn btn-info"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Subscribe</button>
     </form>
     {% endif %}
     </div>

From c33a179d3f07c69f3c49dcfea87aabdb5d609326 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 07 2015 18:41:48 +0000
Subject: [PATCH 167/254] bootstrap js included


---

diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index aa38649..6d67787 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -80,6 +80,7 @@
 </div>
 
 <script src="{{ url_for('static', filename='js/jquery-1.10.2.min.js') }}"></script>
+<script src="{{ url_for('static', filename='bootstrap/js/bootstrap.min.js') }}"></script>
 <script>
 var widgets = [{% for widget in hub.widgets %}'{{ widget.idx }}',{% endfor %}];
 $.each(widgets, function(i, widget) {

From 523a3795a4d641731b7457c8646652db03b59258 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 07 2015 18:42:03 +0000
Subject: [PATCH 168/254] Merge branch 'develop' of pagure.io:fedora-hubs into develop


---

diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 12c620a..31205c4 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -20,11 +20,11 @@ template = jinja2.Template("""
     </form>
     {% elif g.auth.nickname in subscribers %}
     <form action="{{hub_unsubscribe_url}}" method="POST">
-        <button class="btn btn-warning">Unsubscribe</button>
+        <button class="btn btn-warning"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Unsubscribe</button>
     </form>
     {% else %}
     <form action="{{hub_subscribe_url}}" method="POST">
-        <button class="btn btn-info">Subscribe</button>
+        <button class="btn btn-info"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Subscribe</button>
     </form>
     {% endif %}
     </div>

From 45f392a4e48575d0c29378585669dcbdeb0066d1 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jul 07 2015 18:46:10 +0000
Subject: [PATCH 169/254] Added icons for all cases of button


---

diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 31205c4..ee00da2 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -16,7 +16,7 @@ template = jinja2.Template("""
     <div class="pull-right">
     {% if g.auth.nickname in members %}
     <form action="{{hub_leave_url}}" method="POST">
-        <button class="btn btn-danger">Leave Hub</button>
+        <button class="btn btn-danger"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Leave Hub</button>
     </form>
     {% elif g.auth.nickname in subscribers %}
     <form action="{{hub_unsubscribe_url}}" method="POST">
@@ -31,7 +31,7 @@ template = jinja2.Template("""
   {% else %}
     <div class="pull-right">
         <form action="{{hub_subscribe_url}}" method="POST">
-            <button class="btn btn-info">Subscribe</button>
+            <button class="btn btn-info"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Subscribe</button>
         </form>
     </div>
   {% endif %}

From 9d43f4477a8df0cf3c0ca3f2735f721c68de7fb0 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jul 07 2015 18:46:10 +0000
Subject: [PATCH 170/254] Added info sign icon to about widget


---

diff --git a/hubs/widgets/about.py b/hubs/widgets/about.py
index b0df6cc..84b8de7 100644
--- a/hubs/widgets/about.py
+++ b/hubs/widgets/about.py
@@ -10,7 +10,7 @@ import hubs.validators as validators
 template = jinja2.Template("""
     <p>{{text}}</p>
     """)
-chrome = panel("About")
+chrome = panel("<span class='glyphicon glyphicon-info-sign' aria-hidden='true'></span> About")
 
 
 @argument(name="text", default="I am a Fedora user, and this is my about",

From 53b861b40f346c391ab3f77b3b74281b25542949 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jul 07 2015 19:02:48 +0000
Subject: [PATCH 171/254] Added a marketing team. Changed 'rules' links to point to Fedora Wiki


---

diff --git a/populate.py b/populate.py
index 4e5fa75..b4a5a4d 100755
--- a/populate.py
+++ b/populate.py
@@ -11,7 +11,7 @@ fedmsg_config = fedmsg.config.load_config()
 session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'], True, True)
 
 users = ['mrichard', 'duffy', 'ryanlerch', 'gnokii', 'nask0',
-         'abompard', 'decause', 'ralph', 'lmacken']
+         'abompard', 'decause', 'ralph', 'lmacken', 'croberts', 'mattdm']
 for username in users:
     fullname = 'Full Name Goes Here'
     openid = '%s.id.fedoraproject.org' % username
@@ -21,8 +21,49 @@ for username in users:
 
 session.commit()
 
+############## Marketing team
+hub = hubs.models.Hub(name='marketingteam', summary='The Fedora Marketing Team')
+session.add(hub)
 
-############## Infra team
+widget = hubs.models.Widget(plugin='stats', index=0)
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='rules', index=1,
+                            _config=json.dumps({
+                                'link': 'https://fedoraproject.org/wiki/Marketing'
+                            }))
+hub.widgets.append(widget)
+
+widget = hubs.models.Widget(plugin='dummy', index=2)
+hub.widgets.append(widget)
+
+# Added a hubs about widget
+widget = hubs.models.Widget(plugin='about', index=3,
+                            _config=json.dumps({
+                                "text": "I'm a Fedora user, and this is my about widget text!",
+                            }))
+hub.widgets.append(widget)
+
+widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
+                            _config=json.dumps({
+                                'text': "The Fedora Marketing Team develops and executes marketing strategies to promote the usage and support of Fedora worldwide. Through the development of processes and content, this project aims to support the efforts of other Fedora projects to spread Fedora and to provide a central repository of ideas and information that can be used to deliver Fedora to new audiences. We work closely with the Fedora Ambassadors who spread the word about Fedora at events and allow the Fedora Project to interact directly with its existing and prospective users. ",
+                            }))
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
+hub.widgets.append(widget)
+
+
+# Set up some memberships
+hub.subscribe(session, hubs.models.User.by_openid(session, 'croberts.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'ryanlerch.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'mrichard.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'mattdm.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'decause.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'ralph.id.fedoraproject.org'), 'subscriber')
+
+
+session.commit()
+
+############## Design team
 hub = hubs.models.Hub(name='designteam', summary='The Fedora Design Team')
 session.add(hub)
 
@@ -30,7 +71,7 @@ widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='rules', index=1,
                             _config=json.dumps({
-                                'link': 'http://threebean.org'
+                                'link': 'https://fedoraproject.org/wiki/Design'
                             }))
 hub.widgets.append(widget)
 
@@ -62,6 +103,8 @@ hub.subscribe(session, hubs.models.User.by_openid(session, 'nask0.id.fedoraproje
 hub.subscribe(session, hubs.models.User.by_openid(session, 'decause.id.fedoraproject.org'), 'member')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'ralph.id.fedoraproject.org'), 'subscriber')
 
+session.commit()
+
 
 ############## Infra team
 hub = hubs.models.Hub(name='infrastructure', summary='The Fedora Infrastructure Team')
@@ -71,7 +114,7 @@ widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='rules', index=1,
                             _config=json.dumps({
-                                'link': 'http://threebean.org'
+                                'link': 'https://fedoraproject.org/wiki/Infrastructure'
                             }))
 hub.widgets.append(widget)
 

From 50b9c718614aa0f19ee2fe18cfdb2a732583ae44 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Jul 07 2015 19:11:28 +0000
Subject: [PATCH 172/254] Added internationalization team stub


---

diff --git a/populate.py b/populate.py
index b4a5a4d..44699ac 100755
--- a/populate.py
+++ b/populate.py
@@ -11,7 +11,8 @@ fedmsg_config = fedmsg.config.load_config()
 session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'], True, True)
 
 users = ['mrichard', 'duffy', 'ryanlerch', 'gnokii', 'nask0',
-         'abompard', 'decause', 'ralph', 'lmacken', 'croberts', 'mattdm']
+         'abompard', 'decause', 'ralph', 'lmacken', 'croberts', 'mattdm',
+         'pravins']
 for username in users:
     fullname = 'Full Name Goes Here'
     openid = '%s.id.fedoraproject.org' % username
@@ -21,6 +22,45 @@ for username in users:
 
 session.commit()
 
+############## Internationalizationteam
+hub = hubs.models.Hub(name='Internationalizationteam', summary='The Fedora Internationalization Team')
+session.add(hub)
+
+widget = hubs.models.Widget(plugin='stats', index=0)
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='rules', index=1,
+                            _config=json.dumps({
+                                'link': 'https://fedoraproject.org/wiki/I18N'
+                            }))
+hub.widgets.append(widget)
+
+widget = hubs.models.Widget(plugin='dummy', index=2)
+hub.widgets.append(widget)
+
+# Added a hubs about widget
+widget = hubs.models.Widget(plugin='about', index=3,
+                            _config=json.dumps({
+                                "text": "I'm a Fedora user, and this is my about widget text!",
+                            }))
+hub.widgets.append(widget)
+
+widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
+                            _config=json.dumps({
+                                'text': "<p>The Fedora I18N project works on internationalization (i18n) to support the localization (l10n) of Fedora in many languages. Translation of Fedora software and documentation are handled by the Fedora L10N project.</p> <p>The goals of the Project are to:</p> <ul><li>Develop, package, and maintain applications like input methods for different languages</li> <li>Improve applications and utilities to support and process different languages</li> <li>Quality-assure that existing applications meet i18n standards</li> <li>Support the infrastructure of the Fedora Localization Project</li></ul>",
+                            }))
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
+hub.widgets.append(widget)
+
+
+# Set up some memberships
+hub.subscribe(session, hubs.models.User.by_openid(session, 'pravins.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'decause.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'ralph.id.fedoraproject.org'), 'subscriber')
+
+
+session.commit()
+
 ############## Marketing team
 hub = hubs.models.Hub(name='marketingteam', summary='The Fedora Marketing Team')
 session.add(hub)

From ef7e683a2b416d6ef5ee79c7534578cb9f47c802 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 19:52:37 +0000
Subject: [PATCH 173/254] Try to match the stats widget to the mockup.


---

diff --git a/hubs/app.py b/hubs/app.py
index bca015e..cac231f 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -50,6 +50,12 @@ class CustomJSONEncoder(flask.json.JSONEncoder):
 app.json_encoder = CustomJSONEncoder
 
 
+@app.teardown_request
+def shutdown_session(exception=None):
+    """ Remove the DB session at the end of each request. """
+    session.remove()
+
+
 @app.route('/')
 def index():
     if not flask.g.auth.logged_in:
@@ -249,6 +255,27 @@ def hub_unsubscribe(hub):
     session.commit()
     return flask.redirect(flask.url_for('hub', name=hub.name))
 
+@app.route('/api/hub/<hub>/star', methods=['POST'])
+@login_required
+def hub_star(hub):
+    hub = get_hub(session, hub)
+    user = hubs.models.User.by_openid(session, flask.g.auth.openid)
+    hub.subscribe(session, user, role='stargazer')
+    session.commit()
+    return flask.redirect(flask.url_for('hub', name=hub.name))
+
+@app.route('/api/hub/<hub>/unstar', methods=['POST'])
+@login_required
+def hub_unstar(hub):
+    hub = get_hub(session, hub)
+    user = hubs.models.User.by_openid(session, flask.g.auth.openid)
+    try:
+        hub.unsubscribe(session, user, role='stargazer')
+    except KeyError:
+        return flask.abort(400)
+    session.commit()
+    return flask.redirect(flask.url_for('hub', name=hub.name))
+
 @app.route('/api/hub/<hub>/join', methods=['POST'])
 @login_required
 def hub_join(hub):
diff --git a/hubs/models.py b/hubs/models.py
index ff117ab..ef97536 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -83,7 +83,7 @@ def init(db_url, debug=False, create=False):
     return scoped_session(sessionmaker(bind=engine))
 
 
-roles = ['subscriber', 'member', 'owner']
+roles = ['subscriber', 'member', 'owner', 'stargazer']
 
 
 class Association(BASE):
@@ -95,7 +95,7 @@ class Association(BASE):
     user_id = sa.Column(sa.Text,
                         sa.ForeignKey('users.openid'),
                         primary_key=True)
-    role = sa.Column(sa.Enum(*roles), nullable=False)
+    role = sa.Column(sa.Enum(*roles), primary_key=True)
 
     user = relation("User", backref="associations")
     hub = relation("Hub", backref="associations")
@@ -126,6 +126,7 @@ class Hub(BASE):
     def owners(self):
         return [assoc.user for assoc in self.associations
                 if assoc.role == 'owner']
+
     @property
     def members(self):
         return [assoc.user for assoc in self.associations
@@ -136,6 +137,11 @@ class Hub(BASE):
         return [assoc.user for assoc in self.associations
                 if assoc.role == 'subscriber']
 
+    @property
+    def stargazers(self):
+        return [assoc.user for assoc in self.associations
+                if assoc.role == 'stargazer']
+
     def subscribe(self, session, user, role='subscriber'):
         """ Subscribe a user to this hub. """
         # TODO -- add logic here to manage not adding the user multiple
@@ -284,6 +290,19 @@ class User(BASE):
                 if assoc.role == 'subscriber']
 
     @property
+    def starred_hubs(self):
+        return [assoc.hub for assoc in self.associations
+                if assoc.role == 'stargazer']
+
+    @property
+    def bookmarks(self):
+        # TODO -- someday make this editable/configurable.
+        return sorted(list(set([assoc.hub for assoc in self.associations
+                if assoc.role == 'member'
+                or assoc.role == 'subscriber'
+                or assoc.role == 'owner'])))
+
+    @property
     def username(self):
         return self.openid.split('.')[0]
 
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 6d67787..d108da0 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -41,12 +41,10 @@
           {% if g.auth.logged_in %}
           <li {% if request.path.endswith('/' + g.auth.user.username + '/') %}class='active'{% endif %}>
             <a href="/{{g.auth.user.username}}">me</a></li>
-          {% for assoc in g.auth.user.associations %}
-          <li {% if request.path.endswith('/' + assoc.hub.name + '/') %}class='active'{% endif %}>
-          <a href="/{{assoc.hub.name}}">{{assoc.hub.name}}</a></li>
+          {% for hub in g.auth.user.bookmarks %}
+          <li {% if request.path.endswith('/' + hub.name + '/') %}class='active'{% endif %}>
+          <a href="/{{hub.name}}">{{hub.name}}</a></li>
           {% endfor %}
-          <li class="divider"></li>
-          <li><a href="#">Separated link</a></li>
           {% endif %}
         </ul>
       </div><!-- /.navbar-collapse -->
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index ee00da2..228d60f 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -6,35 +6,46 @@ import jinja2
 
 chrome = panel()
 template = jinja2.Template("""
-<div class="stats-container">
+<div class="stats-container row">
+<div class="col-md-7">
   <table class="stats-table">
     <tr><th>Members</th><th>Subscribers</th></tr>
     <tr class="text-info"><td>{{members | length}}</td><td class="text-right">{{subscribers | length}}</td></tr>
   </table>
+</div>
+<div class="col-md-5">
+  <ul class="list-unstyled">
+  {% if g.auth.nickname in subscribers %}
+  <li><form action="{{hub_unsubscribe_url}}" method="POST">
+      <button class="btn btn-info"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Unsubscribe</button>
+  </form></li>
+  {% else %}
+  <li><form action="{{hub_subscribe_url}}" method="POST">
+      <button class="btn btn-default"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Subscribe</button>
+  </form></li>
+  {% endif %}
+
+  {% if g.auth.nickname in stargazers %}
+  <li><form action="{{hub_unstar_url}}" method="POST">
+      <button class="btn btn-info"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Unstar Hub</button>
+  </form></li>
+  {% else %}
+  <li><form action="{{hub_star_url}}" method="POST">
+      <button class="btn btn-default"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Star Hub</button>
+  </form></li>
+  {% endif %}
 
-  {% if g.auth.logged_in %}
-    <div class="pull-right">
-    {% if g.auth.nickname in members %}
-    <form action="{{hub_leave_url}}" method="POST">
-        <button class="btn btn-danger"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Leave Hub</button>
-    </form>
-    {% elif g.auth.nickname in subscribers %}
-    <form action="{{hub_unsubscribe_url}}" method="POST">
-        <button class="btn btn-warning"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Unsubscribe</button>
-    </form>
-    {% else %}
-    <form action="{{hub_subscribe_url}}" method="POST">
-        <button class="btn btn-info"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Subscribe</button>
-    </form>
-    {% endif %}
-    </div>
+  {% if g.auth.nickname in members %}
+  <li><form action="{{hub_leave_url}}" method="POST">
+      <button class="btn btn-info"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Leave Hub</button>
+  </form></li>
   {% else %}
-    <div class="pull-right">
-        <form action="{{hub_subscribe_url}}" method="POST">
-            <button class="btn btn-info"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Subscribe</button>
-        </form>
-    </div>
+  <li><form action="{{hub_join_url}}" method="POST">
+      <button class="btn btn-default"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Join Hub</button>
+  </form></li>
   {% endif %}
+  </ul>
+</div>
 </div>
 """)
 
@@ -44,8 +55,12 @@ def data(session, widget):
         owners=[u.username for u in widget.hub.owners],
         members=[u.username for u in widget.hub.members],
         subscribers=[u.username for u in widget.hub.subscribers],
+        stargazers=[u.username for u in widget.hub.stargazers],
+
         hub_leave_url=flask.url_for('hub_leave', hub=widget.hub.name),
         hub_join_url=flask.url_for('hub_join', hub=widget.hub.name),
+        hub_unstar_url=flask.url_for('hub_unstar', hub=widget.hub.name),
+        hub_star_url=flask.url_for('hub_star', hub=widget.hub.name),
         hub_subscribe_url=flask.url_for('hub_subscribe', hub=widget.hub.name),
         hub_unsubscribe_url=flask.url_for('hub_unsubscribe', hub=widget.hub.name),
     )

From 35f359a99669577e80116e672b2c65292801a4ce Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 07 2015 21:35:54 +0000
Subject: [PATCH 174/254] nav profile dropdown


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index eb34509..7ce693b 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -3,7 +3,6 @@
     }
 
     .super-header {
-      text-align: right;
       background: -webkit-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
       background: -o-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
       background: -moz-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 6d67787..5dcf3ee 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -12,11 +12,22 @@
 <div class="super-header">
   <div class="row">
 	<div class="col-md-4 col-xs-4" id="logo"><img src="{{ url_for('static', filename='img/logo-hubs.png') }}" alt="Fedora Hubs"></div>
-    <div class="col-md-8 col-xs-8">
+    <div class="col-md-2 col-md-offset-6 col-xs-8">
       {% if g.auth.logged_in %}
-	      <img src="{{hub.avatar}}" class="avatar" alt="User Icon"/>
-        {# Logged in as #} {{ g.auth.nickname }}
-        <span class="glyphicon glyphicon-chevron-down" aria-hidden="true"></span>
+        <div class="dropdown">
+        <span class="dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
+          <img src="{{hub.avatar}}" class="avatar" alt="User Icon"/>
+          {# Logged in as #} {{ g.auth.nickname }}
+          <span class="glyphicon glyphicon-chevron-down" aria-hidden="true"></span>
+        </span>
+        <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
+          <li class="dropdown-header">Account Information</li>
+          <li><a href="#">Full Name: {{hub.summary}}</a></li>
+          <li><a href="#">Email: blah</a></li>
+          <li role="separator" class="divider"></li>
+          <li><a href="#">Separated link</a></li>
+        </ul>
+      </div>
       {% else %}
         Not logged in.  Click to <a href="{{url_for('login_fedora')}}">login</a>.
       {% endif %}

From db44fa520de4c61ccedd328dd7239610c4f8ec30 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 07 2015 21:36:02 +0000
Subject: [PATCH 175/254] Merge branch 'develop' of pagure.io:fedora-hubs into develop


---

diff --git a/hubs/app.py b/hubs/app.py
index bca015e..cac231f 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -50,6 +50,12 @@ class CustomJSONEncoder(flask.json.JSONEncoder):
 app.json_encoder = CustomJSONEncoder
 
 
+@app.teardown_request
+def shutdown_session(exception=None):
+    """ Remove the DB session at the end of each request. """
+    session.remove()
+
+
 @app.route('/')
 def index():
     if not flask.g.auth.logged_in:
@@ -249,6 +255,27 @@ def hub_unsubscribe(hub):
     session.commit()
     return flask.redirect(flask.url_for('hub', name=hub.name))
 
+@app.route('/api/hub/<hub>/star', methods=['POST'])
+@login_required
+def hub_star(hub):
+    hub = get_hub(session, hub)
+    user = hubs.models.User.by_openid(session, flask.g.auth.openid)
+    hub.subscribe(session, user, role='stargazer')
+    session.commit()
+    return flask.redirect(flask.url_for('hub', name=hub.name))
+
+@app.route('/api/hub/<hub>/unstar', methods=['POST'])
+@login_required
+def hub_unstar(hub):
+    hub = get_hub(session, hub)
+    user = hubs.models.User.by_openid(session, flask.g.auth.openid)
+    try:
+        hub.unsubscribe(session, user, role='stargazer')
+    except KeyError:
+        return flask.abort(400)
+    session.commit()
+    return flask.redirect(flask.url_for('hub', name=hub.name))
+
 @app.route('/api/hub/<hub>/join', methods=['POST'])
 @login_required
 def hub_join(hub):
diff --git a/hubs/models.py b/hubs/models.py
index ff117ab..ef97536 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -83,7 +83,7 @@ def init(db_url, debug=False, create=False):
     return scoped_session(sessionmaker(bind=engine))
 
 
-roles = ['subscriber', 'member', 'owner']
+roles = ['subscriber', 'member', 'owner', 'stargazer']
 
 
 class Association(BASE):
@@ -95,7 +95,7 @@ class Association(BASE):
     user_id = sa.Column(sa.Text,
                         sa.ForeignKey('users.openid'),
                         primary_key=True)
-    role = sa.Column(sa.Enum(*roles), nullable=False)
+    role = sa.Column(sa.Enum(*roles), primary_key=True)
 
     user = relation("User", backref="associations")
     hub = relation("Hub", backref="associations")
@@ -126,6 +126,7 @@ class Hub(BASE):
     def owners(self):
         return [assoc.user for assoc in self.associations
                 if assoc.role == 'owner']
+
     @property
     def members(self):
         return [assoc.user for assoc in self.associations
@@ -136,6 +137,11 @@ class Hub(BASE):
         return [assoc.user for assoc in self.associations
                 if assoc.role == 'subscriber']
 
+    @property
+    def stargazers(self):
+        return [assoc.user for assoc in self.associations
+                if assoc.role == 'stargazer']
+
     def subscribe(self, session, user, role='subscriber'):
         """ Subscribe a user to this hub. """
         # TODO -- add logic here to manage not adding the user multiple
@@ -284,6 +290,19 @@ class User(BASE):
                 if assoc.role == 'subscriber']
 
     @property
+    def starred_hubs(self):
+        return [assoc.hub for assoc in self.associations
+                if assoc.role == 'stargazer']
+
+    @property
+    def bookmarks(self):
+        # TODO -- someday make this editable/configurable.
+        return sorted(list(set([assoc.hub for assoc in self.associations
+                if assoc.role == 'member'
+                or assoc.role == 'subscriber'
+                or assoc.role == 'owner'])))
+
+    @property
     def username(self):
         return self.openid.split('.')[0]
 
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 5dcf3ee..d830fc8 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -52,12 +52,10 @@
           {% if g.auth.logged_in %}
           <li {% if request.path.endswith('/' + g.auth.user.username + '/') %}class='active'{% endif %}>
             <a href="/{{g.auth.user.username}}">me</a></li>
-          {% for assoc in g.auth.user.associations %}
-          <li {% if request.path.endswith('/' + assoc.hub.name + '/') %}class='active'{% endif %}>
-          <a href="/{{assoc.hub.name}}">{{assoc.hub.name}}</a></li>
+          {% for hub in g.auth.user.bookmarks %}
+          <li {% if request.path.endswith('/' + hub.name + '/') %}class='active'{% endif %}>
+          <a href="/{{hub.name}}">{{hub.name}}</a></li>
           {% endfor %}
-          <li class="divider"></li>
-          <li><a href="#">Separated link</a></li>
           {% endif %}
         </ul>
       </div><!-- /.navbar-collapse -->
diff --git a/hubs/widgets/about.py b/hubs/widgets/about.py
index b0df6cc..84b8de7 100644
--- a/hubs/widgets/about.py
+++ b/hubs/widgets/about.py
@@ -10,7 +10,7 @@ import hubs.validators as validators
 template = jinja2.Template("""
     <p>{{text}}</p>
     """)
-chrome = panel("About")
+chrome = panel("<span class='glyphicon glyphicon-info-sign' aria-hidden='true'></span> About")
 
 
 @argument(name="text", default="I am a Fedora user, and this is my about",
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 31205c4..228d60f 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -6,35 +6,46 @@ import jinja2
 
 chrome = panel()
 template = jinja2.Template("""
-<div class="stats-container">
+<div class="stats-container row">
+<div class="col-md-7">
   <table class="stats-table">
     <tr><th>Members</th><th>Subscribers</th></tr>
     <tr class="text-info"><td>{{members | length}}</td><td class="text-right">{{subscribers | length}}</td></tr>
   </table>
+</div>
+<div class="col-md-5">
+  <ul class="list-unstyled">
+  {% if g.auth.nickname in subscribers %}
+  <li><form action="{{hub_unsubscribe_url}}" method="POST">
+      <button class="btn btn-info"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Unsubscribe</button>
+  </form></li>
+  {% else %}
+  <li><form action="{{hub_subscribe_url}}" method="POST">
+      <button class="btn btn-default"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Subscribe</button>
+  </form></li>
+  {% endif %}
+
+  {% if g.auth.nickname in stargazers %}
+  <li><form action="{{hub_unstar_url}}" method="POST">
+      <button class="btn btn-info"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Unstar Hub</button>
+  </form></li>
+  {% else %}
+  <li><form action="{{hub_star_url}}" method="POST">
+      <button class="btn btn-default"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Star Hub</button>
+  </form></li>
+  {% endif %}
 
-  {% if g.auth.logged_in %}
-    <div class="pull-right">
-    {% if g.auth.nickname in members %}
-    <form action="{{hub_leave_url}}" method="POST">
-        <button class="btn btn-danger">Leave Hub</button>
-    </form>
-    {% elif g.auth.nickname in subscribers %}
-    <form action="{{hub_unsubscribe_url}}" method="POST">
-        <button class="btn btn-warning"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Unsubscribe</button>
-    </form>
-    {% else %}
-    <form action="{{hub_subscribe_url}}" method="POST">
-        <button class="btn btn-info"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Subscribe</button>
-    </form>
-    {% endif %}
-    </div>
+  {% if g.auth.nickname in members %}
+  <li><form action="{{hub_leave_url}}" method="POST">
+      <button class="btn btn-info"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Leave Hub</button>
+  </form></li>
   {% else %}
-    <div class="pull-right">
-        <form action="{{hub_subscribe_url}}" method="POST">
-            <button class="btn btn-info">Subscribe</button>
-        </form>
-    </div>
+  <li><form action="{{hub_join_url}}" method="POST">
+      <button class="btn btn-default"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Join Hub</button>
+  </form></li>
   {% endif %}
+  </ul>
+</div>
 </div>
 """)
 
@@ -44,8 +55,12 @@ def data(session, widget):
         owners=[u.username for u in widget.hub.owners],
         members=[u.username for u in widget.hub.members],
         subscribers=[u.username for u in widget.hub.subscribers],
+        stargazers=[u.username for u in widget.hub.stargazers],
+
         hub_leave_url=flask.url_for('hub_leave', hub=widget.hub.name),
         hub_join_url=flask.url_for('hub_join', hub=widget.hub.name),
+        hub_unstar_url=flask.url_for('hub_unstar', hub=widget.hub.name),
+        hub_star_url=flask.url_for('hub_star', hub=widget.hub.name),
         hub_subscribe_url=flask.url_for('hub_subscribe', hub=widget.hub.name),
         hub_unsubscribe_url=flask.url_for('hub_unsubscribe', hub=widget.hub.name),
     )
diff --git a/populate.py b/populate.py
index 4e5fa75..44699ac 100755
--- a/populate.py
+++ b/populate.py
@@ -11,7 +11,8 @@ fedmsg_config = fedmsg.config.load_config()
 session = hubs.models.init(fedmsg_config['hubs.sqlalchemy.uri'], True, True)
 
 users = ['mrichard', 'duffy', 'ryanlerch', 'gnokii', 'nask0',
-         'abompard', 'decause', 'ralph', 'lmacken']
+         'abompard', 'decause', 'ralph', 'lmacken', 'croberts', 'mattdm',
+         'pravins']
 for username in users:
     fullname = 'Full Name Goes Here'
     openid = '%s.id.fedoraproject.org' % username
@@ -21,8 +22,88 @@ for username in users:
 
 session.commit()
 
+############## Internationalizationteam
+hub = hubs.models.Hub(name='Internationalizationteam', summary='The Fedora Internationalization Team')
+session.add(hub)
 
-############## Infra team
+widget = hubs.models.Widget(plugin='stats', index=0)
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='rules', index=1,
+                            _config=json.dumps({
+                                'link': 'https://fedoraproject.org/wiki/I18N'
+                            }))
+hub.widgets.append(widget)
+
+widget = hubs.models.Widget(plugin='dummy', index=2)
+hub.widgets.append(widget)
+
+# Added a hubs about widget
+widget = hubs.models.Widget(plugin='about', index=3,
+                            _config=json.dumps({
+                                "text": "I'm a Fedora user, and this is my about widget text!",
+                            }))
+hub.widgets.append(widget)
+
+widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
+                            _config=json.dumps({
+                                'text': "<p>The Fedora I18N project works on internationalization (i18n) to support the localization (l10n) of Fedora in many languages. Translation of Fedora software and documentation are handled by the Fedora L10N project.</p> <p>The goals of the Project are to:</p> <ul><li>Develop, package, and maintain applications like input methods for different languages</li> <li>Improve applications and utilities to support and process different languages</li> <li>Quality-assure that existing applications meet i18n standards</li> <li>Support the infrastructure of the Fedora Localization Project</li></ul>",
+                            }))
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
+hub.widgets.append(widget)
+
+
+# Set up some memberships
+hub.subscribe(session, hubs.models.User.by_openid(session, 'pravins.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'decause.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'ralph.id.fedoraproject.org'), 'subscriber')
+
+
+session.commit()
+
+############## Marketing team
+hub = hubs.models.Hub(name='marketingteam', summary='The Fedora Marketing Team')
+session.add(hub)
+
+widget = hubs.models.Widget(plugin='stats', index=0)
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='rules', index=1,
+                            _config=json.dumps({
+                                'link': 'https://fedoraproject.org/wiki/Marketing'
+                            }))
+hub.widgets.append(widget)
+
+widget = hubs.models.Widget(plugin='dummy', index=2)
+hub.widgets.append(widget)
+
+# Added a hubs about widget
+widget = hubs.models.Widget(plugin='about', index=3,
+                            _config=json.dumps({
+                                "text": "I'm a Fedora user, and this is my about widget text!",
+                            }))
+hub.widgets.append(widget)
+
+widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
+                            _config=json.dumps({
+                                'text': "The Fedora Marketing Team develops and executes marketing strategies to promote the usage and support of Fedora worldwide. Through the development of processes and content, this project aims to support the efforts of other Fedora projects to spread Fedora and to provide a central repository of ideas and information that can be used to deliver Fedora to new audiences. We work closely with the Fedora Ambassadors who spread the word about Fedora at events and allow the Fedora Project to interact directly with its existing and prospective users. ",
+                            }))
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
+hub.widgets.append(widget)
+
+
+# Set up some memberships
+hub.subscribe(session, hubs.models.User.by_openid(session, 'croberts.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'ryanlerch.id.fedoraproject.org'), 'owner')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'mrichard.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'mattdm.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'decause.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'ralph.id.fedoraproject.org'), 'subscriber')
+
+
+session.commit()
+
+############## Design team
 hub = hubs.models.Hub(name='designteam', summary='The Fedora Design Team')
 session.add(hub)
 
@@ -30,7 +111,7 @@ widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='rules', index=1,
                             _config=json.dumps({
-                                'link': 'http://threebean.org'
+                                'link': 'https://fedoraproject.org/wiki/Design'
                             }))
 hub.widgets.append(widget)
 
@@ -62,6 +143,8 @@ hub.subscribe(session, hubs.models.User.by_openid(session, 'nask0.id.fedoraproje
 hub.subscribe(session, hubs.models.User.by_openid(session, 'decause.id.fedoraproject.org'), 'member')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'ralph.id.fedoraproject.org'), 'subscriber')
 
+session.commit()
+
 
 ############## Infra team
 hub = hubs.models.Hub(name='infrastructure', summary='The Fedora Infrastructure Team')
@@ -71,7 +154,7 @@ widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='rules', index=1,
                             _config=json.dumps({
-                                'link': 'http://threebean.org'
+                                'link': 'https://fedoraproject.org/wiki/Infrastructure'
                             }))
 hub.widgets.append(widget)
 

From e5970a6c47a90545aff7afe2cd055f68968eac25 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 07 2015 23:47:43 +0000
Subject: [PATCH 176/254] Put commas in those numbers.


---

diff --git a/hubs/app.py b/hubs/app.py
index cac231f..877991c 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -50,6 +50,11 @@ class CustomJSONEncoder(flask.json.JSONEncoder):
 app.json_encoder = CustomJSONEncoder
 
 
+@app.template_filter('commas')
+def commas(numeric):
+    return "{:,.2f}".format(numeric)
+
+
 @app.teardown_request
 def shutdown_session(exception=None):
     """ Remove the DB session at the end of each request. """
diff --git a/hubs/utils.py b/hubs/utils.py
index 35bf44a..0cbff18 100644
--- a/hubs/utils.py
+++ b/hubs/utils.py
@@ -12,3 +12,7 @@ def username2avatar(username, s=312):
     hash = sha256(openid.encode('utf-8')).hexdigest()
     avatar = "https://seccdn.libravatar.org/avatar/%s?%s" % (hash, query)
     return avatar
+
+
+def commas(numeric):
+    return "{:,}".format(numeric)
diff --git a/hubs/widgets/fedmsgstats.py b/hubs/widgets/fedmsgstats.py
index b353ea3..505d88b 100644
--- a/hubs/widgets/fedmsgstats.py
+++ b/hubs/widgets/fedmsgstats.py
@@ -1,6 +1,8 @@
 from hubs.hinting import hint
 from hubs.widgets.chrome import panel
 
+from hubs.utils import commas
+
 import jinja2
 import requests
 
@@ -14,7 +16,7 @@ template = jinja2.Template("""
 <div class="stats-container">
   <table class="stats-table">
     <tr><th>FedMsgs</th><th>Subscribers</th></tr>
-    <tr class="text-info"><td>{{fedmsgs}}</td><td class="text-right">{{subscribers}}</td></tr>
+    <tr class="text-info"><td>{{fedmsgs_text}}</td><td class="text-right">{{subscribers_text}}</td></tr>
   </table>
   {% if session['nickname'] != username %}
   <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
@@ -32,6 +34,8 @@ def data(session, widget, username):
         username=username,
         fedmsgs=fedmsgs,
         subscribers=len(widget.hub.subscribers),
+        fedmsgs_text=commas(fedmsgs),
+        subscribers_text=commas(len(widget.hub.subscribers)),
     )
 
 
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 228d60f..0e4a274 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -1,6 +1,8 @@
 from hubs.hinting import hint, prefixed as _
 from hubs.widgets.chrome import panel
 
+from hubs.utils import commas
+
 import flask
 import jinja2
 
@@ -10,7 +12,7 @@ template = jinja2.Template("""
 <div class="col-md-7">
   <table class="stats-table">
     <tr><th>Members</th><th>Subscribers</th></tr>
-    <tr class="text-info"><td>{{members | length}}</td><td class="text-right">{{subscribers | length}}</td></tr>
+    <tr class="text-info"><td>{{members_text}}</td><td class="text-right">{{subscribers_text}}</td></tr>
   </table>
 </div>
 <div class="col-md-5">
@@ -51,11 +53,21 @@ template = jinja2.Template("""
 
 
 def data(session, widget):
+    owners = [u.username for u in widget.hub.owners]
+    members = [u.username for u in widget.hub.members]
+    subscribers = [u.username for u in widget.hub.subscribers]
+    stargazers = [u.username for u in widget.hub.stargazers]
+
     return dict(
-        owners=[u.username for u in widget.hub.owners],
-        members=[u.username for u in widget.hub.members],
-        subscribers=[u.username for u in widget.hub.subscribers],
-        stargazers=[u.username for u in widget.hub.stargazers],
+        owners=owners,
+        members=members,
+        subscribers=subscribers,
+        stargazers=stargazers,
+
+        owners_text=commas(len(owners)),
+        members_text=commas(len(members)),
+        subscribers_text=commas(len(subscribers)),
+        stargazers_text=commas(len(stargazers)),
 
         hub_leave_url=flask.url_for('hub_leave', hub=widget.hub.name),
         hub_join_url=flask.url_for('hub_join', hub=widget.hub.name),

From c0b3bac1c2d494820a17d7b2f5687342ffff7ea4 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 08 2015 01:39:58 +0000
Subject: [PATCH 177/254] Consistent sort.


---

diff --git a/hubs/models.py b/hubs/models.py
index ef97536..205a40f 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -24,6 +24,7 @@
 import datetime
 import json
 import logging
+import operator
 
 import sqlalchemy as sa
 from sqlalchemy import create_engine
@@ -300,7 +301,7 @@ class User(BASE):
         return sorted(list(set([assoc.hub for assoc in self.associations
                 if assoc.role == 'member'
                 or assoc.role == 'subscriber'
-                or assoc.role == 'owner'])))
+                or assoc.role == 'owner'])), key=operator.attrgetter('name'))
 
     @property
     def username(self):

From 4f6dace9df4ac8bd85697a85428795400483b464 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 08 2015 18:44:20 +0000
Subject: [PATCH 178/254] login avatar dropdown


---

diff --git a/hubs/app.py b/hubs/app.py
index 877991c..02d481b 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -13,6 +13,7 @@ import hubs.models
 
 import datanommer.models
 
+from hubs.utils import username2avatar
 
 app = flask.Flask(__name__)
 
@@ -207,6 +208,7 @@ def check_auth():
         flask.g.auth.fullname = flask.session.get('fullname', None)
         flask.g.auth.nickname = flask.session.get('nickname', None)
         flask.g.auth.email = flask.session.get('email', None)
+        flask.g.auth.avatar = username2avatar(flask.g.auth.nickname)
 
 
 def get_hub(session, name):
diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 7ce693b..88a95b8 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -23,6 +23,11 @@
       font-size: 18px;
     }
 
+    .super-header .dropdown .dropdown-header {
+      font-weight: 700;
+      font-size: 16px;
+    }
+
     #logo { text-align: left; }
 
     .bookmarks .navbar.navbar-default {
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index d830fc8..ccb2cde 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -14,16 +14,16 @@
 	<div class="col-md-4 col-xs-4" id="logo"><img src="{{ url_for('static', filename='img/logo-hubs.png') }}" alt="Fedora Hubs"></div>
     <div class="col-md-2 col-md-offset-6 col-xs-8">
       {% if g.auth.logged_in %}
-        <div class="dropdown">
+        <div class="dropdown pull-right">
         <span class="dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
-          <img src="{{hub.avatar}}" class="avatar" alt="User Icon"/>
+          <img src="{{ g.auth.avatar }}" class="avatar" alt="User Icon"/>
           {# Logged in as #} {{ g.auth.nickname }}
           <span class="glyphicon glyphicon-chevron-down" aria-hidden="true"></span>
         </span>
         <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
           <li class="dropdown-header">Account Information</li>
-          <li><a href="#">Full Name: {{hub.summary}}</a></li>
-          <li><a href="#">Email: blah</a></li>
+          <li><a href="#">Full Name: {{ g.auth.fullname }}</a></li>
+          <li><a href="#">Email: {{ g.auth.email }}</a></li>
           <li role="separator" class="divider"></li>
           <li><a href="#">Separated link</a></li>
         </ul>

From 0c5a6a2c6cd25cbc910cb02d80523d1ce1e113ed Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 09 2015 14:30:23 +0000
Subject: [PATCH 179/254] mobile nav styles


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 88a95b8..74920ec 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -31,6 +31,7 @@
     #logo { text-align: left; }
 
     .bookmarks .navbar.navbar-default {
+      font-family: 'Open Sans', sans-serif;
       background: -webkit-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
       background: -o-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
       background: -moz-linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.9),rgba(255,255,255,1));
@@ -53,6 +54,14 @@
       border-bottom: 3px solid #3c6eb4;
     }
 
+    @media (max-width:768px) {
+      .bookmarks .nav > .active > a, .bookmarks .nav > .active > a:hover {
+        border-bottom: none;
+        color: #3C6EB4;
+        font-weight: 700;
+      }
+    }
+
     .header {
       color: #ffffff;
       background-color: #3c6eb4;
@@ -120,6 +129,10 @@
     font-weight: 700;
 }
 
+.widget {
+  font-family: 'Open Sans', sans-serif;
+}
+
 /* flexbox support */
 .flex-container {
     display: flex;

From 2198a9f70f53b8275da0b9e3a0d40f9cda39f3a9 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 09 2015 17:16:01 +0000
Subject: [PATCH 180/254] rules widget styles


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 74920ec..7f7526c 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -22,7 +22,9 @@
       margin: 5px 0 0 10px;
       font-size: 18px;
     }
-
+    .super-header .dropdown {
+      border-radius: 0;
+    }
     .super-header .dropdown .dropdown-header {
       font-weight: 700;
       font-size: 16px;
@@ -133,6 +135,26 @@
   font-family: 'Open Sans', sans-serif;
 }
 
+/* hub widgets */
+.rules-table {
+  width: 180px
+  padding: 0px;
+  margin: 0px;
+  display: inline-block;
+}
+.rules-table td {
+  font-size: 32pt;
+}
+.rules-container h6 {
+  font-family: 'Open Sans', sans-serif;
+  text-transform: uppercase;
+  font-size: 12px;
+  color: #797a7c;
+}
+
+.rules-container img {
+  margin-bottom: 15px;
+}
 /* flexbox support */
 .flex-container {
     display: flex;
diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index 3a1dd16..7afc67b 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -11,13 +11,17 @@ chrome = panel()
 template = jinja2.Template("""
 <div class="rules-container">
   {% if link %}
-  <p class="small-heading">community rules</p>
-  <p><a href="{{link}}">Community Rules and Guidelines</a></p>
+  <h6>community rules</h6>
+  <p><a href="{{link}}">Community Rules and Guidelines</a></h6>
   {% endif %}
-  <p class="small-heading">group owners</p>
-  {% for owner in owners %}
-    <span><img class="img-circle" src="{{owners[owner]}}"/> {{owner}}</span>
-  {% endfor %}
+  <h6>group owners</h6>
+  <div class="row">
+    {% for owner in owners %}
+        <div class="col-sm-6">
+            <img class="img-circle" src="{{owners[owner]}}"/> {{owner}}
+        </div>
+    {% endfor %}
+  </div>
 </div>
 <style>
   .rules-table {
@@ -26,11 +30,6 @@ template = jinja2.Template("""
     margin: 0px;
     display: inline-block;
   }
-  .small-heading {
-    text-transform: uppercase;
-    font-size: 80%;
-    color: #797a7c;
-  }
   .rules-table td {
     font-size: 32pt;
   }

From c3cbdc63d5f2c589d3ee9f9a6253d87d41ce29b6 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 09 2015 17:43:30 +0000
Subject: [PATCH 181/254] Update diagram.


---

diff --git a/docs/diagram.png b/docs/diagram.png
index c20d165..983c04d 100644
Binary files a/docs/diagram.png and b/docs/diagram.png differ
diff --git a/docs/diagram.txt b/docs/diagram.txt
index 0e665d7..a0d18b4 100644
--- a/docs/diagram.txt
+++ b/docs/diagram.txt
@@ -1,27 +1,38 @@
-                                                     push events to clients             +-------------------------+
-                                                     as they occur                      | web client              |
-                                            +------------------------------------------>| (built from HTML and JS |
-                                            |                                           | served by the wsgi app) |
-                                            |                                           +-------------------------+
-                                            |                                             ^                     |
-                                            |                                             |                     |
-                        +--+--------------------+---+                                     | initial page load   | configuration changes
-                        |  | EventSource server |   |     /-----------------------+       | and ajax requests   | to widgets and hubs
-                        |  |                    |   |     |{s} memcached          |       |                     |
-                        |  |                    |   |     |  (we store the data   |       |                     V
-                        |  +--------------------+   |     |  for widgets here     |     +--------------------------+
-                        |                           |     |  and rebuild it       |---->|                          |
-                        |                           |---->|  as necessary)        |<----|                          |
-                        | hubs backend              |     +-----------------------/     |  hubs wsgi app           |
-                        | (a fedmsg-hub daemon      |                                   |  (the frontend that      |
------------------------>| with a FedoraHubsConsumer |                                   |  serves what the users   |
-     ^  fedmsg          | plugin)                   |     +-----------------------+     |  see)                    |
-     |  (fas changes,   |                           |<----|{s} postgres           |<----|                          |
-     |  trac tickets,   |                           |     |  (we store the config |     +--------------------------+
-     |  etc...)         +---------------------------+     |  for widgets/hubs     |             |
-     |                                                    |  here)                |             |
-     |                                                    +-----------------------+             |
-     |                                                                                          |
-     |                                                                                          |
-     +------------------------------------------------------------------------------------------+
-                            config changes to hubs/widgets, via fedmsg
+
+                        +---------------+
+                        |               |   +--------------+
+                        | statscache    |   | {s} postgres |    +---------------+
+                        | (a fedmsg-hub |   | for holding  |    | statscache    |
+                     +->| daemon with   |-->| cached time  |--->| HTTP API      |-----------------------------------+
+                     |  | the statscache|   | series and   |    | serving stats |                                   |
+                     |  | consumer.     |   | other data   |    +---------------+                                   | serving ajax data for fancy
+                     |  |               |   +--------------+                                                        | js activity graphs
+                     |  +---------------+                                                                           |
+                     |                                                                                              V
+                     |                                                   push updated JSON                +-------------------------+
+                     |                                                   to clients asap                  | web client              |
+                     |                                          +---------------------------------------->| (built from HTML and JS |
+                     |                                          |                                         | served by the wsgi app) |
+                     |                                          |                                         +-------------------------+
+                     |                                          |                                           ^                     |
+                     |                                          |                                           |                     |
+                     |                               +--------------+                                       | initial page load   | configuration changes
+                     |                               | EventSource  |       /-----------------------+       | and ajax requests   | to widgets and hubs
+                     |                               | server       |<------|{s} redis              |       |                     |
+                     |                               +--------------+       |  (we store the data   |       |                     V
+                     |                                                      |  for widgets here     |     +--------------------------+
+                     |  +---------------+   /-----------+   +-----------+   |  and rebuild it       |---->|                          |
+                     |  |               |-->|{s} redis  |-->| N cache   |-->|  as necessary)        |<----|                          |
+                     |  | hubs backend  |   |task queue |-->| worker(s) |   +-----------------------/     |  hubs wsgi app           |
+                     |  | (a fedmsg-hub |   +-----------/   +-----------+                                 |  (the frontend that      |
+---------------------+->| daemon with a |                         ^                                       |  serves what the users   |
+     ^  fedmsg          | fedora-hubs   |                         |         +-----------------------+     |  see)                    |
+     |  (fas changes,   | consumer.     |                         +---------|{s} postgres           |<----|                          |
+     |  trac tickets,   |               |                                   |  (we store the config |     +--------------------------+
+     |  etc...)         +---------------+                                   |  for widgets/hubs     |             |
+     |                                                                      |  here)                |             |
+     |                                                                      +-----------------------+             |
+     |                                                                                                            |
+     |                                                                                                            |
+     +------------------------------------------------------------------------------------------------------------+
+                                   config changes to hubs/widgets, via fedmsg

From 34b46bee9714a6ae5d120258cfca155eb11e5382 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 09 2015 17:43:36 +0000
Subject: [PATCH 182/254] Merge branch 'develop' of pagure.io:fedora-hubs into develop


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 74920ec..7f7526c 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -22,7 +22,9 @@
       margin: 5px 0 0 10px;
       font-size: 18px;
     }
-
+    .super-header .dropdown {
+      border-radius: 0;
+    }
     .super-header .dropdown .dropdown-header {
       font-weight: 700;
       font-size: 16px;
@@ -133,6 +135,26 @@
   font-family: 'Open Sans', sans-serif;
 }
 
+/* hub widgets */
+.rules-table {
+  width: 180px
+  padding: 0px;
+  margin: 0px;
+  display: inline-block;
+}
+.rules-table td {
+  font-size: 32pt;
+}
+.rules-container h6 {
+  font-family: 'Open Sans', sans-serif;
+  text-transform: uppercase;
+  font-size: 12px;
+  color: #797a7c;
+}
+
+.rules-container img {
+  margin-bottom: 15px;
+}
 /* flexbox support */
 .flex-container {
     display: flex;
diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index 3a1dd16..7afc67b 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -11,13 +11,17 @@ chrome = panel()
 template = jinja2.Template("""
 <div class="rules-container">
   {% if link %}
-  <p class="small-heading">community rules</p>
-  <p><a href="{{link}}">Community Rules and Guidelines</a></p>
+  <h6>community rules</h6>
+  <p><a href="{{link}}">Community Rules and Guidelines</a></h6>
   {% endif %}
-  <p class="small-heading">group owners</p>
-  {% for owner in owners %}
-    <span><img class="img-circle" src="{{owners[owner]}}"/> {{owner}}</span>
-  {% endfor %}
+  <h6>group owners</h6>
+  <div class="row">
+    {% for owner in owners %}
+        <div class="col-sm-6">
+            <img class="img-circle" src="{{owners[owner]}}"/> {{owner}}
+        </div>
+    {% endfor %}
+  </div>
 </div>
 <style>
   .rules-table {
@@ -26,11 +30,6 @@ template = jinja2.Template("""
     margin: 0px;
     display: inline-block;
   }
-  .small-heading {
-    text-transform: uppercase;
-    font-size: 80%;
-    color: #797a7c;
-  }
   .rules-table td {
     font-size: 32pt;
   }

From 2fffcaecf85da30367f9d87e8d8d19f558edcfac Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 09 2015 19:27:20 +0000
Subject: [PATCH 183/254] Fix JSON repr for Hub objects.


---

diff --git a/hubs/models.py b/hubs/models.py
index 205a40f..99b2cb9 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -196,16 +196,14 @@ class Hub(BASE):
         return {
             'name': self.name,
             'summary': self.summary,
-
-            # TODO -- splash image
+            'avatar': self.avatar,
 
             'widgets': [widget.idx for widget in self.widgets],
             'left_width': self.left_width,
 
-            # TODO -- these three need to be fleshed out with real fas data.
-            'owners': self.owners,
-            'members': self.members,
-            'subscribers': self.subscribers,
+            'owners': [u.username for u in self.owners],
+            'members': [u.username for u in self.members],
+            'subscribers': [u.username for u in self.subscribers],
         }
 
 def _config_default(context):

From 7924219cb525293460efba3977538a0ab14c7366 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 09 2015 19:27:42 +0000
Subject: [PATCH 184/254] Make users the owner of their own hub.


---

diff --git a/hubs/models.py b/hubs/models.py
index 99b2cb9..4c6eee2 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -162,6 +162,8 @@ class Hub(BASE):
         session.delete(association)
         session.commit()
 
+    def is_admin(self, user):
+        return user in self.owners
 
     @classmethod
     def by_name(cls, session, name):
@@ -174,8 +176,12 @@ class Hub(BASE):
         hub = cls(name=username, summary=fullname,
                   avatar=username2avatar(username))
         session.add(hub)
+
         hubs.defaults.add_user_widgets(session, hub, username, fullname)
 
+        user = User.by_username(session, username)
+        hub.subscribe(session, user, role='owner')
+
     @property
     def right_width(self):
         return 12 - self.left_width
@@ -296,10 +302,13 @@ class User(BASE):
     @property
     def bookmarks(self):
         # TODO -- someday make this editable/configurable.
-        return sorted(list(set([assoc.hub for assoc in self.associations
-                if assoc.role == 'member'
-                or assoc.role == 'subscriber'
-                or assoc.role == 'owner'])), key=operator.attrgetter('name'))
+        return sorted(list(set([
+            assoc.hub for assoc in self.associations
+            if assoc.role == 'member'
+            or assoc.role == 'subscriber'
+            or assoc.role == 'owner'
+            and assoc.hub.name != self.username
+        ])), key=operator.attrgetter('name'))
 
     @property
     def username(self):

From 080bc843f598ddeb2ac36a6a1842502d104128fe Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 09 2015 19:28:17 +0000
Subject: [PATCH 185/254] Add an edit link to the top of each hub.


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 7f7526c..bd30bb4 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -80,6 +80,11 @@
     .header h3 {
         font-weight: 700;
     }
+
+    .header a, .header a:hover, .header a:focus {
+      color: #ffffff;
+    }
+
     .row {
       padding: 5px;
     }
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index ccb2cde..79ef909 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -67,6 +67,9 @@
     <img src="{{hub.avatar}}" class="avatar" />
     <h3>{{hub.name}}</h3>
     <h5>{{hub.summary}}</h5>
+    {% if g.auth.logged_in and hub.is_admin(g.auth.user) %}
+    <p><a href="edit"><span class="glyphicon glyphicon-edit"></span>edit this hub</a></p>
+    {% endif %}
     <div class="clearfix"></div>
   </div>
 </div>

From 53328edfaf3680c36b63ab40dbba1d32bf2193b9 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 09 2015 19:30:56 +0000
Subject: [PATCH 186/254] Adjust some strings in populate.py.


---

diff --git a/populate.py b/populate.py
index 44699ac..d682889 100755
--- a/populate.py
+++ b/populate.py
@@ -23,7 +23,7 @@ for username in users:
 session.commit()
 
 ############## Internationalizationteam
-hub = hubs.models.Hub(name='Internationalizationteam', summary='The Fedora Internationalization Team')
+hub = hubs.models.Hub(name='i18n', summary='The Internationalization Team')
 session.add(hub)
 
 widget = hubs.models.Widget(plugin='stats', index=0)
@@ -62,7 +62,7 @@ hub.subscribe(session, hubs.models.User.by_openid(session, 'ralph.id.fedoraproje
 session.commit()
 
 ############## Marketing team
-hub = hubs.models.Hub(name='marketingteam', summary='The Fedora Marketing Team')
+hub = hubs.models.Hub(name='marketing', summary='The Fedora Marketing Team')
 session.add(hub)
 
 widget = hubs.models.Widget(plugin='stats', index=0)
@@ -138,7 +138,7 @@ hub.widgets.append(widget)
 hub.subscribe(session, hubs.models.User.by_openid(session, 'duffy.id.fedoraproject.org'), 'owner')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'ryanlerch.id.fedoraproject.org'), 'owner')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'gnokii.id.fedoraproject.org'), 'owner')
-hub.subscribe(session, hubs.models.User.by_openid(session, 'mrichard.id.fedoraproject.org'), 'member')
+hub.subscribe(session, hubs.models.User.by_openid(session, 'mrichard.id.fedoraproject.org'), 'owner')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'nask0.id.fedoraproject.org'), 'member')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'decause.id.fedoraproject.org'), 'member')
 hub.subscribe(session, hubs.models.User.by_openid(session, 'ralph.id.fedoraproject.org'), 'subscriber')
@@ -147,7 +147,7 @@ session.commit()
 
 
 ############## Infra team
-hub = hubs.models.Hub(name='infrastructure', summary='The Fedora Infrastructure Team')
+hub = hubs.models.Hub(name='infrastructure', summary='The Fedora Infra Team')
 session.add(hub)
 
 widget = hubs.models.Widget(plugin='stats', index=0)

From 51cfae882bc9a710d6a297c95a70383bc2bdf96e Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 09 2015 20:27:39 +0000
Subject: [PATCH 187/254] Stubbing out some stuff about editing hubs.


---

diff --git a/hubs/app.py b/hubs/app.py
index 02d481b..e7ed3c0 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -74,8 +74,8 @@ def index():
 @app.route('/<name>/')
 def hub(name):
     hub = get_hub(session, name)
-    return flask.render_template('hubs.html', hub=hub, session=session)
-
+    return flask.render_template(
+        'hubs.html', hub=hub, session=session, edit=False)
 
 @app.route('/<name>/json')
 @app.route('/<name>/json/')
@@ -86,11 +86,28 @@ def hub_json(name):
     return response
 
 
+@app.route('/<name>/edit', methods=['GET'])
+@app.route('/<name>/edit/', methods=['GET'])
+def hub_edit_get(name):
+    hub = get_hub(session, name)
+    return flask.render_template(
+        'hubs.html', hub=hub, session=session, edit=True)
+
+
+@app.route('/<name>/edit', methods=['POST'])
+@app.route('/<name>/edit/', methods=['POST'])
+def hub_edit_post(name):
+    #hub = get_hub(session, name)
+    # TODO -- save things to the db ... and then redirect
+    raise NotImplementedError('TODO - save changes to hub config')
+    flask.redirect(flask.url_for('hub', name=name))
+
+
 @app.route('/<hub>/<idx>')
 @app.route('/<hub>/<idx>/')
 def widget_render(hub, idx):
     widget = get_widget(session, hub, idx)
-    return widget.render(session)
+    return widget.render(session, edit=False)
 
 
 @app.route('/<hub>/<idx>/json')
@@ -102,6 +119,25 @@ def widget_json(hub, idx):
     return response
 
 
+@app.route('/<hub>/<idx>/edit', methods=['GET'])
+@app.route('/<hub>/<idx>/edit/', methods=['GET'])
+def widget_edit_get(hub, idx):
+    widget = get_widget(session, hub, idx)
+    raise NotImplementedError('next step is to get the widgets to render '
+                              'editable versions of themselves with their '
+                              'declared @arguments, etc...')
+    return widget.render(session, edit=True)
+
+
+@app.route('/<hub>/<idx>/edit', methods=['POST'])
+@app.route('/<hub>/<idx>/edit/', methods=['POST'])
+def widget_edit_post(hub, idx):
+    #widget = get_widget(session, hub, idx)
+    # TODO -- save things to the db ... and then redirect
+    raise NotImplementedError('TODO - save changes to widget config')
+    flask.redirect(flask.url_for('hub', name=hub))
+
+
 @app.route('/source/<name>')
 @app.route('/source/<name>/')
 def widget_source(name):
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 79ef909..680ed62 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -67,7 +67,7 @@
     <img src="{{hub.avatar}}" class="avatar" />
     <h3>{{hub.name}}</h3>
     <h5>{{hub.summary}}</h5>
-    {% if g.auth.logged_in and hub.is_admin(g.auth.user) %}
+    {% if g.auth.logged_in and not edit and hub.is_admin(g.auth.user) %}
     <p><a href="edit"><span class="glyphicon glyphicon-edit"></span>edit this hub</a></p>
     {% endif %}
     <div class="clearfix"></div>
@@ -81,12 +81,32 @@
       {% for widget in hub.left_widgets %}
       <div id="widget-{{ widget.idx }}" class="row"></div>
       {% endfor %}
+
+      {% if edit %}
+      <div id='add-widget-left' class='widget row'>
+        <div class="panel panel-default panel-visible">
+          <div class="panel-body">
+            <h1><a href="#"><span class="glyphicon glyphicon-plus"></span> Add a widget</a></h1>
+          </div>
+        </div>
+      </div>
+      {% endif %}
     </div>
 
     <div class="col-md-{{ hub.right_width }}">
       {% for widget in hub.right_widgets %}
       <div id="widget-{{ widget.idx }}" class="widget row"></div>
       {% endfor %}
+
+      {% if edit %}
+      <div id='add-widget-right' class='widget row'>
+        <div class="panel panel-default panel-visible">
+          <div class="panel-body">
+            <h1><a href="#"><span class="glyphicon glyphicon-plus"></span> Add a widget</a></h1>
+          </div>
+        </div>
+      </div>
+      {% endif %}
     </div>
   </div>
 </div>
@@ -97,7 +117,11 @@
 var widgets = [{% for widget in hub.widgets %}'{{ widget.idx }}',{% endfor %}];
 $.each(widgets, function(i, widget) {
     $.ajax({
+      {% if edit %}
+      url: widget + '/edit/',
+      {% else %}
       url: widget,
+      {% endif %}
       dataType: 'html',
       success: function(html) {
         $('#widget-' + widget).html(html);

From 48f4f5d39d72b4b75d6638bbd94cc3531b6142cd Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 10 2015 20:26:26 +0000
Subject: [PATCH 188/254] assorted small things


---

diff --git a/hubs/app.py b/hubs/app.py
index e7ed3c0..05794ba 100644
--- a/hubs/app.py
+++ b/hubs/app.py
@@ -107,7 +107,8 @@ def hub_edit_post(name):
 @app.route('/<hub>/<idx>/')
 def widget_render(hub, idx):
     widget = get_widget(session, hub, idx)
-    return widget.render(session, edit=False)
+    return widget.render(session)#, edit=False)
+    #was blocking all widgets from working, sorry!
 
 
 @app.route('/<hub>/<idx>/json')
diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index bd30bb4..6973e2a 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -56,6 +56,13 @@
       border-bottom: 3px solid #3c6eb4;
     }
 
+    .navbar-default .navbar-toggle {
+      border: none;
+    }
+
+    .navbar-default .navbar-toggle:focus {
+      background-color: none;
+    }
     @media (max-width:768px) {
       .bookmarks .nav > .active > a, .bookmarks .nav > .active > a:hover {
         border-bottom: none;
@@ -167,6 +174,10 @@
     flex-wrap: wrap;
 }
 
+.stats-container button {
+  margin: 20px 0 0 0;
+}
+
 .stats-table {
 width: 180px
 padding: 0px;
diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
index f37819f..4b0df3a 100644
--- a/hubs/widgets/subscriptions.py
+++ b/hubs/widgets/subscriptions.py
@@ -14,11 +14,11 @@ chrome = panel('Hubs', key='associations')
 template = jinja2.Template("""
 {% if associations %}
     {% if memberships %}
-        <p>Belongs to: {{memberships_text}}</p>
+        <p><strong>Belongs to: </strong>{{memberships_text}}</p>
     {% endif %}
     <hr/>
     {% if subscriptions %}
-        <p>Subscribes to: {{subscriptions_text}}</p>
+        <p><strong>Subscribes to:</strong> {{subscriptions_text}}</p>
     {% endif %}
 {% endif %}
 """)

From 2c529fec62342dd68580c415ec2b3f5837cd7bb2 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 13 2015 21:06:48 +0000
Subject: [PATCH 189/254] edit styles


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 6973e2a..2381c4f 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -167,6 +167,11 @@
 .rules-container img {
   margin-bottom: 15px;
 }
+
+#add-widget-left h4 a, #add-widget-right h4 a {
+  color: #60605b;
+}
+
 /* flexbox support */
 .flex-container {
     display: flex;
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 680ed62..d62f2d7 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -86,7 +86,7 @@
       <div id='add-widget-left' class='widget row'>
         <div class="panel panel-default panel-visible">
           <div class="panel-body">
-            <h1><a href="#"><span class="glyphicon glyphicon-plus"></span> Add a widget</a></h1>
+            <h4><a href="#"><span class="glyphicon glyphicon-plus"></span> Add a widget</a></h4>
           </div>
         </div>
       </div>
@@ -102,7 +102,7 @@
       <div id='add-widget-right' class='widget row'>
         <div class="panel panel-default panel-visible">
           <div class="panel-body">
-            <h1><a href="#"><span class="glyphicon glyphicon-plus"></span> Add a widget</a></h1>
+            <h4><a href="#"><span class="glyphicon glyphicon-plus"></span> Add a widget</a></h4>
           </div>
         </div>
       </div>

From e1b6752c0668e363491e7e1891f80817c1fad2c9 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 14 2015 15:05:56 +0000
Subject: [PATCH 190/254] stats icons and responsive


---

diff --git a/hubs/widgets/fedmsgstats.py b/hubs/widgets/fedmsgstats.py
index 505d88b..b81a2cd 100644
--- a/hubs/widgets/fedmsgstats.py
+++ b/hubs/widgets/fedmsgstats.py
@@ -13,14 +13,18 @@ config = fedmsg.config.load_config()
 
 chrome = panel()
 template = jinja2.Template("""
-<div class="stats-container">
+<div class="stats-container row">
+  <div class="col-sm-7 col-md-12 col-lg-7">
   <table class="stats-table">
     <tr><th>FedMsgs</th><th>Subscribers</th></tr>
     <tr class="text-info"><td>{{fedmsgs_text}}</td><td class="text-right">{{subscribers_text}}</td></tr>
   </table>
+  </div>
+  <div class="col-sm-5 col-md-12 col-lg-5">
   {% if session['nickname'] != username %}
   <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
   {% endif %}
+  </div>
 </div>
 """)
 
diff --git a/hubs/widgets/stats.py b/hubs/widgets/stats.py
index 0e4a274..3523e84 100644
--- a/hubs/widgets/stats.py
+++ b/hubs/widgets/stats.py
@@ -23,7 +23,7 @@ template = jinja2.Template("""
   </form></li>
   {% else %}
   <li><form action="{{hub_subscribe_url}}" method="POST">
-      <button class="btn btn-default"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Subscribe</button>
+      <button class="btn btn-default"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Subscribe</button>
   </form></li>
   {% endif %}
 
@@ -33,7 +33,7 @@ template = jinja2.Template("""
   </form></li>
   {% else %}
   <li><form action="{{hub_star_url}}" method="POST">
-      <button class="btn btn-default"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Star Hub</button>
+      <button class="btn btn-default"><span class="glyphicon glyphicon-star" aria-hidden="true"></span> Star Hub</button>
   </form></li>
   {% endif %}
 
@@ -43,7 +43,7 @@ template = jinja2.Template("""
   </form></li>
   {% else %}
   <li><form action="{{hub_join_url}}" method="POST">
-      <button class="btn btn-default"><span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span> Join Hub</button>
+      <button class="btn btn-default"><span class="glyphicon glyphicon-user" aria-hidden="true"></span> Join Hub</button>
   </form></li>
   {% endif %}
   </ul>

From 00d4bd585cd592965c81e101531f766ed8ae9b3b Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 14 2015 20:36:00 +0000
Subject: [PATCH 191/254] search bar styles


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 2381c4f..ca82675 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -30,6 +30,27 @@
       font-size: 16px;
     }
 
+    .super-header input {
+      width: 100%;
+      border-radius: 0;
+      font-family: 'Open Sans', sans-serif;
+      padding: 5px;
+      border: 1px solid #d1d3d4;
+    }
+
+    .super-header .input-group-addon {
+      background-color: #3C6EB4;
+      color: #fff;
+      border: 0;
+      border-radius: 0;
+    }
+
+    @media (max-width: 768px) {
+      .super-header .input-group {
+        margin-top: 20px;
+      }
+    }
+
     #logo { text-align: left; }
 
     .bookmarks .navbar.navbar-default {
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index d62f2d7..fb0f390 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -11,8 +11,8 @@
 <body>
 <div class="super-header">
   <div class="row">
-	<div class="col-md-4 col-xs-4" id="logo"><img src="{{ url_for('static', filename='img/logo-hubs.png') }}" alt="Fedora Hubs"></div>
-    <div class="col-md-2 col-md-offset-6 col-xs-8">
+	  <div class="col-xs-4" id="logo"><img src="{{ url_for('static', filename='img/logo-hubs.png') }}" alt="Fedora Hubs"></div>
+    <div class="col-sm-4 col-sm-push-4 col-xs-8">
       {% if g.auth.logged_in %}
         <div class="dropdown pull-right">
         <span class="dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
@@ -32,6 +32,15 @@
         Not logged in.  Click to <a href="{{url_for('login_fedora')}}">login</a>.
       {% endif %}
     </div>
+    <div class="col-sm-4 col-sm-pull-4 col-xs-12">
+      <!-- NOT HOOKED UP TO ANYTHING XOXO -->
+      <div class="input-group">
+        <input type="search" placeholder="Search across all hubs ..."></input>
+        <span class="input-group-addon">
+          <span class="glyphicon glyphicon-search"></span>
+        </span>
+    </div>
+    </div>
   </div>
 </div>
 <div class="bookmarks">

From c44a741c0d435db2f59e6ab664abf79275f90ebf Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 16 2015 17:06:07 +0000
Subject: [PATCH 192/254] move edit link


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index ca82675..5185d09 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -113,6 +113,9 @@
       color: #ffffff;
     }
 
+    .header span.edit {
+      margin: 5px 5px 0 0;
+    }
     .row {
       padding: 5px;
     }
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index fb0f390..cc45378 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -72,13 +72,13 @@
   </nav>
 </div>
 <div class="header">
+  {% if g.auth.logged_in and not edit and hub.is_admin(g.auth.user) %}
+    <span class="edit pull-right"><a href="edit"><span class="glyphicon glyphicon-edit"></span> edit this hub</a></span>
+  {% endif %}
   <div class="padded center-block medium-wide">
     <img src="{{hub.avatar}}" class="avatar" />
     <h3>{{hub.name}}</h3>
     <h5>{{hub.summary}}</h5>
-    {% if g.auth.logged_in and not edit and hub.is_admin(g.auth.user) %}
-    <p><a href="edit"><span class="glyphicon glyphicon-edit"></span>edit this hub</a></p>
-    {% endif %}
     <div class="clearfix"></div>
   </div>
 </div>

From cfe0fa54e1d36238ca910cd96628f0c33025a555 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 14:55:03 +0000
Subject: [PATCH 193/254] Add a section on how to create a new widget.


---

diff --git a/README.rst b/README.rst
index 3399529..f07a965 100644
--- a/README.rst
+++ b/README.rst
@@ -139,8 +139,8 @@ that *should* show up on your feed.. they should appear there.  (At very least,
 you shouldn't get an error message about that widget being unable to be
 displayed).
 
-Internal design
-===============
+Stubbing out a new Widget
+=========================
 
 You write a new widget in the ``hubs/widgets/`` directory and must declare it
 in the registry dict in ``hubs/widgets/__init__.py``.
@@ -158,7 +158,18 @@ In order to be valid, a widget must have:
   True if the lookup value should be nuked/refreshed in memcached (or some
   other store).
 
-Furthermore, a proposal:
+If you want to try making a new widget:
+
+- Copy an existing one in ``hubs/widgets/``
+- Add it to the registry in ``hubs/widgets/__init__.py``
+- If you want it to show up on a **user** page, add it to ``hubs/defaults.py``
+  in the ``add_user_widgets`` function.
+- If you want it to show up on **group** pages, add it to ``populate.py``.
+
+Destroy your database, rebuild it, and re-run the app.  Your widget should show up.
+
+A proposal, client-side templates
+=================================
 
 - The template per-widget is currently held and rendered *server-side* with
   jinja2.  This is how all our apps do it, more or less.

From b62b197a14693edd39527b9431e15036beabe2d2 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 15:10:13 +0000
Subject: [PATCH 194/254] Fix updates workflow widget on chromium.


---

diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index 59860a7..49b54e2 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -20,12 +20,12 @@ template = jinja2.Template("""
     <li class="media">
         <div class="media-left">
             <a href="{{update['link']}}" target="_blank">
-                <img class="media-object img-responsive square-32" src="{{update['icon']}}"/>
+                <img class="media-object square-32" src="{{update['icon']}}"/>
             </a>
         </div>
         <div class="media-body">
             <h4 class="media-heading">{{update['title']}} (karma {{update['karma']}})</h4>
-            ready for love
+            can be pushed to stable
         </div>
     </li>
 {% endfor %}

From 07f37381fd0bed852a38ff0090a0254f6c5c4db6 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 15:22:37 +0000
Subject: [PATCH 195/254] Gray out hub links based on mocked inactivity.


---

diff --git a/hubs/models.py b/hubs/models.py
index 4c6eee2..2808b73 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -124,6 +124,29 @@ class Hub(BASE):
     #fas_group = sa.Column(sa.String(32), nullable=False)
 
     @property
+    def days_idle(self):
+        # TODO -- implement calculating time since this hub was active
+        import random
+        return random.randint(0, 356)
+
+    @property
+    def activity_class(self):
+        idle = self.days_idle
+        limits = [
+            (356 * 5,   '5years'),
+            (356 * 2,   '2years'),
+            (356,       'year'),
+            (31 * 3,    'quarter'),
+            (31,        'month'),
+            (7,         'week'),
+            (1,         'day'),
+            (0,         'none'),
+        ]
+        for limit, name in limits:
+            if idle > limit:
+                return name
+
+    @property
     def owners(self):
         return [assoc.user for assoc in self.associations
                 if assoc.role == 'owner']
diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 5185d09..ad7f8c9 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -227,3 +227,12 @@ font-size: 32pt;
     width: 32px;
     height: 32px;
 }
+
+.navbar-nav > li.idle-none    > a { }
+.navbar-nav > li.idle-day     > a { }
+.navbar-nav > li.idle-week    > a { }
+.navbar-nav > li.idle-month   > a { color: #888; }
+.navbar-nav > li.idle-quarter > a { color: #999; }
+.navbar-nav > li.idle-year    > a { color: #AAA; }
+.navbar-nav > li.idle-2years  > a { color: #BBB; }
+.navbar-nav > li.idle-5years  > a { color: #CCC; }
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index cc45378..f713641 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -62,7 +62,7 @@
           <li {% if request.path.endswith('/' + g.auth.user.username + '/') %}class='active'{% endif %}>
             <a href="/{{g.auth.user.username}}">me</a></li>
           {% for hub in g.auth.user.bookmarks %}
-          <li {% if request.path.endswith('/' + hub.name + '/') %}class='active'{% endif %}>
+          <li class='idle-{{hub.activity_class}}{% if request.path.endswith('/' + hub.name + '/') %} active{% endif %}'>
           <a href="/{{hub.name}}">{{hub.name}}</a></li>
           {% endfor %}
           {% endif %}

From c92b857adb5d94a531e4a9ac6942f3a91ab4bea0 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 16:17:39 +0000
Subject: [PATCH 196/254] Start a cobwebs widget.


---

diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index b644707..06a3b79 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -9,6 +9,7 @@ from hubs.widgets import fedmsgs
 from hubs.widgets import fedmsgstats
 from hubs.widgets import feed
 from hubs.widgets import subscriptions
+from hubs.widgets import cobwebs
 
 from hubs.widgets.workflow import pendingacls
 from hubs.widgets.workflow import updates2stable
@@ -27,6 +28,7 @@ registry = {
     'fedmsgstats': fedmsgstats,
     'feed': feed,
     'subscriptions': subscriptions,
+    'cobwebs': cobwebs,
 
     'workflow.pendingacls': pendingacls,
     'workflow.updates2stable': updates2stable,
diff --git a/hubs/widgets/cobwebs.py b/hubs/widgets/cobwebs.py
new file mode 100644
index 0000000..d6684b2
--- /dev/null
+++ b/hubs/widgets/cobwebs.py
@@ -0,0 +1,36 @@
+from hubs.hinting import hint, prefixed as _
+
+import arrow
+import datetime
+import jinja2
+
+from hubs.widgets.chrome import panel
+chrome = panel(None, key='old', klass='panel-info')
+
+template = jinja2.Template("""
+{% if old %}
+<ul class="media-list">
+    <li class="media">
+        <div class="media-left">
+            <img class="media-object square-32" src="http://placekitten.com/g/32/32"/>
+        </div>
+        <div class="media-body">
+            Cobweb alert!  This hub was last active {{then}}.
+        </div>
+    </li>
+</ul>
+{% endif %}
+""")
+
+
+def data(session, widget):
+    days = widget.hub.days_idle
+    old = days > 31
+    then = datetime.datetime.utcnow() - datetime.timedelta(days=days)
+    then = arrow.get(then).humanize()
+    return dict(old=old, days=days, then=then)
+
+
+#@hint(topics=[_('hubs.widget.update')])
+def should_invalidate(message, session, widget):
+    raise NotImplementedError()
diff --git a/populate.py b/populate.py
index d682889..5b4f7a2 100755
--- a/populate.py
+++ b/populate.py
@@ -44,12 +44,14 @@ widget = hubs.models.Widget(plugin='about', index=3,
                             }))
 hub.widgets.append(widget)
 
-widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
+widget = hubs.models.Widget(plugin='cobwebs', index=0, left=True)
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='sticky', index=1, left=True,
                             _config=json.dumps({
                                 'text': "<p>The Fedora I18N project works on internationalization (i18n) to support the localization (l10n) of Fedora in many languages. Translation of Fedora software and documentation are handled by the Fedora L10N project.</p> <p>The goals of the Project are to:</p> <ul><li>Develop, package, and maintain applications like input methods for different languages</li> <li>Improve applications and utilities to support and process different languages</li> <li>Quality-assure that existing applications meet i18n standards</li> <li>Support the infrastructure of the Fedora Localization Project</li></ul>",
                             }))
 hub.widgets.append(widget)
-widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
+widget = hubs.models.Widget(plugin='dummy', index=2, left=True)
 hub.widgets.append(widget)
 
 
@@ -83,12 +85,14 @@ widget = hubs.models.Widget(plugin='about', index=3,
                             }))
 hub.widgets.append(widget)
 
-widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
+widget = hubs.models.Widget(plugin='cobwebs', index=0, left=True)
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='sticky', index=1, left=True,
                             _config=json.dumps({
                                 'text': "The Fedora Marketing Team develops and executes marketing strategies to promote the usage and support of Fedora worldwide. Through the development of processes and content, this project aims to support the efforts of other Fedora projects to spread Fedora and to provide a central repository of ideas and information that can be used to deliver Fedora to new audiences. We work closely with the Fedora Ambassadors who spread the word about Fedora at events and allow the Fedora Project to interact directly with its existing and prospective users. ",
                             }))
 hub.widgets.append(widget)
-widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
+widget = hubs.models.Widget(plugin='dummy', index=2, left=True)
 hub.widgets.append(widget)
 
 
@@ -125,12 +129,14 @@ widget = hubs.models.Widget(plugin='about', index=3,
                             }))
 hub.widgets.append(widget)
 
-widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
+widget = hubs.models.Widget(plugin='cobwebs', index=0, left=True)
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='sticky', index=1, left=True,
                             _config=json.dumps({
                                 'text': "The Design Team is the design group of the Fedora project. Our interests are not only in creating graphics for use by the Fedora community, but also in advocating the use of the creative tools that are a part of Fedora.",
                             }))
 hub.widgets.append(widget)
-widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
+widget = hubs.models.Widget(plugin='dummy', index=2, left=True)
 hub.widgets.append(widget)
 
 
@@ -168,12 +174,14 @@ widget = hubs.models.Widget(plugin='about', index=3,
                             }))
 hub.widgets.append(widget)
 
-widget = hubs.models.Widget(plugin='sticky', index=0, left=True,
+widget = hubs.models.Widget(plugin='cobwebs', index=0, left=True)
+hub.widgets.append(widget)
+widget = hubs.models.Widget(plugin='sticky', index=2, left=True,
                             _config=json.dumps({
                                 'text': "The Infrastructure Team consists of dedicated volunteers and professionals managing the servers, building the tools and utilities, and creating new applications to make Fedora development a smoother process. We're located all over the globe and communicate primarily by IRC and e-mail. ",
                             }))
 hub.widgets.append(widget)
-widget = hubs.models.Widget(plugin='dummy', index=1, left=True)
+widget = hubs.models.Widget(plugin='dummy', index=3, left=True)
 hub.widgets.append(widget)
 
 

From c5840bef4f66cf6c64a75c2bfd5c065e84bdba50 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 16:37:43 +0000
Subject: [PATCH 197/254] cobwebs!


---

diff --git a/hubs/static/img/cobweb.png b/hubs/static/img/cobweb.png
new file mode 100644
index 0000000..4d94b12
Binary files /dev/null and b/hubs/static/img/cobweb.png differ
diff --git a/hubs/widgets/cobwebs.py b/hubs/widgets/cobwebs.py
index d6684b2..ff1ebd5 100644
--- a/hubs/widgets/cobwebs.py
+++ b/hubs/widgets/cobwebs.py
@@ -12,7 +12,7 @@ template = jinja2.Template("""
 <ul class="media-list">
     <li class="media">
         <div class="media-left">
-            <img class="media-object square-32" src="http://placekitten.com/g/32/32"/>
+            <img class="media-object square-32" src="{{cobweb_icon}}"/>
         </div>
         <div class="media-body">
             Cobweb alert!  This hub was last active {{then}}.
@@ -28,7 +28,9 @@ def data(session, widget):
     old = days > 31
     then = datetime.datetime.utcnow() - datetime.timedelta(days=days)
     then = arrow.get(then).humanize()
-    return dict(old=old, days=days, then=then)
+    import flask
+    cobweb_icon = flask.url_for('static', filename='img/cobweb.png')
+    return dict(old=old, days=days, then=then, cobweb_icon=cobweb_icon)
 
 
 #@hint(topics=[_('hubs.widget.update')])

From 4b1d9b5ea622130f9646b92ceef55f7173b12ff9 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 17:31:30 +0000
Subject: [PATCH 198/254] Stub out some of locking/archiving hubs.


---

diff --git a/hubs/models.py b/hubs/models.py
index 2808b73..4045200 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -117,6 +117,8 @@ class Hub(BASE):
     created_on = sa.Column(sa.DateTime, default=datetime.datetime.utcnow)
     widgets = relation('Widget', backref=backref('hub'))
     left_width = sa.Column(sa.Integer, nullable=False, default=8)
+    archived = sa.Column(sa.Boolean, default=False)
+    user_hub = sa.Column(sa.Boolean, default=False)
 
     # A URL to the "avatar" for this hub.
     avatar = sa.Column(sa.String(256), default=placekitten)
@@ -197,7 +199,8 @@ class Hub(BASE):
     @classmethod
     def create_user_hub(cls, session, username, fullname):
         hub = cls(name=username, summary=fullname,
-                  avatar=username2avatar(username))
+                  avatar=username2avatar(username),
+                  user_hub=True)
         session.add(hub)
 
         hubs.defaults.add_user_widgets(session, hub, username, fullname)
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index f713641..83cdcde 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -73,7 +73,22 @@
 </div>
 <div class="header">
   {% if g.auth.logged_in and not edit and hub.is_admin(g.auth.user) %}
-    <span class="edit pull-right"><a href="edit"><span class="glyphicon glyphicon-edit"></span> edit this hub</a></span>
+    <div class="dropdown pull-right">
+      <span class="dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
+        <span class="glyphicon glyphicon-edit"></span> edit this page
+      </span>
+      <ul class="dropdown-menu" aria-labelledby="dropdownMenu2">
+        <li><a href="#">Customize Header</a></li>
+        <li role="separator" class="divider"></li>
+        <li><a href="#">Configure Widgets</a></li>
+        {% if not hub.user_hub %}
+        <li role="separator" class="divider"></li>
+        <li><a href="#">Manage Members</a></li>
+        <li role="separator" class="divider"></li>
+        <li><a href="#">Archive Hub</a></li>
+        {% endif %}
+      </ul>
+    </div>
   {% endif %}
   <div class="padded center-block medium-wide">
     <img src="{{hub.avatar}}" class="avatar" />

From b44ee1c77517dd750ff26c846a430e4b30ba7075 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 17:44:30 +0000
Subject: [PATCH 199/254] Show archived status in the cobweb widget.


---

diff --git a/hubs/widgets/cobwebs.py b/hubs/widgets/cobwebs.py
index ff1ebd5..6f16810 100644
--- a/hubs/widgets/cobwebs.py
+++ b/hubs/widgets/cobwebs.py
@@ -12,10 +12,14 @@ template = jinja2.Template("""
 <ul class="media-list">
     <li class="media">
         <div class="media-left">
-            <img class="media-object square-32" src="{{cobweb_icon}}"/>
+            <img class="media-object square-32" src="{{icon}}"/>
         </div>
         <div class="media-body">
+        {% if archived %}
+            This hub has been archived and locked.
+        {% else %}
             Cobweb alert!  This hub was last active {{then}}.
+        {% endif %}
         </div>
     </li>
 </ul>
@@ -25,12 +29,16 @@ template = jinja2.Template("""
 
 def data(session, widget):
     days = widget.hub.days_idle
-    old = days > 31
+    archived = widget.hub.archived
+    old = days > 31 or archived
     then = datetime.datetime.utcnow() - datetime.timedelta(days=days)
     then = arrow.get(then).humanize()
     import flask
-    cobweb_icon = flask.url_for('static', filename='img/cobweb.png')
-    return dict(old=old, days=days, then=then, cobweb_icon=cobweb_icon)
+    if archived:
+        icon = flask.url_for('static', filename='img/archived.png')
+    else:
+        icon = flask.url_for('static', filename='img/cobweb.png')
+    return dict(old=old, days=days, then=then, icon=icon, archived=archived)
 
 
 #@hint(topics=[_('hubs.widget.update')])

From 5db5bd0046ebcd5573668a02458304d3896a3679 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 31 2015 17:48:29 +0000
Subject: [PATCH 200/254] purple red ified panels


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index ad7f8c9..63fefd9 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -155,6 +155,38 @@
       max-height: 100%;
     }
 
+    .panel-info, .panel-info .panel-heading {
+      background-color: #a07cbc;
+      font-family: 'Open Sans', sans-serif;
+      color: #fff;
+      border: 0;
+    }
+
+    .panel-info .panel-heading h3 {
+      font-weight: 700;
+      font-size: 16px;
+    }
+
+    .panel-info .widget-buttons a {
+      color: #fff;
+    }
+
+    .panel-danger, .panel-danger .panel-heading {
+      background-color: #bd0b0b;
+      font-family: 'Open Sans', sans-serif;
+      color: #fff;
+      border: 0;
+    }
+
+    .panel-danger .panel-heading h3 {
+      font-weight: 700;
+      font-size: 16px;
+    }
+
+    .panel-info .widget-buttons a {
+      color: #fff;
+    }
+
 /* generic widget styling */
 .widget .panel-default > .panel-heading {
     font-family: 'Open Sans', 'sans-serif';

From 6565360faece08876e01b151eae94632e98523fe Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 31 2015 17:48:46 +0000
Subject: [PATCH 201/254] Merge branch 'develop' of pagure.io:fedora-hubs into develop


---

diff --git a/hubs/models.py b/hubs/models.py
index 2808b73..4045200 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -117,6 +117,8 @@ class Hub(BASE):
     created_on = sa.Column(sa.DateTime, default=datetime.datetime.utcnow)
     widgets = relation('Widget', backref=backref('hub'))
     left_width = sa.Column(sa.Integer, nullable=False, default=8)
+    archived = sa.Column(sa.Boolean, default=False)
+    user_hub = sa.Column(sa.Boolean, default=False)
 
     # A URL to the "avatar" for this hub.
     avatar = sa.Column(sa.String(256), default=placekitten)
@@ -197,7 +199,8 @@ class Hub(BASE):
     @classmethod
     def create_user_hub(cls, session, username, fullname):
         hub = cls(name=username, summary=fullname,
-                  avatar=username2avatar(username))
+                  avatar=username2avatar(username),
+                  user_hub=True)
         session.add(hub)
 
         hubs.defaults.add_user_widgets(session, hub, username, fullname)
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index f713641..83cdcde 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -73,7 +73,22 @@
 </div>
 <div class="header">
   {% if g.auth.logged_in and not edit and hub.is_admin(g.auth.user) %}
-    <span class="edit pull-right"><a href="edit"><span class="glyphicon glyphicon-edit"></span> edit this hub</a></span>
+    <div class="dropdown pull-right">
+      <span class="dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
+        <span class="glyphicon glyphicon-edit"></span> edit this page
+      </span>
+      <ul class="dropdown-menu" aria-labelledby="dropdownMenu2">
+        <li><a href="#">Customize Header</a></li>
+        <li role="separator" class="divider"></li>
+        <li><a href="#">Configure Widgets</a></li>
+        {% if not hub.user_hub %}
+        <li role="separator" class="divider"></li>
+        <li><a href="#">Manage Members</a></li>
+        <li role="separator" class="divider"></li>
+        <li><a href="#">Archive Hub</a></li>
+        {% endif %}
+      </ul>
+    </div>
   {% endif %}
   <div class="padded center-block medium-wide">
     <img src="{{hub.avatar}}" class="avatar" />
diff --git a/hubs/widgets/cobwebs.py b/hubs/widgets/cobwebs.py
index ff1ebd5..6f16810 100644
--- a/hubs/widgets/cobwebs.py
+++ b/hubs/widgets/cobwebs.py
@@ -12,10 +12,14 @@ template = jinja2.Template("""
 <ul class="media-list">
     <li class="media">
         <div class="media-left">
-            <img class="media-object square-32" src="{{cobweb_icon}}"/>
+            <img class="media-object square-32" src="{{icon}}"/>
         </div>
         <div class="media-body">
+        {% if archived %}
+            This hub has been archived and locked.
+        {% else %}
             Cobweb alert!  This hub was last active {{then}}.
+        {% endif %}
         </div>
     </li>
 </ul>
@@ -25,12 +29,16 @@ template = jinja2.Template("""
 
 def data(session, widget):
     days = widget.hub.days_idle
-    old = days > 31
+    archived = widget.hub.archived
+    old = days > 31 or archived
     then = datetime.datetime.utcnow() - datetime.timedelta(days=days)
     then = arrow.get(then).humanize()
     import flask
-    cobweb_icon = flask.url_for('static', filename='img/cobweb.png')
-    return dict(old=old, days=days, then=then, cobweb_icon=cobweb_icon)
+    if archived:
+        icon = flask.url_for('static', filename='img/archived.png')
+    else:
+        icon = flask.url_for('static', filename='img/cobweb.png')
+    return dict(old=old, days=days, then=then, icon=icon, archived=archived)
 
 
 #@hint(topics=[_('hubs.widget.update')])

From 740157724799686d9286d2f6b2b0f647e730cb4f Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 17:57:27 +0000
Subject: [PATCH 202/254] Set .panel-danger if archived.


---

diff --git a/hubs/widgets/chrome.py b/hubs/widgets/chrome.py
index 6a313aa..7dd7a96 100644
--- a/hubs/widgets/chrome.py
+++ b/hubs/widgets/chrome.py
@@ -39,7 +39,7 @@ def panel(title=None, klass="panel-default", key=None):
             return _panel_template.render(
                 content=content,
                 heading=heading,
-                klass=klass,
+                klass=klass(kwargs) if callable(klass) else klass,
                 **kwargs)
         return inner
     return decorator
diff --git a/hubs/widgets/cobwebs.py b/hubs/widgets/cobwebs.py
index 6f16810..2d5258a 100644
--- a/hubs/widgets/cobwebs.py
+++ b/hubs/widgets/cobwebs.py
@@ -5,7 +5,8 @@ import datetime
 import jinja2
 
 from hubs.widgets.chrome import panel
-chrome = panel(None, key='old', klass='panel-info')
+klass_switcher = lambda data: 'panel-danger' if data['archived'] else 'panel-info'
+chrome = panel(None, key='old', klass=klass_switcher)
 
 template = jinja2.Template("""
 {% if old %}
diff --git a/populate.py b/populate.py
index 5b4f7a2..a23dfe7 100755
--- a/populate.py
+++ b/populate.py
@@ -23,7 +23,7 @@ for username in users:
 session.commit()
 
 ############## Internationalizationteam
-hub = hubs.models.Hub(name='i18n', summary='The Internationalization Team')
+hub = hubs.models.Hub(name='i18n', summary='The Internationalization Team', archived=True)
 session.add(hub)
 
 widget = hubs.models.Widget(plugin='stats', index=0)

From 34d9be4462212f0d27b369cf153bfbd3a4c95308 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 18:03:06 +0000
Subject: [PATCH 203/254] Import the lock/archived icon.


---

diff --git a/hubs/static/img/archived.png b/hubs/static/img/archived.png
new file mode 100644
index 0000000..0084328
Binary files /dev/null and b/hubs/static/img/archived.png differ

From bee4c97f1d44f266aa592e2d1fed0583ec022e03 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 18:10:37 +0000
Subject: [PATCH 204/254] Conditionalize user avatar.


---

diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 83cdcde..87081fd 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -91,10 +91,14 @@
     </div>
   {% endif %}
   <div class="padded center-block medium-wide">
+    {% if hub.user_hub %}
     <img src="{{hub.avatar}}" class="avatar" />
     <h3>{{hub.name}}</h3>
     <h5>{{hub.summary}}</h5>
     <div class="clearfix"></div>
+    {% else %}
+    TODO - put max-height overflow:hidden placekitten here...
+    {% endif %}
   </div>
 </div>
 <div class="container">

From 012e35ce295ee691ce9b260c171d2a21e63c4975 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 18:33:09 +0000
Subject: [PATCH 205/254] Link to meeting minutes.


---

diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index 7afc67b..2ec97f4 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -22,6 +22,23 @@ template = jinja2.Template("""
         </div>
     {% endfor %}
   </div>
+  {% if schedule_text or schedule_link or minutes_link %}
+  <div class="row">
+  <h6>meetings</h6>
+  {% if schedule_text %}
+  <p>{{schedule_text}}</p>
+  {% endif %}
+  {% if schedule_link %}
+  <a target="_blank" href="{{schedule_link}}">Meeting Schedule</a>
+  {% endif %}
+  {% if schedule_link and minutes_link %}
+  &#8214;
+  {% endif %}
+  {% if minutes_link %}
+  <a target="_blank" href="{{minutes_link}}">Past Meeting Minutes</a>
+  {% endif %}
+  </div>
+  {% endif %}
 </div>
 <style>
   .rules-table {
@@ -39,10 +56,22 @@ template = jinja2.Template("""
 @argument(name='link', default=None,
           validator=validators.link,
           help="Link to the community rules and guidelines")
-def data(session, widget, link):
+@argument(name='schedule_text', default=None,
+          validator=validators.text,
+          help="Some text about when meetings are")
+@argument(name='schedule_link', default=None,
+          validator=validators.link,
+          help="Link to a schedule for IRC meetings, etc..")
+@argument(name='minutes_link', default=None,
+          validator=validators.link,
+          help="Link to meeting minutes from past meetings..")
+def data(session, widget, link, schedule_text, schedule_link, minutes_link):
     owners = widget.hub.owners
     owners = ordereddict([(o.username, avatar(o.username)) for o in owners])
-    return dict(owners=owners, link=link)
+    return dict(owners=owners, link=link,
+                schedule_text=schedule_text,
+                schedule_link=schedule_link,
+                minutes_link=minutes_link)
 
 
 @hint(topics=[_('hubs.widget.update'), _('hubs.hub.update')])
diff --git a/populate.py b/populate.py
index a23dfe7..6cf905b 100755
--- a/populate.py
+++ b/populate.py
@@ -30,7 +30,10 @@ widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='rules', index=1,
                             _config=json.dumps({
-                                'link': 'https://fedoraproject.org/wiki/I18N'
+                                'link': 'https://fedoraproject.org/wiki/I18N',
+                                'schedule_text': None,
+                                'schedule_link': None,
+                                'minutes_link': 'https://meetbot.fedoraproject.org/sresults/?group_id=i18n&type=team',
                             }))
 hub.widgets.append(widget)
 
@@ -71,7 +74,10 @@ widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='rules', index=1,
                             _config=json.dumps({
-                                'link': 'https://fedoraproject.org/wiki/Marketing'
+                                'link': 'https://fedoraproject.org/wiki/Marketing',
+                                'schedule_text': None,
+                                'schedule_link': None,
+                                'minutes_link': 'http://meetbot.fedoraproject.org/sresults/?group_id=fedora-mktg&type=channel',
                             }))
 hub.widgets.append(widget)
 
@@ -115,7 +121,10 @@ widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='rules', index=1,
                             _config=json.dumps({
-                                'link': 'https://fedoraproject.org/wiki/Design'
+                                'link': 'https://fedoraproject.org/wiki/Design',
+                                'schedule_text': 'Meetings are every other Tuesday at 16:00 UTC',
+                                'schedule_link': 'https://apps.fedoraproject.org/calendar/design/',
+                                'minutes_link': 'http://meetbot.fedoraproject.org/sresults/?group_id=fedora-design&type=channel',
                             }))
 hub.widgets.append(widget)
 
@@ -160,7 +169,10 @@ widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='rules', index=1,
                             _config=json.dumps({
-                                'link': 'https://fedoraproject.org/wiki/Infrastructure'
+                                'link': 'https://fedoraproject.org/wiki/Infrastructure',
+                                'schedule_text': 'We meet weekly in #fedora-meeting at 18:00 UTC',
+                                'schedule_link': 'https://apps.fedoraproject.org/calendar/infrastructure/',
+                                'minutes_link': 'http://meetbot.fedoraproject.org/sresults/?group_id=infrastructure&type=team',
                             }))
 hub.widgets.append(widget)
 

From e64a06714356743132ca3160775ebf03e9dc2412 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 18:53:50 +0000
Subject: [PATCH 206/254] Whitespace management.


---

diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index 2ec97f4..ce50aff 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -23,11 +23,11 @@ template = jinja2.Template("""
     {% endfor %}
   </div>
   {% if schedule_text or schedule_link or minutes_link %}
-  <div class="row">
   <h6>meetings</h6>
   {% if schedule_text %}
   <p>{{schedule_text}}</p>
   {% endif %}
+  <p>
   {% if schedule_link %}
   <a target="_blank" href="{{schedule_link}}">Meeting Schedule</a>
   {% endif %}
@@ -37,7 +37,7 @@ template = jinja2.Template("""
   {% if minutes_link %}
   <a target="_blank" href="{{minutes_link}}">Past Meeting Minutes</a>
   {% endif %}
-  </div>
+  </p>
   {% endif %}
 </div>
 <style>

From 741df347bcae1b5dc977d777628d3d7ed70dc29c Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jul 31 2015 19:35:32 +0000
Subject: [PATCH 207/254] Meeting reminders!!


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 63fefd9..feceddf 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -260,6 +260,10 @@ font-size: 32pt;
     height: 32px;
 }
 
+.inline {
+    display: inline-block;
+}
+
 .navbar-nav > li.idle-none    > a { }
 .navbar-nav > li.idle-day     > a { }
 .navbar-nav > li.idle-week    > a { }
diff --git a/hubs/validators.py b/hubs/validators.py
index cd3d7f6..5bdf053 100644
--- a/hubs/validators.py
+++ b/hubs/validators.py
@@ -3,6 +3,9 @@ import kitchen.text.converters
 import hubs.models
 
 
+def required(session, value):
+    return bool(value)
+
 def text(session, value):
     return kitchen.text.converters.to_unicode(value)
 
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 06a3b79..d3ae5b5 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -10,6 +10,7 @@ from hubs.widgets import fedmsgstats
 from hubs.widgets import feed
 from hubs.widgets import subscriptions
 from hubs.widgets import cobwebs
+from hubs.widgets import meetings
 
 from hubs.widgets.workflow import pendingacls
 from hubs.widgets.workflow import updates2stable
@@ -29,6 +30,7 @@ registry = {
     'feed': feed,
     'subscriptions': subscriptions,
     'cobwebs': cobwebs,
+    'meetings': meetings,
 
     'workflow.pendingacls': pendingacls,
     'workflow.updates2stable': updates2stable,
diff --git a/hubs/widgets/meetings.py b/hubs/widgets/meetings.py
new file mode 100644
index 0000000..517ee92
--- /dev/null
+++ b/hubs/widgets/meetings.py
@@ -0,0 +1,74 @@
+#from hubs.hinting import hint, prefixed as _
+from hubs.widgets.base import argument
+from hubs.widgets.chrome import panel
+
+from hubs import validators
+
+import arrow
+import collections
+import datetime
+import jinja2
+import requests
+
+chrome = panel('Reminders', key='meetings')
+
+def next_meeting(meetings):
+    now = datetime.datetime.utcnow()
+    for meeting in meetings:
+        string = "%s %s" % (meeting['meeting_date'],
+                            meeting['meeting_time_start'])
+        dt = datetime.datetime.strptime(string, "%Y-%m-%d %H:%M:%S")
+
+        if now < dt:
+            meeting['human_time'] = arrow.get(dt).humanize()
+            meeting['start_date'] = dt.strftime('%b %d')
+            # Just UTC for now until we do this on the client and can access
+            # their local with moment.js.
+            meeting['start_time'] = meeting['meeting_time_start'][:-3] + " UTC"
+            meeting['location'] = meeting['meeting_location']
+            if '@' in meeting['location']:
+                meeting['location'] = '#' + meeting['location'].split('@')[0]
+            return meeting
+
+    return None
+
+jinja2_environment = jinja2.Environment()
+jinja2_environment.filters['next_meeting'] = next_meeting
+template = jinja2_environment.from_string("""
+{% if meetings %}
+    {% for title, items in meetings.items() %}
+        {% set next = items | next_meeting %}
+        {% if next %}
+        The {{ next.meeting_name }} is {{ next.human_time }}
+        <h1 class='inline'>{{next.start_date}}</h1>
+        <div class='inline'>
+            @{{next.start_time}}<br/>
+            {{next.location}}
+        </div>
+        {% endif %}
+        {% if meetings | length > 1 %}
+        <hr/>
+        {% endif %}
+    {% endfor %}
+{% endif %}
+""")
+
+
+@argument(name="calendar",
+          default=None,
+          validator=validators.required,
+          help="A fedocal calendar.")
+def data(session, widget, calendar):
+    base = 'https://apps.fedoraproject.org/calendar/api/meetings/?calendar=%s'
+    url = base % calendar
+    response = requests.get(url).json()
+
+    meetings = collections.defaultdict(list)
+    for meeting in response['meetings']:
+        meetings[meeting['meeting_name']].append(meeting)
+
+    return dict(meetings=dict(meetings))
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError()
diff --git a/populate.py b/populate.py
index 6cf905b..4bb1b21 100755
--- a/populate.py
+++ b/populate.py
@@ -37,7 +37,8 @@ widget = hubs.models.Widget(plugin='rules', index=1,
                             }))
 hub.widgets.append(widget)
 
-widget = hubs.models.Widget(plugin='dummy', index=2)
+widget = hubs.models.Widget(plugin='meetings', index=2,
+                            _config=json.dumps({'calendar': 'i18n'}))
 hub.widgets.append(widget)
 
 # Added a hubs about widget
@@ -81,7 +82,8 @@ widget = hubs.models.Widget(plugin='rules', index=1,
                             }))
 hub.widgets.append(widget)
 
-widget = hubs.models.Widget(plugin='dummy', index=2)
+widget = hubs.models.Widget(plugin='meetings', index=2,
+                            _config=json.dumps({'calendar': 'marketing'}))
 hub.widgets.append(widget)
 
 # Added a hubs about widget
@@ -128,7 +130,8 @@ widget = hubs.models.Widget(plugin='rules', index=1,
                             }))
 hub.widgets.append(widget)
 
-widget = hubs.models.Widget(plugin='dummy', index=2)
+widget = hubs.models.Widget(plugin='meetings', index=2,
+                            _config=json.dumps({'calendar': 'design'}))
 hub.widgets.append(widget)
 
 # Added a hubs about widget
@@ -176,7 +179,8 @@ widget = hubs.models.Widget(plugin='rules', index=1,
                             }))
 hub.widgets.append(widget)
 
-widget = hubs.models.Widget(plugin='dummy', index=2)
+widget = hubs.models.Widget(plugin='meetings', index=2,
+                            _config=json.dumps({'calendar': 'infrastructure'}))
 hub.widgets.append(widget)
 
 # Added a hubs about widget

From 7669d9dbfedd8e1799987285c8574a69dc1a89ec Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 31 2015 20:19:48 +0000
Subject: [PATCH 208/254] hub banner?


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 63fefd9..08a6e3b 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -90,6 +90,9 @@
         color: #3C6EB4;
         font-weight: 700;
       }
+      .header .medium-wide {
+        top: 150px !important;
+      }
     }
 
     .header {
@@ -98,6 +101,24 @@
       width: 100%;
       font-family: 'Open Sans', sans-serif;
     }
+
+    .header .img-wrap {
+      max-height: 100px;
+      overflow: hidden;
+      position: relative;
+    }
+
+    .header .img-wrap img {
+      width: 100%;
+      text-align: center;
+    }
+
+    .header .medium-wide {
+      position: absolute;
+      top: 100px;
+      left: 45%;
+    }
+
     .header img.avatar {
         width: 70px;
         float: left;
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 83cdcde..9f0eeab 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -72,6 +72,9 @@
   </nav>
 </div>
 <div class="header">
+  <div class="img-wrap">
+    <img src="https://placekitten.com/2000/500" />
+  </div>
   {% if g.auth.logged_in and not edit and hub.is_admin(g.auth.user) %}
     <div class="dropdown pull-right">
       <span class="dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">

From 31bedb4eba12422b38545c6fe47e23230718d8ad Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 31 2015 20:19:55 +0000
Subject: [PATCH 209/254] Merge branch 'develop' of pagure.io:fedora-hubs into develop


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 08a6e3b..93e6e01 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -281,6 +281,10 @@ font-size: 32pt;
     height: 32px;
 }
 
+.inline {
+    display: inline-block;
+}
+
 .navbar-nav > li.idle-none    > a { }
 .navbar-nav > li.idle-day     > a { }
 .navbar-nav > li.idle-week    > a { }
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 9f0eeab..1a5b102 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -94,10 +94,14 @@
     </div>
   {% endif %}
   <div class="padded center-block medium-wide">
+    {% if hub.user_hub %}
     <img src="{{hub.avatar}}" class="avatar" />
     <h3>{{hub.name}}</h3>
     <h5>{{hub.summary}}</h5>
     <div class="clearfix"></div>
+    {% else %}
+    TODO - put max-height overflow:hidden placekitten here...
+    {% endif %}
   </div>
 </div>
 <div class="container">
diff --git a/hubs/validators.py b/hubs/validators.py
index cd3d7f6..5bdf053 100644
--- a/hubs/validators.py
+++ b/hubs/validators.py
@@ -3,6 +3,9 @@ import kitchen.text.converters
 import hubs.models
 
 
+def required(session, value):
+    return bool(value)
+
 def text(session, value):
     return kitchen.text.converters.to_unicode(value)
 
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 06a3b79..d3ae5b5 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -10,6 +10,7 @@ from hubs.widgets import fedmsgstats
 from hubs.widgets import feed
 from hubs.widgets import subscriptions
 from hubs.widgets import cobwebs
+from hubs.widgets import meetings
 
 from hubs.widgets.workflow import pendingacls
 from hubs.widgets.workflow import updates2stable
@@ -29,6 +30,7 @@ registry = {
     'feed': feed,
     'subscriptions': subscriptions,
     'cobwebs': cobwebs,
+    'meetings': meetings,
 
     'workflow.pendingacls': pendingacls,
     'workflow.updates2stable': updates2stable,
diff --git a/hubs/widgets/meetings.py b/hubs/widgets/meetings.py
new file mode 100644
index 0000000..517ee92
--- /dev/null
+++ b/hubs/widgets/meetings.py
@@ -0,0 +1,74 @@
+#from hubs.hinting import hint, prefixed as _
+from hubs.widgets.base import argument
+from hubs.widgets.chrome import panel
+
+from hubs import validators
+
+import arrow
+import collections
+import datetime
+import jinja2
+import requests
+
+chrome = panel('Reminders', key='meetings')
+
+def next_meeting(meetings):
+    now = datetime.datetime.utcnow()
+    for meeting in meetings:
+        string = "%s %s" % (meeting['meeting_date'],
+                            meeting['meeting_time_start'])
+        dt = datetime.datetime.strptime(string, "%Y-%m-%d %H:%M:%S")
+
+        if now < dt:
+            meeting['human_time'] = arrow.get(dt).humanize()
+            meeting['start_date'] = dt.strftime('%b %d')
+            # Just UTC for now until we do this on the client and can access
+            # their local with moment.js.
+            meeting['start_time'] = meeting['meeting_time_start'][:-3] + " UTC"
+            meeting['location'] = meeting['meeting_location']
+            if '@' in meeting['location']:
+                meeting['location'] = '#' + meeting['location'].split('@')[0]
+            return meeting
+
+    return None
+
+jinja2_environment = jinja2.Environment()
+jinja2_environment.filters['next_meeting'] = next_meeting
+template = jinja2_environment.from_string("""
+{% if meetings %}
+    {% for title, items in meetings.items() %}
+        {% set next = items | next_meeting %}
+        {% if next %}
+        The {{ next.meeting_name }} is {{ next.human_time }}
+        <h1 class='inline'>{{next.start_date}}</h1>
+        <div class='inline'>
+            @{{next.start_time}}<br/>
+            {{next.location}}
+        </div>
+        {% endif %}
+        {% if meetings | length > 1 %}
+        <hr/>
+        {% endif %}
+    {% endfor %}
+{% endif %}
+""")
+
+
+@argument(name="calendar",
+          default=None,
+          validator=validators.required,
+          help="A fedocal calendar.")
+def data(session, widget, calendar):
+    base = 'https://apps.fedoraproject.org/calendar/api/meetings/?calendar=%s'
+    url = base % calendar
+    response = requests.get(url).json()
+
+    meetings = collections.defaultdict(list)
+    for meeting in response['meetings']:
+        meetings[meeting['meeting_name']].append(meeting)
+
+    return dict(meetings=dict(meetings))
+
+
+def should_invalidate(message, session, widget):
+    raise NotImplementedError()
diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index 7afc67b..ce50aff 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -22,6 +22,23 @@ template = jinja2.Template("""
         </div>
     {% endfor %}
   </div>
+  {% if schedule_text or schedule_link or minutes_link %}
+  <h6>meetings</h6>
+  {% if schedule_text %}
+  <p>{{schedule_text}}</p>
+  {% endif %}
+  <p>
+  {% if schedule_link %}
+  <a target="_blank" href="{{schedule_link}}">Meeting Schedule</a>
+  {% endif %}
+  {% if schedule_link and minutes_link %}
+  &#8214;
+  {% endif %}
+  {% if minutes_link %}
+  <a target="_blank" href="{{minutes_link}}">Past Meeting Minutes</a>
+  {% endif %}
+  </p>
+  {% endif %}
 </div>
 <style>
   .rules-table {
@@ -39,10 +56,22 @@ template = jinja2.Template("""
 @argument(name='link', default=None,
           validator=validators.link,
           help="Link to the community rules and guidelines")
-def data(session, widget, link):
+@argument(name='schedule_text', default=None,
+          validator=validators.text,
+          help="Some text about when meetings are")
+@argument(name='schedule_link', default=None,
+          validator=validators.link,
+          help="Link to a schedule for IRC meetings, etc..")
+@argument(name='minutes_link', default=None,
+          validator=validators.link,
+          help="Link to meeting minutes from past meetings..")
+def data(session, widget, link, schedule_text, schedule_link, minutes_link):
     owners = widget.hub.owners
     owners = ordereddict([(o.username, avatar(o.username)) for o in owners])
-    return dict(owners=owners, link=link)
+    return dict(owners=owners, link=link,
+                schedule_text=schedule_text,
+                schedule_link=schedule_link,
+                minutes_link=minutes_link)
 
 
 @hint(topics=[_('hubs.widget.update'), _('hubs.hub.update')])
diff --git a/populate.py b/populate.py
index a23dfe7..4bb1b21 100755
--- a/populate.py
+++ b/populate.py
@@ -30,11 +30,15 @@ widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='rules', index=1,
                             _config=json.dumps({
-                                'link': 'https://fedoraproject.org/wiki/I18N'
+                                'link': 'https://fedoraproject.org/wiki/I18N',
+                                'schedule_text': None,
+                                'schedule_link': None,
+                                'minutes_link': 'https://meetbot.fedoraproject.org/sresults/?group_id=i18n&type=team',
                             }))
 hub.widgets.append(widget)
 
-widget = hubs.models.Widget(plugin='dummy', index=2)
+widget = hubs.models.Widget(plugin='meetings', index=2,
+                            _config=json.dumps({'calendar': 'i18n'}))
 hub.widgets.append(widget)
 
 # Added a hubs about widget
@@ -71,11 +75,15 @@ widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='rules', index=1,
                             _config=json.dumps({
-                                'link': 'https://fedoraproject.org/wiki/Marketing'
+                                'link': 'https://fedoraproject.org/wiki/Marketing',
+                                'schedule_text': None,
+                                'schedule_link': None,
+                                'minutes_link': 'http://meetbot.fedoraproject.org/sresults/?group_id=fedora-mktg&type=channel',
                             }))
 hub.widgets.append(widget)
 
-widget = hubs.models.Widget(plugin='dummy', index=2)
+widget = hubs.models.Widget(plugin='meetings', index=2,
+                            _config=json.dumps({'calendar': 'marketing'}))
 hub.widgets.append(widget)
 
 # Added a hubs about widget
@@ -115,11 +123,15 @@ widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='rules', index=1,
                             _config=json.dumps({
-                                'link': 'https://fedoraproject.org/wiki/Design'
+                                'link': 'https://fedoraproject.org/wiki/Design',
+                                'schedule_text': 'Meetings are every other Tuesday at 16:00 UTC',
+                                'schedule_link': 'https://apps.fedoraproject.org/calendar/design/',
+                                'minutes_link': 'http://meetbot.fedoraproject.org/sresults/?group_id=fedora-design&type=channel',
                             }))
 hub.widgets.append(widget)
 
-widget = hubs.models.Widget(plugin='dummy', index=2)
+widget = hubs.models.Widget(plugin='meetings', index=2,
+                            _config=json.dumps({'calendar': 'design'}))
 hub.widgets.append(widget)
 
 # Added a hubs about widget
@@ -160,11 +172,15 @@ widget = hubs.models.Widget(plugin='stats', index=0)
 hub.widgets.append(widget)
 widget = hubs.models.Widget(plugin='rules', index=1,
                             _config=json.dumps({
-                                'link': 'https://fedoraproject.org/wiki/Infrastructure'
+                                'link': 'https://fedoraproject.org/wiki/Infrastructure',
+                                'schedule_text': 'We meet weekly in #fedora-meeting at 18:00 UTC',
+                                'schedule_link': 'https://apps.fedoraproject.org/calendar/infrastructure/',
+                                'minutes_link': 'http://meetbot.fedoraproject.org/sresults/?group_id=infrastructure&type=team',
                             }))
 hub.widgets.append(widget)
 
-widget = hubs.models.Widget(plugin='dummy', index=2)
+widget = hubs.models.Widget(plugin='meetings', index=2,
+                            _config=json.dumps({'calendar': 'infrastructure'}))
 hub.widgets.append(widget)
 
 # Added a hubs about widget

From f9562f672505671a8bc48cdf2f745c4300dd772a Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Jul 31 2015 20:55:41 +0000
Subject: [PATCH 210/254] kitten banner better


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 93e6e01..4c91003 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -90,8 +90,11 @@
         color: #3C6EB4;
         font-weight: 700;
       }
-      .header .medium-wide {
-        top: 150px !important;
+      .header .dropdown.edit {
+        top: 140px !important;
+      }
+      .header h3.team {
+        top: 170px !important;
       }
     }
 
@@ -102,6 +105,13 @@
       font-family: 'Open Sans', sans-serif;
     }
 
+    .header .dropdown.edit {
+      position: absolute;
+      top: 90px;
+      right: 0;
+      z-index: 2;
+    }
+
     .header .img-wrap {
       max-height: 100px;
       overflow: hidden;
@@ -113,9 +123,9 @@
       text-align: center;
     }
 
-    .header .medium-wide {
+    .header h3.team {
       position: absolute;
-      top: 100px;
+      top: 120px;
       left: 45%;
     }
 
@@ -126,6 +136,7 @@
         display: inline;
         border: 5px solid #fff;
     }
+
     .header h3 {
         font-weight: 700;
     }
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 1a5b102..0039a14 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -72,11 +72,8 @@
   </nav>
 </div>
 <div class="header">
-  <div class="img-wrap">
-    <img src="https://placekitten.com/2000/500" />
-  </div>
   {% if g.auth.logged_in and not edit and hub.is_admin(g.auth.user) %}
-    <div class="dropdown pull-right">
+    <div class="dropdown pull-right edit">
       <span class="dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
         <span class="glyphicon glyphicon-edit"></span> edit this page
       </span>
@@ -93,16 +90,19 @@
       </ul>
     </div>
   {% endif %}
-  <div class="padded center-block medium-wide">
-    {% if hub.user_hub %}
-    <img src="{{hub.avatar}}" class="avatar" />
-    <h3>{{hub.name}}</h3>
-    <h5>{{hub.summary}}</h5>
-    <div class="clearfix"></div>
+  {% if hub.user_hub %}
+    <div class="padded center-block medium-wide">
+      <img src="{{hub.avatar}}" class="avatar" />
+      <h3>{{hub.name}}</h3>
+      <h5>{{hub.summary}}</h5>
+      <div class="clearfix"></div>
+    </div>
     {% else %}
-    TODO - put max-height overflow:hidden placekitten here...
-    {% endif %}
-  </div>
+    <div class="img-wrap">
+      <img src="https://placekitten.com/2000/500" />
+    </div>
+    <h3 class="team">{{hub.name}}</h3>
+  {% endif %}
 </div>
 <div class="container">
   <div class="row">

From 29e32919e4cad7346aefaca82ab44728a2099498 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Aug 01 2015 01:30:05 +0000
Subject: [PATCH 211/254] Chromium doesn't like img-responsive.


---

diff --git a/hubs/widgets/avatar.py b/hubs/widgets/avatar.py
index bf49bf6..10754df 100644
--- a/hubs/widgets/avatar.py
+++ b/hubs/widgets/avatar.py
@@ -8,7 +8,7 @@ import hubs.validators as validators
 
 
 template = jinja2.Template("""
-<img class="img-responsive img-circle center-block" src="{{avatar}}">
+<img class="img-circle center-block" src="{{avatar}}">
 """)
 
 #from hubs.widgets.chrome import panel
diff --git a/hubs/widgets/feed.py b/hubs/widgets/feed.py
index 3409ea6..d3d0b4b 100644
--- a/hubs/widgets/feed.py
+++ b/hubs/widgets/feed.py
@@ -35,7 +35,7 @@ template = jinja2.Template("""
     <div class="media">
       <div class="media-left">
         <a href="{{match['link']}} target="_blank">
-          <img class="media-object img-responsive square-32 img-circle" src="{{match['secondary_icon']}}">
+          <img class="media-object square-32 img-circle" src="{{match['secondary_icon']}}">
         </a>
       </div>
       <div class="media-body">
diff --git a/hubs/widgets/workflow/pendingacls.py b/hubs/widgets/workflow/pendingacls.py
index 6bcee7b..958d034 100644
--- a/hubs/widgets/workflow/pendingacls.py
+++ b/hubs/widgets/workflow/pendingacls.py
@@ -20,7 +20,7 @@ template = jinja2.Template("""
 {% for acl in pending_acls %}
     <li class="media">
         <div class="media-left">
-            <img class="media-object img-responsive img-circle" src="{{acl['avatar']}}"/>
+            <img class="media-object img-circle" src="{{acl['avatar']}}"/>
         </div>
         <div class="media-body">
             <h4 class="media-heading">{{acl['user']}} is {{acl['status']}}</h4>

From a4e055550dbad0f8b34c0bc84990e23561bb5a34 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Aug 01 2015 01:33:54 +0000
Subject: [PATCH 212/254] Square up those menus.


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 4c91003..dd83526 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -296,6 +296,10 @@ font-size: 32pt;
     display: inline-block;
 }
 
+.dropdown-menu {
+    border-radius: 0px !important;
+}
+
 .navbar-nav > li.idle-none    > a { }
 .navbar-nav > li.idle-day     > a { }
 .navbar-nav > li.idle-week    > a { }

From cb79e274fc63bb2a7f9693540f61803916e4ac8d Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Aug 03 2015 14:56:29 +0000
Subject: [PATCH 213/254] This looks goofy in chrome.


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index dd83526..aa5ec8b 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -267,10 +267,6 @@
     flex-wrap: wrap;
 }
 
-.stats-container button {
-  margin: 20px 0 0 0;
-}
-
 .stats-table {
 width: 180px
 padding: 0px;

From 1f1eea9821fc116282432a24540f9af9404f791b Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Aug 03 2015 15:53:45 +0000
Subject: [PATCH 214/254] Start with random headers for hubs.  Allow changing them later.


---

diff --git a/hubs/models.py b/hubs/models.py
index 4045200..79a481f 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -25,6 +25,8 @@ import datetime
 import json
 import logging
 import operator
+import os
+import random
 
 import sqlalchemy as sa
 from sqlalchemy import create_engine
@@ -63,6 +65,13 @@ log = logging.getLogger(__name__)
 placekitten = lambda: "https://placekitten.com/g/320/320"
 
 
+def randomheader():
+    location = '/static/img/headers/'
+    header_dir = os.path.dirname(__file__) + location
+    choice = random.choice(os.listdir(header_dir))
+    return location + choice
+
+
 def init(db_url, debug=False, create=False):
     """ Create the tables in the database using the information from the
     url obtained.
@@ -122,6 +131,7 @@ class Hub(BASE):
 
     # A URL to the "avatar" for this hub.
     avatar = sa.Column(sa.String(256), default=placekitten)
+    header_img = sa.Column(sa.String(256), default=randomheader)
 
     #fas_group = sa.Column(sa.String(32), nullable=False)
 
diff --git a/hubs/static/img/headers/header-8ball.png b/hubs/static/img/headers/header-8ball.png
new file mode 100644
index 0000000..8707bdb
Binary files /dev/null and b/hubs/static/img/headers/header-8ball.png differ
diff --git a/hubs/static/img/headers/header-brain.png b/hubs/static/img/headers/header-brain.png
new file mode 100644
index 0000000..dbb135c
Binary files /dev/null and b/hubs/static/img/headers/header-brain.png differ
diff --git a/hubs/static/img/headers/header-bricks.png b/hubs/static/img/headers/header-bricks.png
new file mode 100644
index 0000000..c6ca5d5
Binary files /dev/null and b/hubs/static/img/headers/header-bricks.png differ
diff --git a/hubs/static/img/headers/header-cereal.png b/hubs/static/img/headers/header-cereal.png
new file mode 100644
index 0000000..a756b20
Binary files /dev/null and b/hubs/static/img/headers/header-cereal.png differ
diff --git a/hubs/static/img/headers/header-clouds.png b/hubs/static/img/headers/header-clouds.png
new file mode 100644
index 0000000..0606779
Binary files /dev/null and b/hubs/static/img/headers/header-clouds.png differ
diff --git a/hubs/static/img/headers/header-fireworks.png b/hubs/static/img/headers/header-fireworks.png
new file mode 100644
index 0000000..1934ca4
Binary files /dev/null and b/hubs/static/img/headers/header-fireworks.png differ
diff --git a/hubs/static/img/headers/header-glass.png b/hubs/static/img/headers/header-glass.png
new file mode 100644
index 0000000..3ad2791
Binary files /dev/null and b/hubs/static/img/headers/header-glass.png differ
diff --git a/hubs/static/img/headers/header-house-of-fedora.png b/hubs/static/img/headers/header-house-of-fedora.png
new file mode 100644
index 0000000..b5d8c60
Binary files /dev/null and b/hubs/static/img/headers/header-house-of-fedora.png differ
diff --git a/hubs/static/img/headers/header-ice.png b/hubs/static/img/headers/header-ice.png
new file mode 100644
index 0000000..b820ab3
Binary files /dev/null and b/hubs/static/img/headers/header-ice.png differ
diff --git a/hubs/static/img/headers/header-koi.png b/hubs/static/img/headers/header-koi.png
new file mode 100644
index 0000000..3b021c3
Binary files /dev/null and b/hubs/static/img/headers/header-koi.png differ
diff --git a/hubs/static/img/headers/header-nametag.png b/hubs/static/img/headers/header-nametag.png
new file mode 100644
index 0000000..c3e7b0d
Binary files /dev/null and b/hubs/static/img/headers/header-nametag.png differ
diff --git a/hubs/static/img/headers/header-signage.png b/hubs/static/img/headers/header-signage.png
new file mode 100644
index 0000000..1900b2a
Binary files /dev/null and b/hubs/static/img/headers/header-signage.png differ
diff --git a/hubs/static/img/headers/header-tea-1.png b/hubs/static/img/headers/header-tea-1.png
new file mode 100644
index 0000000..e8c5480
Binary files /dev/null and b/hubs/static/img/headers/header-tea-1.png differ
diff --git a/hubs/static/img/headers/header-tea-2.png b/hubs/static/img/headers/header-tea-2.png
new file mode 100644
index 0000000..06fe666
Binary files /dev/null and b/hubs/static/img/headers/header-tea-2.png differ
diff --git a/hubs/static/img/headers/header-tea-3.png b/hubs/static/img/headers/header-tea-3.png
new file mode 100644
index 0000000..f6346d2
Binary files /dev/null and b/hubs/static/img/headers/header-tea-3.png differ
diff --git a/hubs/static/img/headers/header-tennis.png b/hubs/static/img/headers/header-tennis.png
new file mode 100644
index 0000000..63bef6c
Binary files /dev/null and b/hubs/static/img/headers/header-tennis.png differ
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 0039a14..786f270 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -99,7 +99,7 @@
     </div>
     {% else %}
     <div class="img-wrap">
-      <img src="https://placekitten.com/2000/500" />
+      <img src="{{hub.header_img}}" />
     </div>
     <h3 class="team">{{hub.name}}</h3>
   {% endif %}

From 61d184869cc9eebc523f40aafddeaa79ba1de497 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Aug 05 2015 15:33:17 +0000
Subject: [PATCH 215/254] fixing line break


---

diff --git a/hubs/widgets/meetings.py b/hubs/widgets/meetings.py
index 517ee92..26d5501 100644
--- a/hubs/widgets/meetings.py
+++ b/hubs/widgets/meetings.py
@@ -39,7 +39,7 @@ template = jinja2_environment.from_string("""
     {% for title, items in meetings.items() %}
         {% set next = items | next_meeting %}
         {% if next %}
-        The {{ next.meeting_name }} is {{ next.human_time }}
+        <p>The {{ next.meeting_name }} is {{ next.human_time }}</p>
         <h1 class='inline'>{{next.start_date}}</h1>
         <div class='inline'>
             @{{next.start_time}}<br/>

From f48b0600ec60763f42111edd162a50c5b7542f46 Mon Sep 17 00:00:00 2001
From: Meghan Richardson <mrichard@fedoraproject.org>
Date: Aug 05 2015 19:22:35 +0000
Subject: [PATCH 216/254] placeholder irc icon


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index aa5ec8b..655d2cb 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -25,6 +25,11 @@
     .super-header .dropdown {
       border-radius: 0;
     }
+    .super-header .dropdown img.icon {
+      margin-right: 20px;
+      height: 30px;
+      width: auto;
+    }
     .super-header .dropdown .dropdown-header {
       font-weight: 700;
       font-size: 16px;
@@ -199,7 +204,7 @@
       font-size: 16px;
     }
 
-    .panel-info .widget-buttons a {
+    .panel-info .widget-buttons a, .panel-danger .widget-buttons a {
       color: #fff;
     }
 
diff --git a/hubs/static/img/irc_icon.png b/hubs/static/img/irc_icon.png
new file mode 100644
index 0000000..6aa4026
Binary files /dev/null and b/hubs/static/img/irc_icon.png differ
diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index 786f270..bf6f021 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -15,6 +15,7 @@
     <div class="col-sm-4 col-sm-push-4 col-xs-8">
       {% if g.auth.logged_in %}
         <div class="dropdown pull-right">
+          <img class = "icon" src="{{ url_for('static', filename='img/irc_icon.png') }}" alt="IRC Chats">
         <span class="dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
           <img src="{{ g.auth.avatar }}" class="avatar" alt="User Icon"/>
           {# Logged in as #} {{ g.auth.nickname }}

From bed28448a65c2d2324ef578720da46398d4e9aca Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Sep 06 2015 00:41:40 +0000
Subject: [PATCH 217/254] Update .gitignore


---

diff --git a/.gitignore b/.gitignore
index d042055..0e32795 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
 fedmsg.d/fas_credentials.py
 node*
 build/
+scratch/

From a9ea4085970053a5fcef73b55635207ba118c370 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Sep 06 2015 00:42:08 +0000
Subject: [PATCH 218/254] Added Comfortaa Fonts Locally


---

diff --git a/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.eot b/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.eot
new file mode 100644
index 0000000..8755c78
Binary files /dev/null and b/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.eot differ
diff --git a/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.svg b/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.svg
new file mode 100644
index 0000000..ffc745c
--- /dev/null
+++ b/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.svg
@@ -0,0 +1,2644 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs >
+<font id="Comfortaa" horiz-adv-x="1003" ><font-face
+    font-family="Comfortaa"
+    units-per-em="2048"
+    panose-1="2 15 3 3 7 2 0 6 0 3"
+    ascent="2081"
+    descent="-482"
+    alphabetic="0" />
+<glyph unicode=" " glyph-name="space" horiz-adv-x="560" />
+<glyph unicode="!" glyph-name="exclam" horiz-adv-x="400" d="M307 104Q307 60 277 30Q248 0 204 0Q160 0 130 30Q100 60 100 104Q100 148 130 177Q160 207 204 207Q248 207 277 177Q307 148 307 104ZM141 1539Q141 1565 159 1583T204 1601Q230 1601 248 1583T266
+1539V393Q266 367 248 351Q230 332 204 332Q178 332 160 351Q141 368 141 393V1539Z" />
+<glyph unicode="&quot;" glyph-name="quotedbl" horiz-adv-x="560" d="M202 1227Q202 1210 190 1198T161 1186Q144 1186 132 1198T119 1227L99 1539Q99 1565 117 1583T161 1601Q187 1601 205 1583T223 1539L202 1227ZM451 1227Q451 1210 439 1198T410 1186Q393
+1186 381 1198T368 1227L347 1539Q347 1565 365 1583T410 1601Q436 1601 454 1583T472 1539L451 1227Z" />
+<glyph unicode="#" glyph-name="numbersign" horiz-adv-x="1280" d="M371 65Q366 39 344 20T294 0Q271 0 257 17T246 58L324 498H133Q109 498 97 512T85 544Q86 583 110 602T162 622H346L411 996H221Q196 996 183 1013T173 1055V1054Q178 1081 200 1100T251 1120H434L510
+1552Q515 1579 537 1598T587 1618Q610 1618 624 1601T634 1559L558 1120H849L925 1552Q930 1579 952 1598T1001 1618Q1025 1618 1039 1601T1049 1559L972 1120H1163Q1187 1120 1199 1105T1211 1073Q1209 1035 1185 1016T1133 996H950L884 622H1075Q1098 622 1112
+605T1123 564Q1117 537 1095 518T1046 498H862L786 65Q780 39 758 20T709 0Q686 0 672 17T661 58L739 498H448L371 65ZM535 996L469 622H761L826 996H535Z" />
+<glyph unicode="$" glyph-name="dollar" horiz-adv-x="1060" d="M509 1Q298 0 145 169Q125 191 108 216Q94 234 94 256Q94 282 112 300T156 318Q190 318 209 290Q222 270 240 250Q286 196 354 163T509 123V832Q360 861 269 967Q224 1021 200 1085T177 1254Q184
+1334 219 1402T315 1522Q333 1536 355 1549T403 1575T456 1596T509 1612V1721Q509 1747 527 1765T571 1784Q597 1784 615 1766T633 1721V1611Q708 1597 766 1563T871 1477Q894 1453 909 1424Q918 1407 918 1390Q918 1364 900 1346T856 1327Q831 1327 817 1343Q807
+1354 796 1369T775 1396Q727 1453 633 1485V939Q705 919 766 880T874 786Q927 720 956 643T986 484Q979 340 936 259T818 114Q739 49 633 16V-104Q633 -130 615 -148T571 -166Q545 -166 527 -148T509 -104V1ZM509 1486Q474 1475 445 1460T396 1427Q356 1391 331
+1344T301 1244Q297 1190 314 1140T366 1047Q389 1019 425 997T509 958V1486ZM633 145Q690 167 737 209Q788 255 822 317T861 481Q861 610 778 706Q752 736 716 761T633 810V145Z" />
+<glyph unicode="%" glyph-name="percent" horiz-adv-x="1760" d="M876 1208Q876 1043 760 929Q646 814 481 814Q317 814 203 929Q87 1043 87 1208Q87 1371 203 1487Q318 1602 481 1602Q645 1602 760 1487Q876 1371 876 1208ZM917 394Q917 558 1032 673Q1147 788
+1311 788Q1475 788 1590 673Q1705 558 1705 394Q1705 230 1590 115Q1475 0 1311 0Q1147 0 1032 115Q917 230 917 394ZM481 1477Q371 1477 291 1397Q212 1319 212 1208Q212 1096 291 1017Q370 938 481 938Q592 938 671 1017Q751 1097 751 1208Q751 1319 671 1397Q591
+1477 481 1477ZM1311 664Q1200 664 1120 584Q1041 505 1041 394Q1041 282 1120 203Q1199 124 1311 124Q1422 124 1501 203Q1581 283 1581 394Q1581 504 1501 584Q1421 664 1311 664ZM316 0Q290 0 272 18T253 62Q253 86 269 105L1425 1574Q1437 1587 1449 1594T1477
+1601Q1503 1601 1521 1583T1539 1539Q1539 1517 1527 1501L364 23Q342 0 316 0Z" />
+<glyph unicode="&amp;" glyph-name="ampersand" horiz-adv-x="1440" d="M506 953L643 1061Q700 1106 727 1154T754 1255Q754 1346 687 1415Q620 1481 526 1481Q431 1481 364 1415Q298 1347 298 1255Q298 1162 364 1095L506 953ZM904 382L492 793L360 693Q215 581
+215 452Q215 305 306 214Q398 123 526 123Q654 123 746 214L904 382ZM591 869L991 472L1189 682Q1205 699 1231 699Q1257 699 1275 682T1293 638Q1293 615 1279 596L1078 386L1360 103Q1376 86 1376 62Q1376 36 1358 18T1314 0Q1289 0 1271 17L992 295L833 127H834Q706
+0 526 0Q346 0 218 127Q90 254 90 452Q90 540 139 622T278 777L407 877L276 1007Q173 1112 173 1255Q173 1400 276 1502Q379 1605 526 1605Q672 1605 775 1502Q879 1401 879 1255Q879 1101 734 977L735 978L591 869Z" />
+<glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="320" d="M204 1228Q204 1211 192 1199T163 1187Q146 1187 134 1199T121 1228L101 1540Q101 1566 119 1584T163 1602Q189 1602 207 1584T225 1540L204 1228Z" />
+<glyph unicode="(" glyph-name="parenleft" horiz-adv-x="560" d="M345 1565Q351 1579 360 1588Q378 1606 405 1606Q430 1606 447 1590T465 1549Q464 1530 454 1509Q219 1035 219 564Q219 324 278 88T456 -386Q466 -405 466 -422Q466 -446 448 -463T405 -480Q379
+-480 361 -462Q352 -451 344 -437Q220 -184 160 65T99 565Q99 816 159 1064T345 1565Z" />
+<glyph unicode=")" glyph-name="parenright" horiz-adv-x="560" d="M344 1312T405 1064T466 565Q466 314 405 65T220 -437Q212 -451 203 -462Q186 -480 160 -480Q134 -480 117 -463T99 -422Q99 -405 109 -386Q227 -148 286 88T345 564Q345 1035 111 1509Q101 1530
+100 1549Q101 1573 117 1589T160 1606Q187 1606 204 1588Q213 1579 219 1565Q344 1312 405 1064Z" />
+<glyph unicode="*" glyph-name="asterisk" horiz-adv-x="780" d="M424 1289L586 1149Q595 1142 601 1133Q607 1125 611 1114T615 1095Q615 1081 609 1068T591 1046Q571 1032 543 1033Q518 1036 503 1056Q497 1064 492 1074L399 1269L304 1075Q299 1063 292 1054Q276
+1032 244 1032Q222 1033 206 1046Q183 1064 183 1095Q183 1117 196 1133L212 1149L374 1288L166 1310Q152 1311 143 1315Q118 1326 108 1346Q102 1360 102 1374Q103 1385 106 1394Q114 1419 137 1429T183 1432Q196 1427 204 1421L381 1318L339 1518Q336 1528 336
+1540Q336 1566 354 1584T398 1602Q424 1602 442 1584T460 1540Q460 1528 457 1518L413 1317L593 1422Q603 1428 612 1432Q637 1440 660 1430T692 1394Q696 1383 696 1373Q696 1358 690 1346Q679 1322 655 1315Q645 1311 632 1310L424 1289Z" />
+<glyph unicode="+" glyph-name="plus" horiz-adv-x="1120" d="M494 1224Q494 1250 512 1268T556 1286Q582 1286 600 1268T619 1224V871H971Q997 871 1015 853T1033 809Q1033 783 1015 765T971 747H619V394Q619 368 601 350T556 332Q530 332 512 350T494 394V747H142Q116
+747 98 765T79 809Q79 835 97 853T142 871H494V1224Z" />
+<glyph unicode="," glyph-name="comma" horiz-adv-x="400" d="M130 30Q100 60 100 104Q100 148 130 177Q160 207 204 207Q248 207 277 177Q307 148 307 104Q307 -94 220 -226Q206 -249 183 -249Q166 -249 154 -237T141 -207Q142 -191 153 -178Q190 -137 190 -91Q190
+-63 176 -33T130 30Z" />
+<glyph unicode="-" glyph-name="hyphen" horiz-adv-x="800" d="M142 498Q116 498 98 516T79 560Q79 586 97 604T142 622H639Q665 622 683 604T702 560Q702 534 684 516T639 498H142Z" />
+<glyph unicode="." glyph-name="period" horiz-adv-x="400" d="M307 104Q307 60 277 30Q248 0 204 0Q160 0 130 30Q100 60 100 104Q100 148 130 177Q160 207 204 207Q248 207 277 177Q307 148 307 104Z" />
+<glyph unicode="/" glyph-name="slash" horiz-adv-x="960" d="M763 1601Q782 1618 808 1618Q834 1618 852 1600T870 1556Q870 1541 864 1528L200 -132Q196 -142 190 -148Q170 -166 144 -166Q118 -166 100 -148T82 -104Q82 -88 87 -77L752 1584Q756 1594 763 1601Z" />
+<glyph unicode="0" glyph-name="zero" horiz-adv-x="1120" d="M80 803Q80 1041 132 1215T278 1491Q335 1544 406 1574T557 1605Q638 1605 708 1575T836 1491Q931 1389 982 1215T1034 803Q1034 564 983 390T836 114Q779 61 709 31T557 0Q477 0 406 30T278 114Q184
+216 132 390T80 803ZM557 1481Q445 1481 366 1401Q205 1221 205 803Q205 383 366 202Q444 123 557 123Q668 123 748 202Q910 384 910 803Q910 1220 748 1401Q667 1481 557 1481Z" />
+<glyph unicode="1" glyph-name="one" horiz-adv-x="560" d="M453 62Q453 36 435 18T391 0Q365 0 347 18T328 62V1452L167 1400Q152 1394 142 1394Q116 1394 98 1412T80 1457Q80 1483 98 1501Q106 1509 118 1515L367 1598Q381 1602 391 1602Q417 1602 435 1584T453
+1540V62Z" />
+<glyph unicode="2" glyph-name="two" horiz-adv-x="1120" d="M972 124Q998 124 1016 106T1034 62Q1034 36 1016 18T972 0H143Q117 0 99 18T80 62Q80 86 99 107L807 876Q856 927 883 990T910 1125Q910 1271 806 1374Q704 1477 557 1477Q411 1477 307 1374Q205 1270
+205 1125Q205 1099 187 1081T143 1063Q117 1063 99 1081T80 1125Q80 1321 219 1462Q361 1602 557 1602Q756 1602 894 1462Q1034 1323 1034 1125Q1034 926 893 786L284 124H972Z" />
+<glyph unicode="3" glyph-name="three" horiz-adv-x="1120" d="M557 822Q531 822 513 839T495 883Q495 909 513 927T557 945Q668 945 747 1023Q827 1102 827 1212Q827 1322 747 1399Q667 1478 557 1478Q445 1478 367 1399Q288 1322 288 1212Q288 1186 270 1168T226
+1150Q200 1150 182 1168T163 1212Q163 1294 192 1362T278 1488Q336 1545 405 1573T557 1602Q721 1602 836 1488Q951 1374 951 1212Q951 1041 786 889Q821 868 848 848T895 807Q1034 669 1034 472Q1034 275 894 138Q755 0 557 0Q361 0 219 138Q80 277 80 472Q80
+498 98 516T143 534Q169 534 187 516T205 472Q205 330 307 225Q361 174 422 149T557 123Q703 123 806 225Q910 328 910 472Q910 617 806 719Q704 822 557 822Z" />
+<glyph unicode="4" glyph-name="four" horiz-adv-x="1280" d="M827 522V1338L262 522H827ZM142 398Q116 398 98 416T80 460Q80 480 91 496L838 1576Q855 1601 889 1601Q915 1601 933 1583T951 1539V522H1138Q1164 522 1182 504T1200 460Q1200 434 1182 416T1138
+398H951V62Q951 36 933 18T889 0Q863 0 845 18T827 62V398H142Z" />
+<glyph unicode="5" glyph-name="five" horiz-adv-x="1200" d="M971 1602Q997 1602 1015 1584T1034 1540Q1034 1514 1016 1496T971 1477H287V1037H598Q814 1037 964 885Q1117 733 1117 519Q1117 304 964 151Q813 0 598 0Q385 0 231 151Q80 303 80 519Q80 545 98
+563T142 581Q168 581 186 563T204 519Q204 355 319 240Q438 124 598 124Q760 124 876 240Q992 355 992 519Q992 683 876 796Q760 913 598 913H225Q199 913 181 931T163 975V1540Q163 1566 181 1584T225 1602H971Z" />
+<glyph unicode="6" glyph-name="six" horiz-adv-x="1120" d="M424 939Q496 954 557 954Q756 954 894 814Q1034 677 1034 477Q1034 278 894 139Q755 0 557 0Q361 0 219 139Q80 280 80 477Q80 622 157 737L666 1566Q672 1576 678 1583Q696 1601 723 1601Q749 1601
+767 1583T786 1539Q786 1522 777 1506L424 939ZM910 477Q910 623 806 726Q704 830 557 830Q413 830 307 726Q205 622 205 477Q205 333 307 227Q361 176 422 150T557 124Q703 124 806 227Q910 331 910 477Z" />
+<glyph unicode="7" glyph-name="seven" horiz-adv-x="1120" d="M188 19Q169 0 143 0Q117 0 99 18T80 62Q80 80 95 104L867 1477H143Q117 1477 99 1495T80 1540Q80 1566 98 1584T143 1602H972Q998 1602 1016 1584T1034 1540Q1034 1521 1025 1505L200 36Q194 25 188 19Z" />
+<glyph unicode="8" glyph-name="eight" horiz-adv-x="1120" d="M557 1478Q445 1478 367 1399Q288 1322 288 1212Q288 1101 367 1023Q445 945 557 945Q668 945 747 1023Q827 1102 827 1212Q827 1322 747 1399Q667 1478 557 1478ZM557 822Q413 822 307 719Q205 616
+205 472Q205 330 307 225Q416 123 557 123Q703 123 806 225Q910 328 910 472Q910 617 806 719Q704 822 557 822ZM300 915T278 936Q163 1050 163 1212Q163 1294 192 1362T278 1488Q336 1545 405 1573T557 1602Q721 1602 836 1488Q951 1374 951 1212Q951 1049 836
+936Q818 919 787 892Q821 868 848 848T895 807Q1034 669 1034 472Q1034 275 894 138Q755 0 557 0Q361 0 219 138Q80 277 80 472Q80 668 220 807Q261 848 331 892Q300 915 278 936Z" />
+<glyph unicode="9" glyph-name="nine" horiz-adv-x="1120" d="M691 662Q627 647 557 647Q359 647 219 786Q80 927 80 1124Q80 1320 219 1461Q361 1601 557 1601Q756 1601 894 1461Q1034 1322 1034 1124Q1034 979 958 862L448 35Q443 26 436 19Q418 0 391 0Q365
+0 347 18T329 62Q329 78 338 94L691 662ZM205 1124Q205 979 307 874Q413 771 557 771Q704 771 806 874Q910 977 910 1124Q910 1270 806 1373Q704 1476 557 1476Q411 1476 307 1373Q205 1269 205 1124Z" />
+<glyph unicode=":" glyph-name="colon" horiz-adv-x="400" d="M307 104Q307 60 277 30Q248 0 204 0Q160 0 130 30Q100 60 100 104Q100 148 130 177Q160 207 204 207Q248 207 277 177Q307 148 307 104ZM307 1017Q307 972 277 944Q248 914 204 914Q160 914 130 944Q100
+972 100 1017Q100 1061 130 1091Q160 1121 204 1121Q248 1121 277 1091Q307 1061 307 1017Z" />
+<glyph unicode=";" glyph-name="semicolon" horiz-adv-x="400" d="M307 1017Q307 972 277 944Q248 914 204 914Q160 914 130 944Q100 972 100 1017Q100 1061 130 1091Q160 1121 204 1121Q248 1121 277 1091Q307 1061 307 1017ZM130 30Q100 60 100 104Q100 148
+130 177Q160 207 204 207Q248 207 277 177Q307 148 307 104Q307 -93 220 -225Q205 -249 183 -249Q166 -249 154 -237T141 -207Q141 -191 153 -178Q190 -137 190 -91Q190 -63 176 -33T130 30Z" />
+<glyph unicode="&lt;" glyph-name="less" horiz-adv-x="1120" d="M940 1279Q954 1286 971 1286Q997 1286 1015 1268T1033 1224Q1033 1190 1000 1169H1001L262 726L1001 283Q1033 262 1033 228Q1033 202 1015 184T971 166Q951 166 940 173L115 669Q79 692 79 726Q79
+758 115 783L940 1279Z" />
+<glyph unicode="=" glyph-name="equal" horiz-adv-x="1040" d="M143 913Q117 913 99 931T81 975Q81 1001 99 1019T143 1037H890Q916 1037 934 1019T952 975Q952 949 934 931T890 913H143ZM890 539Q916 539 934 521T952 477Q952 451 934 433T890 415L143 414Q117
+415 99 433T81 477Q81 503 99 521T143 539H890Z" />
+<glyph unicode="&gt;" glyph-name="greater" horiz-adv-x="1120" d="M998 783Q1034 758 1034 726Q1034 692 998 669L173 173Q162 166 142 166Q116 166 98 184T80 228Q80 262 112 283L851 726L112 1169H113Q80 1190 80 1224Q80 1250 98 1268T142 1286Q159 1286
+173 1279L998 783Z" />
+<glyph unicode="?" glyph-name="question" horiz-adv-x="1120" d="M205 1127Q205 1101 187 1084T143 1066Q117 1066 99 1083T80 1127Q80 1322 219 1463Q361 1602 557 1602Q756 1602 894 1463Q1034 1324 1034 1127Q1034 929 894 791V792L723 633Q620 530 620 384Q620
+358 602 340T557 322Q531 322 513 340T495 384Q495 581 635 720V719L806 877Q910 980 910 1127Q910 1273 806 1375Q704 1478 557 1478Q411 1478 307 1375Q205 1272 205 1127ZM661 104Q661 60 631 30Q601 0 557 0Q512 0 484 30Q454 60 454 104Q454 148 484 177Q512
+207 557 207Q601 207 631 177Q661 148 661 104Z" />
+<glyph unicode="@" glyph-name="at" horiz-adv-x="2240" d="M1123 991Q946 991 820 865Q694 739 694 562Q694 385 820 259Q946 133 1123 133Q1300 133 1426 259Q1551 384 1551 562Q1551 740 1426 865Q1300 991 1123 991ZM1551 219Q1536 196 1512 173Q1351 12 1123
+12Q893 12 734 173Q573 334 573 562Q573 790 734 951Q893 1112 1123 1112Q1351 1112 1512 951Q1673 790 1673 562V154Q1673 52 1775 52Q2040 52 2040 562Q2040 944 1771 1211Q1505 1479 1123 1479Q743 1479 473 1211Q205 940 205 562Q205 184 473 -87Q743 -355
+1123 -355Q1225 -355 1318 -336T1500 -276Q1516 -269 1533 -269Q1558 -269 1576 -286T1594 -330Q1594 -357 1576 -373Q1566 -383 1554 -389Q1360 -478 1123 -478Q691 -478 387 -173Q83 131 83 562Q83 992 387 1297Q691 1602 1123 1602Q1553 1602 1857 1297Q2163
+992 2163 562Q2163 -70 1775 -70Q1551 -70 1551 154V219Z" />
+<glyph unicode="A" glyph-name="A" horiz-adv-x="1440" d="M408 574L199 38Q193 24 185 16Q168 0 142 0Q116 0 98 18T80 62Q80 75 86 89L657 1556Q663 1572 673 1583Q690 1600 716 1600Q742 1600 760 1582Q770 1572 776 1556L1346 89Q1352 75 1352 62Q1352 36
+1334 18T1291 0Q1265 0 1248 15Q1239 24 1233 38L1025 574H408ZM977 697L716 1369L456 697H977Z" />
+<glyph unicode="B" glyph-name="B" horiz-adv-x="1120" d="M203 1477V944H470Q581 944 658 1022Q737 1101 737 1210Q737 1319 658 1398Q579 1477 470 1477H203ZM203 821V123H552Q697 123 798 225Q901 327 901 472Q901 616 798 718Q698 821 552 821H203ZM470 1600Q632
+1600 746 1486Q860 1372 860 1210Q860 1048 726 914Q826 866 887 806Q1024 667 1024 472Q1024 276 886 137Q747 0 552 0H142Q116 0 98 18T80 62V1538Q80 1564 98 1582T142 1600H470Z" />
+<glyph unicode="C" glyph-name="C" horiz-adv-x="1480" d="M1337 281Q1363 281 1381 263T1399 219Q1399 194 1384 178Q1272 91 1146 46T880 0Q717 0 574 61T314 234Q202 351 141 494T80 800Q80 1131 314 1365Q549 1600 880 1600Q1165 1600 1387 1418Q1405 1400
+1405 1374Q1405 1349 1387 1331T1344 1313Q1318 1313 1293 1337Q1120 1477 880 1477Q600 1477 401 1278Q203 1080 203 800Q203 519 401 321Q599 123 880 123Q1122 123 1304 272Q1317 281 1337 281Z" />
+<glyph unicode="D" glyph-name="D" horiz-adv-x="1360" d="M470 123Q748 123 948 321Q1147 520 1147 800Q1147 1079 948 1278Q747 1477 470 1477H203V123H470ZM470 1600Q801 1600 1035 1365Q1270 1131 1270 800Q1270 469 1035 234Q801 0 470 0H141Q116 0 98 18T80
+62V1538Q80 1564 98 1582T141 1600H470Z" />
+<glyph unicode="E" glyph-name="E" horiz-adv-x="1280" d="M1127 1600Q1152 1600 1170 1582T1188 1538Q1188 1513 1170 1495T1127 1477H203V862H880Q906 862 924 844T942 800Q942 774 924 756T880 738H203V123H1127Q1152 123 1170 105T1188 62Q1188 36 1170 18T1127
+0H142Q116 0 98 18T80 62V1538Q80 1564 98 1582T142 1600H1127Z" />
+<glyph unicode="F" glyph-name="F" horiz-adv-x="1280" d="M1127 1600Q1152 1600 1170 1582T1188 1538Q1188 1513 1170 1495T1127 1477H203V862H880Q906 862 924 844T942 800Q942 774 924 756T880 738H203V62Q203 36 186 18T142 0Q116 0 98 18T80 62V1538Q80 1564
+98 1582T142 1600H1127Z" />
+<glyph unicode="G" glyph-name="G" horiz-adv-x="1500" d="M1399 219Q1399 192 1384 178Q1272 91 1146 46T880 0Q717 0 574 61T314 234Q202 351 141 494T80 800Q80 1131 314 1365Q549 1600 880 1600Q1165 1600 1387 1418Q1405 1400 1405 1374Q1405 1349 1387 1331T1344
+1313Q1318 1313 1293 1337Q1120 1477 880 1477Q600 1477 401 1278Q203 1080 203 800Q203 519 401 321Q599 123 880 123Q1100 123 1276 250V656H931Q905 656 888 674T870 718Q870 744 887 761T931 779H1338Q1362 779 1382 761Q1399 742 1399 718V219Z" />
+<glyph unicode="H" glyph-name="H" horiz-adv-x="1280" d="M80 1538Q80 1564 98 1582T142 1600Q168 1600 185 1582T203 1538V862H1065V1538Q1065 1564 1083 1582T1127 1600Q1152 1600 1170 1582T1188 1538V62Q1188 36 1170 18T1127 0Q1101 0 1083 18T1065 62V738H203V62Q203
+36 186 18T142 0Q116 0 98 18T80 62V1538Z" />
+<glyph unicode="I" glyph-name="I" horiz-adv-x="480" d="M178 1538Q178 1564 195 1582T239 1600Q265 1600 283 1582T301 1538V62Q301 36 283 18T239 0Q213 0 196 18T178 62V1538Z" />
+<glyph unicode="J" glyph-name="J" horiz-adv-x="1120" d="M80 472Q80 498 98 515T142 533Q168 533 185 516T203 472Q203 328 305 225Q410 123 552 123Q697 123 798 225Q901 327 901 472V1538Q901 1564 919 1582T962 1600Q988 1600 1006 1582T1024 1538V472Q1024
+276 886 137Q747 0 552 0Q357 0 218 137Q80 278 80 472Z" />
+<glyph unicode="K" glyph-name="K" horiz-adv-x="1200" d="M80 1538Q80 1564 98 1582T141 1600Q167 1600 185 1582T203 1538V786L998 1581Q1017 1600 1044 1600Q1070 1600 1088 1582T1106 1538Q1106 1515 1088 1494L499 906L1094 98Q1105 82 1106 65Q1106 32 1081
+12Q1064 0 1046 0Q1012 0 993 26L410 816L203 609V62Q203 36 185 18T141 0Q116 0 98 18T80 62V1538Z" />
+<glyph unicode="L" glyph-name="L" horiz-adv-x="1200" d="M80 1538Q80 1564 98 1582T141 1600Q167 1600 185 1582T203 1538V123H1044Q1070 123 1088 105T1106 62Q1106 36 1088 18T1044 0H141Q116 0 98 18T80 62V1538Z" />
+<glyph unicode="M" glyph-name="M" horiz-adv-x="1760" d="M203 1278V62Q203 36 186 18T142 0Q116 0 98 18T80 62V1538Q80 1564 98 1582T142 1600Q179 1600 196 1568L880 199L1564 1568Q1582 1600 1619 1600Q1645 1600 1662 1582T1680 1538V62Q1680 36 1663 18T1619
+0Q1593 0 1575 18T1557 62V1278L933 29Q915 0 880 0Q840 0 823 39L203 1278Z" />
+<glyph unicode="N" glyph-name="N" horiz-adv-x="1440" d="M203 62Q203 36 186 18T142 0Q116 0 98 18T80 62V1538Q80 1564 98 1582T142 1600Q171 1600 189 1578L1229 241V1538Q1229 1564 1247 1582T1291 1600Q1316 1600 1334 1582T1352 1538V62Q1352 36 1334 18T1291
+0Q1261 0 1245 18L203 1358V62Z" />
+<glyph unicode="O" glyph-name="O" horiz-adv-x="1760" d="M880 1477Q602 1477 401 1278Q203 1080 203 800Q203 519 401 321Q600 123 880 123Q1160 123 1358 321Q1557 519 1557 800Q1557 1080 1358 1278Q1159 1477 880 1477ZM1680 800Q1680 469 1445 234Q1212
+0 880 0Q717 0 574 61T314 234Q202 351 141 494T80 800Q80 1131 314 1365Q549 1600 880 1600Q1213 1600 1445 1365Q1680 1131 1680 800Z" />
+<glyph unicode="P" glyph-name="P" horiz-adv-x="1080" d="M203 1477V697H469Q630 697 744 811Q859 926 859 1087Q859 1248 744 1362Q630 1477 469 1477H203ZM469 1600Q683 1600 831 1449Q982 1301 982 1087Q982 875 831 724Q681 574 469 574H203V62Q203 36 185
+18T141 0Q115 0 98 18T80 62V1538Q80 1564 97 1582T141 1600H469Z" />
+<glyph unicode="Q" glyph-name="Q" horiz-adv-x="1760" d="M1400 192Q1170 0 880 0Q717 0 574 61T314 234Q202 351 141 494T80 800Q80 1131 314 1365Q549 1600 880 1600Q1213 1600 1445 1365Q1680 1131 1680 800Q1680 508 1488 280L1663 105Q1680 87 1680 62Q1680
+36 1663 18T1619 0Q1593 0 1574 19L1400 192ZM1123 469Q1106 487 1106 513Q1106 539 1124 556T1167 574Q1192 574 1212 557L1401 367Q1557 562 1557 800Q1557 1080 1358 1278Q1159 1477 880 1477Q602 1477 401 1278Q203 1080 203 800Q203 519 401 321Q600 123 880
+123Q1118 123 1313 279L1123 469Z" />
+<glyph unicode="R" glyph-name="R" horiz-adv-x="1200" d="M203 1477V779H552Q696 779 798 881Q900 983 900 1128Q900 1275 798 1374Q696 1477 552 1477H203ZM552 1600Q748 1600 885 1462Q1023 1324 1023 1128Q1023 932 886 795Q821 730 726 687L1095 95Q1106
+79 1106 62Q1106 36 1088 18T1044 0Q1012 0 990 33L599 658Q578 656 552 656H203V62Q203 36 185 18T141 0Q116 0 98 18T80 62V1538Q80 1564 98 1582T141 1600H552Z" />
+<glyph unicode="S" glyph-name="S" horiz-adv-x="1060" d="M80 232T80 253Q80 279 97 297T141 315Q174 315 194 287Q207 268 224 247Q269 195 333 161T493 123Q618 123 716 206Q769 252 804 316T839 475Q839 601 756 697Q710 751 650 782T519 819Q441 827 373
+862T253 956Q209 1010 185 1073T161 1205Q163 1392 298 1506Q407 1600 552 1600Q720 1600 848 1461Q870 1435 886 1408Q895 1393 895 1374Q895 1349 877 1331T834 1313Q805 1313 793 1329Q777 1351 754 1379Q679 1467 573 1474Q464 1481 378 1410Q292 1338 285
+1231Q281 1176 296 1127T347 1036Q383 993 428 971T528 943Q623 933 705 891T851 777Q904 712 933 636T962 479Q960 341 916 259T796 113Q662 0 494 0Q283 0 130 167Q113 186 93 215Q80 232 80 253Z" />
+<glyph unicode="T" glyph-name="T" horiz-adv-x="1360" d="M142 1477Q117 1477 99 1495T81 1538Q81 1564 99 1582T142 1600H1209Q1235 1600 1253 1582T1271 1538Q1271 1513 1253 1495T1209 1477H737V62Q737 36 720 18T676 0Q650 0 632 18T614 62V1477H142Z" />
+<glyph unicode="U" glyph-name="U" horiz-adv-x="1280" d="M81 1538Q81 1564 99 1582T143 1600Q169 1600 186 1582T204 1538V554Q204 375 331 249Q457 123 635 123Q814 123 940 249Q1066 375 1066 554V1538Q1066 1564 1084 1582T1128 1600Q1153 1600 1171 1582T1189
+1538V554Q1189 324 1027 162Q865 0 635 0Q405 0 243 162Q162 243 122 340T81 554V1538Z" />
+<glyph unicode="V" glyph-name="V" horiz-adv-x="1440" d="M760 18Q742 0 716 0Q689 0 673 18Q667 25 661 38L89 1499Q80 1522 80 1538Q80 1564 98 1582T142 1600Q185 1600 198 1565L716 231L1235 1566Q1247 1600 1291 1600Q1316 1600 1334 1582T1352 1538Q1352
+1521 1343 1499L772 38Q767 25 760 18Z" />
+<glyph unicode="W" glyph-name="W" horiz-adv-x="1920" d="M916 1583Q935 1600 959 1600Q985 1600 1003 1583Q1013 1572 1018 1559L1370 293L1721 1559Q1726 1573 1737 1584Q1754 1600 1780 1600Q1806 1600 1823 1582T1841 1538Q1841 1525 1836 1508L1434 54Q1428
+32 1414 18Q1394 0 1370 0Q1344 0 1326 18Q1312 33 1306 53L959 1305L614 54Q607 33 593 18Q574 0 549 0Q524 0 506 18Q491 33 485 53L82 1508Q77 1525 77 1538Q77 1564 95 1582T139 1600Q165 1600 183 1583Q193 1572 197 1559L549 293L901 1560Q904 1571 916 1583Z"
+/>
+<glyph unicode="X" glyph-name="X" horiz-adv-x="1440" d="M716 901L1239 1573Q1262 1600 1291 1600Q1316 1600 1334 1582T1352 1538Q1352 1518 1342 1503L795 800L1339 101Q1352 85 1352 62Q1352 36 1334 18T1291 0Q1262 0 1244 21L716 698L188 21Q171 0 142
+0Q116 0 98 18T80 62Q80 84 94 101L637 800L91 1504Q80 1517 80 1538Q80 1564 98 1582T142 1600Q172 1600 193 1573L716 901Z" />
+<glyph unicode="Y" glyph-name="Y" horiz-adv-x="1280" d="M697 62Q697 36 679 18T635 0Q609 0 592 18T574 62V782L91 1504Q81 1520 81 1538Q81 1564 99 1582T143 1600Q173 1600 192 1575L635 911L1078 1575Q1096 1600 1128 1600Q1153 1600 1171 1582T1189 1538Q1189
+1518 1179 1504L697 782V62Z" />
+<glyph unicode="Z" glyph-name="Z" horiz-adv-x="1440" d="M142 1477Q116 1477 98 1495T80 1538Q80 1564 98 1582T142 1600H1291Q1316 1600 1334 1582T1352 1538Q1352 1518 1342 1504L268 123H1291Q1316 123 1334 105T1352 62Q1352 36 1334 18T1291 0H142Q116
+0 98 18T80 62Q80 82 94 101L1164 1477H142Z" />
+<glyph unicode="[" glyph-name="bracketleft" horiz-adv-x="640" d="M492 1602Q518 1602 536 1584T554 1540Q554 1514 536 1496T492 1477H222V-355H492Q518 -355 536 -373T554 -418Q554 -444 536 -462T492 -480H160Q134 -480 116 -462T98 -418V1540Q98 1566 116
+1584T160 1602H492Z" />
+<glyph unicode="\" glyph-name="backslash" horiz-adv-x="960" d="M877 -77Q883 -91 883 -104Q883 -130 865 -148T821 -166Q795 -166 777 -150Q769 -141 765 -132L100 1511Q95 1524 95 1539Q95 1565 113 1583T157 1601Q183 1601 202 1583Q210 1575 213 1567L877 -77Z" />
+<glyph unicode="]" glyph-name="bracketright" horiz-adv-x="640" d="M554 -418Q554 -444 536 -462T492 -480H160Q134 -480 116 -462T98 -418Q98 -392 116 -374T160 -355H430V1477H160Q134 1477 116 1495T98 1540Q98 1566 116 1584T160 1602H492Q518 1602 536
+1584T554 1540V-418Z" />
+<glyph unicode="^" glyph-name="asciicircum" horiz-adv-x="960" d="M489 1428L206 1002Q187 980 157 980Q131 980 113 998T95 1042Q95 1060 103 1074L439 1577Q448 1588 460 1595T489 1602Q506 1602 518 1595T539 1577L875 1074Q883 1060 883 1042Q883 1016 865
+998T821 980Q789 980 772 1002L489 1428Z" />
+<glyph unicode="_" glyph-name="underscore" horiz-adv-x="960" d="M-9 -126Q-35 -126 -53 -108T-71 -64Q-71 -38 -53 -20T-9 -1H987Q1013 -1 1031 -19T1049 -64Q1049 -90 1031 -108T987 -126H-9Z" />
+<glyph unicode="`" glyph-name="grave" horiz-adv-x="560" d="M99 1539Q99 1565 117 1583T161 1601Q187 1601 205 1583L457 1331Q472 1314 472 1290Q472 1264 454 1246T410 1227Q386 1227 367 1243L115 1495Q107 1504 103 1515T99 1539Z" />
+<glyph unicode="a" glyph-name="a" horiz-adv-x="1280" d="M640 996Q460 996 332 868Q204 740 204 560Q204 380 332 252Q460 124 640 124Q820 124 948 252Q1075 379 1075 560Q1075 741 948 868Q820 996 640 996ZM1075 203Q873 0 640 0Q408 0 244 164Q80 328 80
+560Q80 792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560V62Q1200 36 1182 18T1138 0Q1112 0 1094 18T1075 62V203Z" />
+<glyph unicode="b" glyph-name="b" horiz-adv-x="1280" d="M640 124Q820 124 948 252Q1075 379 1075 560Q1075 741 948 868Q820 996 640 996Q460 996 332 868Q204 740 204 560Q204 380 332 252Q460 124 640 124ZM204 917L244 956Q408 1120 640 1120Q872 1120 1036
+956Q1200 792 1200 560Q1200 328 1036 164Q872 0 640 0Q408 0 244 164Q80 328 80 560V1538Q80 1564 98 1582T142 1600Q168 1600 186 1582T204 1538V917Z" />
+<glyph unicode="c" glyph-name="c" horiz-adv-x="1120" d="M962 243Q988 243 1006 225T1024 180Q1024 154 1005 135Q929 70 836 35T640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q743 1120 836 1085T1005 985Q1014 976 1020 963T1027 936Q1027
+910 1009 892T965 874Q941 874 925 889Q803 996 640 996Q460 996 332 868Q205 741 205 560Q205 379 332 252Q460 124 640 124Q719 124 792 153T925 231Q940 243 962 243Z" />
+<glyph unicode="d" glyph-name="d" horiz-adv-x="1280" d="M1075 560Q1075 741 948 868Q820 996 640 996Q460 996 332 868Q204 740 204 560Q204 380 332 252Q460 124 640 124Q820 124 948 252Q1075 379 1075 560ZM1075 1538Q1075 1564 1093 1582T1138 1600Q1164
+1600 1182 1582T1200 1538V560Q1200 328 1036 164Q872 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q872 1120 1036 956L1075 917V1538Z" />
+<glyph unicode="e" glyph-name="e" horiz-adv-x="1280" d="M1073 622Q1045 771 948 868Q820 996 640 996Q460 996 332 868Q236 772 206 622H1073ZM959 241Q985 241 1003 223T1021 178Q1021 152 1005 135Q849 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408
+1120 640 1120Q872 1120 1036 956Q1200 792 1200 560Q1200 534 1182 516T1138 498H206Q236 348 332 252Q460 124 640 124Q722 124 792 150T920 227Q937 241 959 241Z" />
+<glyph unicode="f" glyph-name="f" horiz-adv-x="800" d="M727 1600Q753 1600 771 1582T789 1538Q789 1512 771 1494T727 1475Q374 1475 374 1123V1058H645Q671 1058 689 1040T707 996Q707 970 689 952T645 933H374V62Q374 36 356 18T312 0Q286 0 268 18T249 62V933H146Q120
+933 102 951T84 996Q84 1022 102 1040T146 1058H249V1123Q249 1600 727 1600Z" />
+<glyph unicode="g" glyph-name="g" horiz-adv-x="1280" d="M640 996Q460 996 332 869Q204 741 204 561Q204 382 332 254Q460 126 640 126Q820 126 948 254Q1075 381 1075 561Q1075 742 948 869Q820 996 640 996ZM1075 205Q892 3 640 3Q408 3 244 166Q80 330 80
+561Q80 793 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 793 1200 561V-5Q1200 -177 1075 -304Q899 -480 649 -480Q399 -480 224 -304Q159 -242 119 -169Q108 -150 108 -132Q108 -106 126 -88T170 -70Q196 -70 215 -89Q223 -96 229 -108Q263 -168 312 -217Q382
+-287 466 -321T649 -356Q847 -356 987 -216Q1075 -110 1075 -5V205Z" />
+<glyph unicode="h" glyph-name="h" horiz-adv-x="1200" d="M81 1540Q81 1566 99 1584T143 1602Q169 1602 187 1584T205 1540V942Q389 1120 599 1120Q815 1120 965 968Q1118 816 1118 601V62Q1118 36 1100 18T1055 0Q1029 0 1011 18T993 62V601Q993 766 877 879Q761
+996 599 996Q437 996 320 879Q205 765 205 601V62Q205 36 187 18T143 0Q117 0 99 18T81 62V1540Z" />
+<glyph unicode="i" glyph-name="i" horiz-adv-x="480" d="M315 1390Q315 1355 291 1331T232 1307Q198 1307 174 1331T149 1390Q149 1424 173 1448T232 1473Q267 1473 291 1449T315 1390ZM170 1058Q170 1084 188 1102T232 1120Q258 1120 276 1102T295 1058V62Q295
+36 277 18T232 0Q206 0 188 18T170 62V1058Z" />
+<glyph unicode="j" glyph-name="j" horiz-adv-x="656" d="M563 1390Q563 1355 539 1331T480 1307Q446 1307 422 1331T397 1390Q397 1424 421 1448T480 1473Q515 1473 539 1449T563 1390ZM418 1058Q418 1084 436 1102T480 1120Q506 1120 524 1102T543 1058V-3Q543
+-200 403 -340Q263 -480 66 -480Q40 -480 22 -462T3 -418Q3 -392 21 -374T66 -355Q212 -355 314 -252Q418 -149 418 -3V1058Z" />
+<glyph unicode="k" glyph-name="k" horiz-adv-x="1120" d="M206 634L940 1111Q954 1120 973 1120Q999 1120 1017 1102T1035 1058Q1035 1026 1015 1011L509 680L1018 106Q1035 88 1035 62Q1035 36 1017 18T973 0Q947 0 928 20L401 612L206 485V62Q206 36 188 18T144
+0Q118 0 100 18T81 62V1540Q81 1566 99 1584T144 1602Q170 1602 188 1584T206 1540V634Z" />
+<glyph unicode="l" glyph-name="l" horiz-adv-x="480" d="M87 1540Q87 1566 105 1584T149 1602Q175 1602 193 1584T212 1540V124H315Q341 124 359 106T378 62Q378 36 360 18T315 0H149Q123 0 105 18T87 62V1540Z" />
+<glyph unicode="m" glyph-name="m" horiz-adv-x="1760" d="M200 62Q200 36 182 18T138 0Q112 0 94 18T75 62V1058Q75 1084 93 1102T138 1120Q164 1120 182 1102T200 1058V991Q352 1120 511 1120Q691 1120 819 992Q850 960 884 914Q918 960 950 992Q1078 1120 1258
+1120Q1438 1120 1566 992Q1693 865 1693 684V62Q1693 36 1675 18T1631 0Q1605 0 1587 18T1569 62V684Q1569 813 1477 904Q1385 996 1258 996Q1130 996 1038 904Q947 813 947 684V62Q947 36 929 18T884 0Q858 0 840 18T822 62V684Q822 813 731 904Q639 996 511 996Q383
+996 291 904Q200 813 200 684V62Z" />
+<glyph unicode="n" glyph-name="n" horiz-adv-x="1200" d="M81 1058Q81 1084 99 1102T143 1120Q169 1120 187 1102T205 1058V942Q389 1120 599 1120Q815 1120 965 968Q1118 816 1118 601V62Q1118 36 1100 18T1055 0Q1029 0 1011 18T993 62V601Q993 766 877 879Q761
+996 599 996Q437 996 320 879Q205 765 205 601V62Q205 36 187 18T143 0Q117 0 99 18T81 62V1058Z" />
+<glyph unicode="o" glyph-name="o" horiz-adv-x="1280" d="M1200 560Q1200 328 1036 164Q872 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560ZM640 996Q460 996 332 868Q204 740 204 560Q204 380
+332 252Q460 124 640 124Q820 124 948 252Q1075 379 1075 560Q1075 741 948 868Q820 996 640 996Z" />
+<glyph unicode="p" glyph-name="p" horiz-adv-x="1280" d="M204 560Q204 380 332 252Q460 124 640 124Q820 124 948 252Q1075 379 1075 560Q1075 741 948 868Q820 996 640 996Q460 996 332 868Q204 740 204 560ZM204 -418Q204 -444 186 -462T142 -480Q116 -480
+98 -462T80 -418V560Q80 792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560Q1200 328 1036 164Q872 0 640 0Q408 0 244 164L204 203V-418Z" />
+<glyph unicode="q" glyph-name="q" horiz-adv-x="1280" d="M640 996Q460 996 332 868Q204 740 204 560Q204 380 332 252Q460 124 640 124Q820 124 948 252Q1075 379 1075 560Q1075 741 948 868Q820 996 640 996ZM1075 203L1036 164Q872 0 640 0Q408 0 244 164Q80
+328 80 560Q80 792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560V-418Q1200 -444 1182 -462T1138 -480Q1112 -480 1094 -462T1075 -418V203Z" />
+<glyph unicode="r" glyph-name="r" horiz-adv-x="960" d="M83 1058Q83 1084 101 1102T145 1120Q171 1120 189 1102T207 1058V917Q410 1120 643 1120Q768 1120 857 1081Q873 1075 886 1062Q903 1045 903 1018Q903 992 885 974T841 956Q825 956 813 962Q743 996
+643 996Q463 996 335 868Q207 741 207 560V62Q207 36 189 18T145 0Q119 0 101 18T83 62V1058Z" />
+<glyph unicode="s" glyph-name="s" horiz-adv-x="1060" d="M273 580H274Q228 597 197 613T149 648Q82 717 82 809Q82 902 152 974Q296 1120 528 1120Q652 1120 761 1068T958 919Q969 905 969 884Q969 858 951 840T906 821Q881 821 867 837L836 868Q708 996 528
+996Q347 996 237 880Q207 845 207 794Q209 764 225 742T272 709L783 540H782Q828 523 859 507T906 472Q974 404 974 311Q974 217 903 146Q760 0 528 0Q277 0 98 200Q87 215 87 236Q87 262 105 280T149 299Q173 299 189 283L220 252Q348 124 528 124Q708 124 817
+239Q848 274 848 325Q843 389 783 411L273 580Z" />
+<glyph unicode="t" glyph-name="t" horiz-adv-x="800" d="M644 124Q670 124 688 106T707 62Q707 36 689 18T644 0Q250 0 250 394V996H147Q121 996 103 1014T84 1058Q84 1084 102 1102T147 1120H250V1539Q250 1565 268 1583T312 1601Q338 1601 356 1583T375 1539V1120H562Q588
+1120 606 1102T625 1058Q625 1032 607 1014T562 996H375V394Q375 124 644 124Z" />
+<glyph unicode="u" glyph-name="u" horiz-adv-x="1200" d="M1118 62Q1118 36 1100 18T1055 0Q1029 0 1011 18T993 62V178Q809 0 599 0Q386 0 232 151Q81 303 81 519V1058Q81 1084 99 1102T143 1120Q169 1120 187 1102T205 1058V519Q205 355 320 240Q439 124 599
+124Q761 124 877 240Q993 355 993 519V1058Q993 1084 1011 1102T1055 1120Q1081 1120 1099 1102T1118 1058V62Z" />
+<glyph unicode="v" glyph-name="v" horiz-adv-x="1200" d="M642 15Q627 0 599 0Q572 0 555 17Q548 24 545 31L85 1034Q81 1044 81 1058Q81 1084 99 1102T143 1120Q169 1120 188 1103Q194 1097 199 1087L599 212L999 1087Q1003 1095 1010 1102Q1029 1120 1055 1120Q1081
+1120 1099 1103T1118 1058Q1118 1045 1113 1034L653 31Q649 22 642 15Z" />
+<glyph unicode="w" glyph-name="w" horiz-adv-x="1600" d="M760 1103Q778 1120 803 1120Q829 1120 846 1103Q858 1091 864 1072L1135 259L1409 1084Q1413 1094 1421 1102Q1439 1120 1467 1120Q1493 1120 1511 1102T1529 1058Q1529 1046 1524 1032L1193 39Q1189
+27 1178 16Q1162 0 1135 0Q1108 0 1091 17Q1082 26 1077 39L803 861L529 39Q525 27 516 18Q498 0 471 0Q444 0 427 17Q418 26 413 39L82 1032Q77 1047 77 1058Q77 1084 95 1102T139 1120Q165 1120 184 1102Q191 1095 196 1083L471 259L742 1072Q749 1092 760 1103Z"
+/>
+<glyph unicode="x" glyph-name="x" horiz-adv-x="1120" d="M477 561L96 1017Q81 1033 81 1058Q81 1084 99 1102T144 1120Q170 1120 189 1101L558 659L928 1101Q947 1120 973 1120Q999 1120 1017 1102T1035 1058Q1035 1034 1021 1017L639 561L1024 100Q1035 83
+1035 62Q1035 36 1017 18T973 0Q947 0 931 19L558 464L186 19Q170 0 144 0Q118 0 100 18T81 62Q81 83 93 100L477 561Z" />
+<glyph unicode="y" glyph-name="y" horiz-adv-x="1120" d="M490 63L85 1033Q81 1046 81 1058Q81 1084 99 1102T144 1120Q170 1120 188 1102Q197 1093 203 1077L558 227L913 1077Q919 1093 930 1104Q946 1120 973 1120Q999 1120 1017 1102T1036 1058Q1036 1048
+1032 1036L416 -438Q411 -452 402 -461Q383 -480 357 -480Q331 -480 313 -462T295 -418Q295 -405 299 -396L490 63Z" />
+<glyph unicode="z" glyph-name="z" horiz-adv-x="1120" d="M973 124Q999 124 1017 106T1035 62Q1035 36 1017 18T973 0H144Q118 0 100 18T81 62Q81 83 93 100L839 996H144Q118 996 100 1014T81 1058Q81 1084 99 1102T144 1120H973Q999 1120 1017 1102T1035 1058Q1035
+1034 1021 1017L275 124H973Z" />
+<glyph unicode="{" glyph-name="braceleft" horiz-adv-x="800" d="M644 1601Q670 1601 688 1583T707 1539Q707 1513 689 1495T644 1476Q458 1476 458 1290V809Q458 650 366 560Q458 470 458 311V-169Q458 -355 644 -355Q670 -355 688 -373T707 -418Q707 -444 689
+-462T644 -480Q333 -480 333 -169V311Q333 498 147 498Q121 498 103 516T84 560Q84 586 102 604T147 622Q333 622 333 809V1290Q333 1601 644 1601Z" />
+<glyph unicode="|" glyph-name="bar" horiz-adv-x="800" d="M333 1540Q333 1566 351 1584T395 1602Q421 1602 439 1584T458 1540V-418Q458 -444 440 -462T395 -480Q369 -480 351 -462T333 -418V1540Z" />
+<glyph unicode="}" glyph-name="braceright" horiz-adv-x="800" d="M458 809Q458 622 644 622Q670 622 688 604T707 560Q707 534 689 516T644 498Q458 498 458 311V-169Q458 -480 147 -480Q121 -480 103 -462T84 -418Q84 -392 102 -374T147 -355Q333 -355 333
+-169V311Q333 469 424 560Q333 651 333 809V1290Q333 1476 147 1476Q121 1476 103 1494T84 1539Q84 1565 102 1583T147 1601Q458 1601 458 1290V809Z" />
+<glyph unicode="~" glyph-name="asciitilde" horiz-adv-x="960" d="M517 707Q430 629 311 629Q182 629 90 721Q82 730 78 741T74 764Q74 790 92 808T136 827Q161 827 179 810Q235 754 311 754Q378 754 427 794Q515 873 635 873Q764 873 855 782Q872 764 872 738Q872
+712 854 694T810 676Q784 676 766 693Q712 749 635 749Q570 749 517 707Z" />
+<glyph unicode="&#xa0;" glyph-name="space" horiz-adv-x="560" />
+<glyph unicode="&#xa1;" glyph-name="exclamdown" horiz-adv-x="400" d="M192 912Q148 912 118 942Q88 970 88 1015Q88 1059 118 1089Q148 1119 192 1119Q236 1119 265 1089Q295 1059 295 1015Q295 970 265 942Q236 912 192 912ZM129 726Q129 750 148 768T192
+787Q218 787 236 769T254 726V-418Q254 -444 236 -462T192 -480Q166 -480 148 -462T129 -418V726Z" />
+<glyph unicode="&#xa2;" glyph-name="cent" horiz-adv-x="1120" d="M665 997Q461 989 341 868Q213 741 213 560Q213 382 360 232L665 997ZM169 -246L311 112Q280 135 252 164Q89 327 89 560Q89 793 252 956Q416 1120 649 1120Q686 1120 713 1117L832 1413Q843
+1438 866 1448Q875 1452 890 1452Q916 1452 934 1434T952 1390Q952 1380 947 1367L837 1090Q888 1070 933 1043T1014 985Q1024 976 1029 963T1035 936Q1035 910 1017 892T973 874Q951 874 933 889Q876 939 791 973L466 163Q560 124 649 124Q727 124 800 153T933
+231Q948 243 970 243Q996 243 1014 225T1032 180Q1032 155 1014 135Q937 70 845 35T649 0Q537 0 420 48L285 -292Q281 -305 270 -316Q252 -334 226 -334Q200 -334 182 -316T164 -272Q164 -258 169 -246Z" />
+<glyph unicode="&#xa3;" glyph-name="sterling" horiz-adv-x="1040" d="M227 0Q201 0 183 18T165 61Q165 72 170 87Q294 374 288 658H144Q118 658 100 676T82 719Q82 745 100 763T144 781H278Q249 935 194 1066L195 1065Q165 1140 165 1213Q165 1375 280 1489Q338
+1546 407 1574T559 1603Q642 1603 711 1575T838 1489Q867 1459 889 1428Q901 1411 901 1389Q901 1363 883 1346T839 1328Q810 1328 795 1347Q777 1373 750 1402Q670 1479 559 1479Q448 1479 368 1400Q289 1323 289 1213Q289 1187 294 1162T311 1112Q343 1037 366
+954T403 781H725Q751 781 769 763T787 719Q787 694 769 676T725 658H413Q414 529 391 396T319 123H769L837 258Q851 287 891 287Q917 287 935 270T953 226Q953 209 946 196L866 37Q861 27 853 19Q834 0 808 0H227Z" />
+<glyph unicode="&#xa4;" glyph-name="currency" horiz-adv-x="960" d="M477 944Q400 944 345 889Q290 832 290 757Q290 682 345 625Q400 570 477 570Q552 570 609 625Q664 682 664 757Q664 832 609 889Q552 944 477 944ZM734 1101Q753 1120 778 1120Q804 1120
+822 1102T840 1058Q840 1032 821 1012L736 932Q788 846 788 757Q788 673 739 587L822 501Q840 482 840 456Q840 430 822 412T778 394Q752 394 736 411L652 498Q566 446 477 446Q391 446 308 495L217 409Q201 394 176 394Q150 394 132 412T114 456Q114 482 133 500L220
+581Q192 624 179 667T166 757Q166 844 215 927L133 1014Q114 1032 114 1058Q114 1084 132 1102T176 1120Q202 1120 219 1104L302 1016Q385 1068 477 1068Q564 1068 647 1019L734 1101Z" />
+<glyph unicode="&#xa5;" glyph-name="yen" horiz-adv-x="1280" d="M142 905Q116 905 98 922T80 966Q80 992 98 1009T142 1027H414L89 1506Q80 1521 80 1542Q80 1567 98 1585T142 1603Q173 1603 192 1578L640 912L1088 1578Q1105 1603 1138 1603Q1164 1603 1182
+1585T1200 1542Q1200 1521 1189 1506L866 1027H1139Q1164 1027 1182 1009Q1200 991 1200 966Q1200 940 1182 922Q1164 905 1139 905H783L702 784V616H1138Q1164 616 1182 599T1200 555Q1200 529 1182 511T1138 493H702V61Q702 36 684 18T640 0Q614 0 596 18T578
+61V493H142Q116 493 98 511T80 555Q80 581 98 598T142 616H578V784L497 905H142Z" />
+<glyph unicode="&#xa6;" glyph-name="brokenbar" horiz-adv-x="480" d="M170 1721Q170 1747 188 1765T232 1784Q258 1784 276 1766T295 1721V975Q295 949 277 931T232 913Q206 913 188 931T170 975V1721ZM295 -418Q295 -444 277 -462T232 -480Q206 -480 188 -462T170
+-418V311Q170 337 188 355T232 373Q258 373 276 355T295 311V-418Z" />
+<glyph unicode="&#xa7;" glyph-name="section" horiz-adv-x="960" d="M477 172Q313 172 198 285Q83 398 83 560Q83 721 198 834Q232 867 262 886Q232 905 198 938Q83 1050 83 1213Q83 1374 198 1487Q256 1543 325 1571T477 1600Q560 1600 629 1572T756 1487Q871
+1374 871 1213Q871 1187 853 1169T809 1151Q783 1151 765 1169T747 1213Q747 1322 667 1398Q587 1477 477 1477Q366 1477 286 1398Q207 1322 207 1213Q207 1102 286 1025Q365 947 477 947Q641 947 756 834Q871 721 871 560Q871 398 756 285Q723 252 692 233Q723
+214 756 181Q871 69 871 -93Q871 -254 756 -367Q698 -423 629 -451T477 -480Q394 -480 325 -452T198 -367Q83 -254 83 -93Q83 -67 101 -49T145 -31Q171 -31 189 -49T207 -93Q207 -202 286 -278Q366 -357 477 -357Q587 -357 667 -278Q747 -202 747 -93Q747 15 667
+93Q587 172 477 172ZM477 825Q366 825 286 746Q207 669 207 560Q207 449 286 372Q365 294 477 294Q588 294 667 372Q747 450 747 560Q747 668 667 746Q587 825 477 825Z" />
+<glyph unicode="&#xa8;" glyph-name="dieresis" horiz-adv-x="960" d="M310 1390Q310 1355 286 1331T227 1307Q192 1307 168 1331T144 1390Q144 1424 168 1448T227 1473Q262 1473 286 1449T310 1390ZM808 1390Q808 1355 784 1331T725 1307Q690 1307 666 1331T642
+1390Q642 1424 666 1448T725 1473Q759 1473 783 1449T808 1390Z" />
+<glyph unicode="&#xa9;" glyph-name="copyright" horiz-adv-x="1760" d="M1199 489Q1225 489 1243 471T1261 426Q1261 401 1242 382Q1166 317 1074 282T879 247Q648 247 485 410Q322 573 322 804Q322 1035 485 1198Q648 1361 879 1361Q981 1361 1074 1326T1242
+1226Q1264 1207 1264 1178Q1264 1152 1246 1134T1202 1116Q1179 1116 1163 1130Q1042 1236 879 1236Q699 1236 573 1110Q447 984 447 804Q447 624 573 498Q700 371 879 371Q957 371 1030 399T1161 477Q1177 489 1199 489ZM1678 802Q1678 470 1443 234Q1208 0 877
+0Q545 0 310 234Q75 470 75 802Q75 1135 310 1367Q543 1603 877 1603Q1209 1603 1443 1367Q1678 1135 1678 802ZM877 1518Q581 1518 370 1307Q161 1098 161 802Q161 505 370 295Q582 85 877 85Q1172 85 1382 295Q1593 506 1593 802Q1593 1099 1382 1307Q1174 1518
+877 1518Z" />
+<glyph unicode="&#xaa;" glyph-name="ordfeminine" horiz-adv-x="960" d="M477 1493Q366 1493 286 1413Q207 1335 207 1224Q207 1112 286 1033Q365 954 477 954Q588 954 667 1033Q747 1113 747 1224Q747 1335 667 1413Q587 1493 477 1493ZM747 939Q635 830 477
+830Q313 830 198 945Q83 1059 83 1224Q83 1388 198 1503Q256 1560 325 1589T477 1618Q560 1618 629 1589T756 1503Q871 1388 871 1224V892Q871 866 853 848T809 830Q783 830 765 848Q747 866 747 891V939Z" />
+<glyph unicode="&#xab;" glyph-name="guillemotleft" horiz-adv-x="960" d="M336 1080Q343 1094 350 1101Q368 1119 394 1119Q420 1119 438 1101T456 1057Q456 1042 451 1031L215 560L451 88Q456 77 456 62Q456 36 438 18T394 0Q369 0 354 14Q345 23 336 38L93
+524Q83 543 83 559Q83 575 91 590L336 1080ZM760 1080Q767 1094 774 1101Q792 1119 818 1119Q844 1119 862 1101T880 1057Q880 1042 875 1031L639 560L875 88Q880 77 880 62Q880 36 862 18T818 0Q793 0 778 14Q769 23 760 38L517 524Q507 543 507 559Q507 575 515
+590L760 1080Z" />
+<glyph unicode="&#xac;" glyph-name="logicalnot" horiz-adv-x="1120" d="M144 996Q118 996 100 1014T81 1058Q81 1084 99 1102T144 1120H973Q999 1120 1017 1102T1035 1058V726Q1035 700 1017 682T973 664Q947 664 929 682T911 726V996H144Z" />
+<glyph unicode="&#xad;" glyph-name="hyphen" horiz-adv-x="800" d="M142 498Q116 498 98 516T79 560Q79 586 97 604T142 622H639Q665 622 683 604T702 560Q702 534 684 516T639 498H142Z" />
+<glyph unicode="&#xae;" glyph-name="registered" horiz-adv-x="1760" d="M1681 800Q1681 469 1447 233Q1212 0 882 0Q551 0 316 233Q82 469 82 800Q82 1132 316 1364Q549 1599 882 1599Q1213 1599 1447 1364Q1681 1132 1681 800ZM882 1514Q587 1514 376 1304Q168
+1095 168 800Q168 504 376 294Q588 85 882 85Q1176 85 1386 294Q1596 505 1596 800Q1596 1096 1386 1304Q1178 1514 882 1514ZM643 1251V779H879Q976 779 1046 849Q1116 917 1116 1016Q1116 1112 1046 1183Q975 1251 879 1251H643ZM879 1317Q1005 1317 1093 1229Q1182
+1141 1182 1016Q1182 954 1160 900T1093 801Q1072 780 1044 762T983 728L1229 334Q1236 324 1236 314Q1236 300 1226 291T1203 281Q1183 281 1173 298L913 716Q895 713 879 713H643V314Q643 300 633 291T608 281Q596 281 586 290T576 314V1285Q576 1299 586 1308T608
+1317H879Z" />
+<glyph unicode="&#xaf;" glyph-name="overscore" horiz-adv-x="1120" d="M144 1825Q118 1825 100 1843T81 1887Q81 1913 99 1931T144 1950H973Q999 1950 1017 1932T1035 1887Q1035 1861 1017 1843T973 1825H144Z" />
+<glyph unicode="&#xb0;" glyph-name="degree" horiz-adv-x="960" d="M871 1224Q871 1059 756 945Q641 830 477 830Q313 830 198 945Q83 1059 83 1224Q83 1388 198 1503Q256 1560 325 1589T477 1618Q560 1618 629 1589T756 1503Q871 1388 871 1224ZM477 1493Q366
+1493 286 1413Q207 1335 207 1224Q207 1112 286 1033Q365 954 477 954Q588 954 667 1033Q747 1113 747 1224Q747 1335 667 1413Q587 1493 477 1493Z" />
+<glyph unicode="&#xb1;" glyph-name="plusminus" horiz-adv-x="1120" d="M496 1224Q496 1250 514 1268T558 1286Q584 1286 602 1268T621 1224V871H973Q999 871 1017 853T1035 809Q1035 783 1017 765T973 747H621V394Q621 368 603 350T558 332Q532 332 514 350T496
+394V747H144Q118 747 100 765T81 809Q81 835 99 853T144 871H496V1224ZM144 0Q118 0 100 18T81 62Q81 88 99 106T144 124H973Q999 124 1017 106T1035 62Q1035 36 1017 18T973 0H144Z" />
+<glyph unicode="&#xb2;" glyph-name="uni00B2" horiz-adv-x="640" d="M517 878Q525 878 531 873T537 859Q537 849 531 844T517 838H107Q86 838 86 859Q86 866 92 874Q179 970 267 1068T443 1262Q468 1288 482 1322T496 1392Q496 1468 442 1522Q387 1577 312 1577Q234
+1577 180 1522Q126 1468 126 1392Q126 1384 121 1378T107 1372Q97 1372 92 1378T86 1392Q86 1486 151 1551Q218 1618 312 1618Q405 1618 471 1551Q537 1486 537 1392Q537 1299 470 1231L152 878H517Z" />
+<glyph unicode="&#xb3;" glyph-name="uni00B3" horiz-adv-x="640" d="M314 1245Q304 1245 299 1251T293 1266Q293 1274 298 1280T314 1287Q374 1287 416 1329Q458 1371 458 1431Q458 1492 416 1534Q374 1576 314 1576Q253 1576 211 1534Q169 1492 169 1431Q169
+1423 163 1417T148 1411Q139 1411 133 1417T127 1431Q127 1509 181 1563Q236 1618 314 1618Q353 1618 385 1604T445 1563Q500 1508 500 1431Q500 1346 409 1267Q432 1253 449 1241T475 1221Q541 1153 541 1059Q541 965 475 898Q409 832 314 832Q218 832 152 898Q86
+965 86 1059Q86 1067 91 1073T107 1080Q115 1080 121 1074T127 1059Q127 981 181 927Q235 873 314 873Q389 873 445 927Q500 982 500 1059Q500 1098 486 1130T445 1191Q389 1245 314 1245Z" />
+<glyph unicode="&#xb4;" glyph-name="acute" horiz-adv-x="560" d="M191 1241Q174 1225 149 1225Q123 1225 105 1243T87 1288Q87 1313 101 1329L353 1581Q371 1599 398 1599Q424 1599 442 1581T460 1537Q460 1525 456 1514T443 1493L191 1241Z" />
+<glyph unicode="&#xb5;" glyph-name="mu" horiz-adv-x="1200" d="M205 519Q205 355 320 240Q439 124 599 124Q761 124 877 240Q993 355 993 519V1058Q993 1084 1011 1102T1055 1120Q1081 1120 1099 1102T1118 1058V62Q1118 36 1100 18T1055 0Q1029 0 1011 18T993
+62V178Q809 0 599 0Q389 0 205 178V-418Q205 -444 187 -462T143 -480Q117 -480 99 -462T81 -418V1058Q81 1084 99 1102T143 1120Q169 1120 187 1102T205 1058V519Z" />
+<glyph unicode="&#xb6;" glyph-name="paragraph" horiz-adv-x="1120" d="M952 62Q952 36 934 18T890 0Q864 0 846 18T828 62V1476H621V62Q621 36 603 18T558 0Q532 0 514 18T496 62V813Q311 813 196 928Q81 1043 81 1207Q81 1290 110 1359T196 1486Q254 1543 323
+1572T475 1601H973Q999 1601 1017 1583T1035 1539Q1035 1513 1011 1495T952 1476V62Z" />
+<glyph unicode="&#xb7;" glyph-name="middot" horiz-adv-x="400" d="M295 767Q295 722 265 694Q236 664 192 664Q148 664 118 694Q88 722 88 767Q88 811 118 841Q148 871 192 871Q236 871 265 841Q295 811 295 767Z" />
+<glyph unicode="&#xb8;" glyph-name="cedilla" horiz-adv-x="640" d="M312 60Q329 77 355 77Q381 77 399 59T418 15Q418 7 416 -1L395 -79Q446 -101 477 -125Q542 -182 542 -265Q542 -346 476 -404Q409 -462 314 -462Q261 -462 205 -434L114 -380Q86 -360 86 -327Q86
+-301 104 -283T148 -265Q167 -265 182 -274L263 -325Q287 -337 314 -337Q357 -337 387 -318T418 -265Q418 -231 388 -212T314 -192Q288 -192 270 -174T252 -130Q252 -119 255 -110L295 33Q300 48 312 60Z" />
+<glyph unicode="&#xb9;" glyph-name="uni00B9" horiz-adv-x="480" d="M153 1535T148 1535Q140 1535 134 1541T128 1555Q128 1563 134 1569Q137 1572 141 1574L265 1617Q269 1618 273 1618Q281 1618 287 1612T294 1597V856Q294 846 288 841T273 835Q265 835 259
+840T253 856V1569L157 1537Q153 1535 148 1535Z" />
+<glyph unicode="&#xba;" glyph-name="ordmasculine" horiz-adv-x="640" d="M86 1227Q86 1466 181 1564Q236 1618 313 1618Q352 1618 384 1605T444 1564Q539 1466 539 1227Q539 987 444 889Q390 835 313 835Q235 835 181 889Q86 987 86 1227ZM313 1577Q252 1577
+209 1533Q127 1440 127 1227Q127 1012 209 919Q252 876 313 876Q372 876 415 919Q499 1013 499 1227Q499 1437 415 1533Q372 1577 313 1577Z" />
+<glyph unicode="&#xbb;" glyph-name="guillemotright" horiz-adv-x="960" d="M872 590Q880 575 880 559Q880 543 870 524L627 38Q618 23 609 14Q594 0 569 0Q543 0 525 18T507 62Q507 77 512 88L748 560L512 1031Q507 1042 507 1057Q507 1083 525 1101T569 1119Q595
+1119 613 1101Q620 1094 627 1080L872 590ZM448 590Q456 575 456 559Q456 543 446 524L203 38Q194 23 185 14Q170 0 145 0Q119 0 101 18T83 62Q83 77 88 88L324 560L88 1031Q83 1042 83 1057Q83 1083 101 1101T145 1119Q171 1119 189 1101Q196 1094 203 1080L448
+590Z" />
+<glyph unicode="&#xbc;" glyph-name="onequarter" horiz-adv-x="1440" d="M1219 1618Q1245 1618 1263 1600T1281 1556Q1281 1537 1272 1521L279 33Q256 0 224 0Q198 0 180 18T161 62Q161 82 171 96L1170 1595Q1178 1606 1190 1612T1219 1618ZM286 693Q286 680
+278 672T257 664Q244 664 236 672T228 693V1548L121 1513Q115 1511 107 1511Q95 1511 87 1519T78 1540Q78 1553 87 1561Q91 1565 98 1568L245 1617Q251 1619 257 1619Q269 1619 277 1611T286 1590V693ZM1157 307V831L795 307H1157ZM738 249Q725 249 717 257T709
+278Q709 287 714 295L1165 946Q1172 954 1186 954Q1199 954 1207 946T1215 925V307H1335Q1348 307 1356 299T1364 278Q1364 265 1356 257T1335 249H1215V29Q1215 16 1207 8T1186 0Q1173 0 1165 8T1157 29V249H738Z" />
+<glyph unicode="&#xbd;" glyph-name="onehalf" horiz-adv-x="1600" d="M1500 58Q1511 58 1520 50T1529 29Q1529 16 1520 8T1500 0H1001Q988 0 980 8T972 29Q972 42 980 50L1406 522Q1471 587 1471 677Q1471 770 1405 833Q1341 897 1250 897Q1160 897 1094 833Q1030
+767 1030 677Q1030 665 1022 657T1001 648Q988 648 980 656T972 677Q972 792 1053 873Q1135 955 1250 955Q1366 955 1447 873Q1529 792 1529 677Q1529 561 1446 478L1067 58H1500ZM286 693Q286 680 278 672T257 664Q244 664 236 672T228 693V1548L121 1513Q115
+1511 107 1511Q95 1511 87 1519T78 1540Q78 1553 87 1561Q91 1565 98 1568L245 1617Q251 1619 257 1619Q269 1619 277 1611T286 1590V693ZM1219 1618Q1245 1618 1263 1600T1281 1556Q1281 1537 1272 1521L279 33Q256 0 224 0Q198 0 180 18T161 62Q161 82 171 96L1170
+1595Q1178 1606 1190 1612T1219 1618Z" />
+<glyph unicode="&#xbe;" glyph-name="threequarters" horiz-adv-x="1600" d="M354 1160Q341 1160 333 1168T325 1189Q325 1200 333 1208T354 1217Q423 1217 473 1267Q524 1318 524 1388Q524 1457 473 1507Q423 1557 354 1557Q285 1557 235 1507Q185 1458 185 1388Q185
+1375 176 1367T156 1359Q143 1359 135 1367T127 1388Q127 1483 193 1548Q260 1615 354 1615Q448 1615 515 1548Q581 1482 581 1388Q581 1293 515 1227Q498 1209 475 1192Q515 1174 550 1138Q631 1055 631 941Q631 826 550 745Q469 664 354 664Q239 664 158 745Q77
+826 77 941Q77 953 85 961T106 970Q119 970 127 962T135 941Q135 850 198 786Q264 722 354 722Q444 722 508 786Q573 851 573 941Q573 1033 508 1096Q445 1160 354 1160ZM1377 1618Q1403 1618 1421 1600T1439 1556Q1439 1537 1430 1521L437 33Q414 0 382 0Q356
+0 338 18T319 62Q319 82 329 96L1328 1595Q1336 1606 1348 1612T1377 1618ZM1328 307V831L966 307H1328ZM909 249Q896 249 888 257T880 278Q880 287 885 295L1336 946Q1343 954 1357 954Q1370 954 1378 946T1386 925V307H1506Q1519 307 1527 299T1535 278Q1535
+265 1527 257T1506 249H1386V29Q1386 16 1378 8T1357 0Q1344 0 1336 8T1328 29V249H909Z" />
+<glyph unicode="&#xbf;" glyph-name="questiondown" horiz-adv-x="1120" d="M557 -355Q704 -355 806 -252Q910 -149 910 -3Q910 144 806 247Q763 287 721 327T635 407V406Q495 546 495 744Q495 770 513 788T557 806Q583 806 601 788T620 744Q620 596 723 493L894
+334V335Q1034 196 1034 -3Q1034 -102 1000 -186T894 -340Q756 -480 557 -480Q361 -480 219 -340Q80 -201 80 -3Q80 23 98 41T143 59Q169 59 187 41T205 -3Q205 -149 307 -252Q411 -355 557 -355ZM558 912Q513 912 485 942Q455 970 455 1015Q455 1059 485 1089Q513
+1119 558 1119Q602 1119 632 1089Q662 1059 662 1015Q662 970 632 942Q602 912 558 912Z" />
+<glyph unicode="&#xc0;" glyph-name="Agrave" horiz-adv-x="1440" d="M421 574L212 38Q206 24 198 16Q181 0 155 0Q129 0 111 18T93 62Q93 75 99 89L670 1556Q676 1572 686 1583Q703 1600 729 1600Q755 1600 773 1582Q783 1572 789 1556L1359 89Q1365 75 1365
+62Q1365 36 1347 18T1304 0Q1278 0 1261 15Q1252 24 1246 38L1038 574H421ZM990 697L729 1369L469 697H990ZM485 2019Q485 2045 503 2063T547 2081Q573 2081 591 2063L843 1811Q858 1794 858 1770Q858 1744 840 1726T796 1707Q772 1707 753 1723L501 1975Q493 1984
+489 1995T485 2019Z" />
+<glyph unicode="&#xc1;" glyph-name="Aacute" horiz-adv-x="1440" d="M421 574L212 38Q206 24 198 16Q181 0 155 0Q129 0 111 18T93 62Q93 75 99 89L670 1556Q676 1572 686 1583Q703 1600 729 1600Q755 1600 773 1582Q783 1572 789 1556L1359 89Q1365 75 1365
+62Q1365 36 1347 18T1304 0Q1278 0 1261 15Q1252 24 1246 38L1038 574H421ZM990 697L729 1369L469 697H990ZM711 1721Q694 1705 669 1705Q643 1705 625 1723T607 1768Q607 1793 621 1809L873 2061Q891 2079 918 2079Q944 2079 962 2061T980 2017Q980 2005 976 1994T963
+1973L711 1721Z" />
+<glyph unicode="&#xc2;" glyph-name="Acircumflex" horiz-adv-x="1440" d="M421 574L212 38Q206 24 198 16Q181 0 155 0Q129 0 111 18T93 62Q93 75 99 89L670 1556Q676 1572 686 1583Q703 1600 729 1600Q755 1600 773 1582Q783 1572 789 1556L1359 89Q1365 75
+1365 62Q1365 36 1347 18T1304 0Q1278 0 1261 15Q1252 24 1246 38L1038 574H421ZM990 697L729 1369L469 697H990ZM1007 1883Q1040 1860 1040 1828Q1040 1802 1022 1784T977 1766Q955 1766 937 1779L728 1918L519 1779Q501 1766 480 1766Q454 1766 436 1784T417
+1828Q417 1860 449 1883L697 2048Q711 2056 728 2056Q746 2056 760 2048L1007 1883Z" />
+<glyph unicode="&#xc3;" glyph-name="Atilde" horiz-adv-x="1440" d="M421 574L212 38Q206 24 198 16Q181 0 155 0Q129 0 111 18T93 62Q93 75 99 89L670 1556Q676 1572 686 1583Q703 1600 729 1600Q755 1600 773 1582Q783 1572 789 1556L1359 89Q1365 75 1365
+62Q1365 36 1347 18T1304 0Q1278 0 1261 15Q1252 24 1246 38L1038 574H421ZM990 697L729 1369L469 697H990ZM767 1838Q680 1760 561 1760Q432 1760 340 1852Q332 1861 328 1872T324 1895Q324 1921 342 1939T386 1958Q411 1958 429 1941Q485 1885 561 1885Q628 1885
+677 1925Q765 2004 885 2004Q1014 2004 1105 1913Q1122 1895 1122 1869Q1122 1843 1104 1825T1060 1807Q1034 1807 1016 1824Q962 1880 885 1880Q820 1880 767 1838Z" />
+<glyph unicode="&#xc4;" glyph-name="Adieresis" horiz-adv-x="1440" d="M421 574L212 38Q206 24 198 16Q181 0 155 0Q129 0 111 18T93 62Q93 75 99 89L670 1556Q676 1572 686 1583Q703 1600 729 1600Q755 1600 773 1582Q783 1572 789 1556L1359 89Q1365 75 1365
+62Q1365 36 1347 18T1304 0Q1278 0 1261 15Q1252 24 1246 38L1038 574H421ZM990 697L729 1369L469 697H990ZM564 1870Q564 1835 540 1811T481 1787Q446 1787 422 1811T398 1870Q398 1904 422 1928T481 1953Q516 1953 540 1929T564 1870ZM1062 1870Q1062 1835 1038
+1811T979 1787Q944 1787 920 1811T896 1870Q896 1904 920 1928T979 1953Q1013 1953 1037 1929T1062 1870Z" />
+<glyph unicode="&#xc5;" glyph-name="Aring" horiz-adv-x="1440" d="M421 574L212 38Q206 24 198 16Q181 0 155 0Q129 0 111 18T93 62Q93 75 99 89L670 1556Q676 1572 686 1583Q703 1600 729 1600Q755 1600 773 1582Q783 1572 789 1556L1359 89Q1365 75 1365 62Q1365
+36 1347 18T1304 0Q1278 0 1261 15Q1252 24 1246 38L1038 574H421ZM990 697L729 1369L469 697H990ZM914 1892Q914 1815 859 1758Q804 1703 726 1703Q649 1703 592 1758Q537 1815 537 1892Q537 1970 592 2025Q649 2080 726 2080Q804 2080 859 2025Q914 1970 914
+1892ZM771 1783T803 1815T835 1892Q835 1937 803 1969T726 2001Q681 2001 649 1969T617 1892Q617 1847 649 1815T726 1783Q771 1783 803 1815Z" />
+<glyph unicode="&#xc6;" glyph-name="AE" horiz-adv-x="1760" d="M900 1300L611 779H900V1300ZM1618 1600Q1644 1600 1661 1582T1679 1538Q1679 1513 1662 1495T1618 1477H1023V779H1454Q1479 779 1497 762T1515 718Q1515 692 1497 674T1454 656H1023V123H1618Q1644
+123 1661 105T1679 62Q1679 36 1662 18T1618 0H961Q935 0 918 18T900 62V656H542L193 29Q174 0 141 0Q115 0 97 18T79 62Q79 79 86 90L909 1572Q926 1600 961 1600H1618Z" />
+<glyph unicode="&#xc7;" glyph-name="Ccedilla" horiz-adv-x="1480" d="M1350 281Q1376 281 1394 263T1412 219Q1412 194 1397 178Q1285 91 1159 46T893 0Q730 0 587 61T327 234Q215 351 154 494T93 800Q93 1131 327 1365Q562 1600 893 1600Q1178 1600 1400 1418Q1418
+1400 1418 1374Q1418 1349 1400 1331T1357 1313Q1331 1313 1306 1337Q1133 1477 893 1477Q613 1477 414 1278Q216 1080 216 800Q216 519 414 321Q612 123 893 123Q1135 123 1317 272Q1330 281 1350 281ZM751 60Q768 77 794 77Q820 77 838 59T857 15Q857 7 855 -1L834
+-79Q885 -101 916 -125Q981 -182 981 -265Q981 -346 915 -404Q848 -462 753 -462Q700 -462 644 -434L553 -380Q525 -360 525 -327Q525 -301 543 -283T587 -265Q606 -265 621 -274L702 -325Q726 -337 753 -337Q796 -337 826 -318T857 -265Q857 -231 827 -212T753
+-192Q727 -192 709 -174T691 -130Q691 -119 694 -110L734 33Q739 48 751 60Z" />
+<glyph unicode="&#xc8;" glyph-name="Egrave" horiz-adv-x="1280" d="M1142 1600Q1167 1600 1185 1582T1203 1538Q1203 1513 1185 1495T1142 1477H218V862H895Q921 862 939 844T957 800Q957 774 939 756T895 738H218V123H1142Q1167 123 1185 105T1203 62Q1203
+36 1185 18T1142 0H157Q131 0 113 18T95 62V1538Q95 1564 113 1582T157 1600H1142ZM408 2019Q408 2045 426 2063T470 2081Q496 2081 514 2063L766 1811Q781 1794 781 1770Q781 1744 763 1726T719 1707Q695 1707 676 1723L424 1975Q416 1984 412 1995T408 2019Z"
+/>
+<glyph unicode="&#xc9;" glyph-name="Eacute" horiz-adv-x="1280" d="M1142 1600Q1167 1600 1185 1582T1203 1538Q1203 1513 1185 1495T1142 1477H218V862H895Q921 862 939 844T957 800Q957 774 939 756T895 738H218V123H1142Q1167 123 1185 105T1203 62Q1203
+36 1185 18T1142 0H157Q131 0 113 18T95 62V1538Q95 1564 113 1582T157 1600H1142ZM634 1721Q617 1705 592 1705Q566 1705 548 1723T530 1768Q530 1793 544 1809L796 2061Q814 2079 841 2079Q867 2079 885 2061T903 2017Q903 2005 899 1994T886 1973L634 1721Z"
+/>
+<glyph unicode="&#xca;" glyph-name="Ecircumflex" horiz-adv-x="1280" d="M1142 1600Q1167 1600 1185 1582T1203 1538Q1203 1513 1185 1495T1142 1477H218V862H895Q921 862 939 844T957 800Q957 774 939 756T895 738H218V123H1142Q1167 123 1185 105T1203 62Q1203
+36 1185 18T1142 0H157Q131 0 113 18T95 62V1538Q95 1564 113 1582T157 1600H1142ZM928 1883Q961 1860 961 1828Q961 1802 943 1784T898 1766Q876 1766 858 1779L649 1918L440 1779Q422 1766 401 1766Q375 1766 357 1784T338 1828Q338 1860 370 1883L618 2048Q632
+2056 649 2056Q667 2056 681 2048L928 1883Z" />
+<glyph unicode="&#xcb;" glyph-name="Edieresis" horiz-adv-x="1280" d="M1142 1600Q1167 1600 1185 1582T1203 1538Q1203 1513 1185 1495T1142 1477H218V862H895Q921 862 939 844T957 800Q957 774 939 756T895 738H218V123H1142Q1167 123 1185 105T1203 62Q1203
+36 1185 18T1142 0H157Q131 0 113 18T95 62V1538Q95 1564 113 1582T157 1600H1142ZM487 1870Q487 1835 463 1811T404 1787Q369 1787 345 1811T321 1870Q321 1904 345 1928T404 1953Q439 1953 463 1929T487 1870ZM985 1870Q985 1835 961 1811T902 1787Q867 1787
+843 1811T819 1870Q819 1904 843 1928T902 1953Q936 1953 960 1929T985 1870Z" />
+<glyph unicode="&#xcc;" glyph-name="Igrave" horiz-adv-x="480" d="M178 1538Q178 1564 195 1582T239 1600Q265 1600 283 1582T301 1538V62Q301 36 283 18T239 0Q213 0 196 18T178 62V1538ZM-6 2019Q-6 2045 12 2063T56 2081Q82 2081 100 2063L352 1811Q367 1794
+367 1770Q367 1744 349 1726T305 1707Q281 1707 262 1723L10 1975Q2 1984 -2 1995T-6 2019Z" />
+<glyph unicode="&#xcd;" glyph-name="Iacute" horiz-adv-x="480" d="M178 1538Q178 1564 195 1582T239 1600Q265 1600 283 1582T301 1538V62Q301 36 283 18T239 0Q213 0 196 18T178 62V1538ZM218 1721Q201 1705 176 1705Q150 1705 132 1723T114 1768Q114 1793
+128 1809L380 2061Q398 2079 425 2079Q451 2079 469 2061T487 2017Q487 2005 483 1994T470 1973L218 1721Z" />
+<glyph unicode="&#xce;" glyph-name="Icircumflex" horiz-adv-x="480" d="M178 1538Q178 1564 195 1582T239 1600Q265 1600 283 1582T301 1538V62Q301 36 283 18T239 0Q213 0 196 18T178 62V1538ZM516 1883Q549 1860 549 1828Q549 1802 531 1784T486 1766Q464
+1766 446 1779L237 1918L28 1779Q10 1766 -11 1766Q-37 1766 -55 1784T-74 1828Q-74 1860 -42 1883L206 2048Q220 2056 237 2056Q255 2056 269 2048L516 1883Z" />
+<glyph unicode="&#xcf;" glyph-name="Idieresis" horiz-adv-x="480" d="M178 1538Q178 1564 195 1582T239 1600Q265 1600 283 1582T301 1538V62Q301 36 283 18T239 0Q213 0 196 18T178 62V1538ZM73 1870Q73 1835 49 1811T-10 1787Q-45 1787 -69 1811T-93 1870Q-93
+1904 -69 1928T-10 1953Q25 1953 49 1929T73 1870ZM571 1870Q571 1835 547 1811T488 1787Q453 1787 429 1811T405 1870Q405 1904 429 1928T488 1953Q522 1953 546 1929T571 1870Z" />
+<glyph unicode="&#xd0;" glyph-name="Eth" horiz-adv-x="1520" d="M244 862V1538Q244 1564 262 1582T306 1600H634Q965 1600 1199 1365Q1434 1131 1434 800Q1434 469 1199 234Q965 0 634 0H306Q280 0 262 18T244 62V738H61Q35 738 17 756T-1 800Q-1 826 17 844T61
+862H244ZM367 862H716Q742 862 760 844T778 800Q778 774 760 756T716 738H367V123H634Q914 123 1112 321Q1311 520 1311 800Q1311 1079 1112 1278Q913 1477 634 1477H367V862Z" />
+<glyph unicode="&#xd1;" glyph-name="Ntilde" horiz-adv-x="1440" d="M216 62Q216 36 199 18T155 0Q129 0 111 18T93 62V1538Q93 1564 111 1582T155 1600Q184 1600 202 1578L1242 241V1538Q1242 1564 1260 1582T1304 1600Q1329 1600 1347 1582T1365 1538V62Q1365
+36 1347 18T1304 0Q1274 0 1258 18L216 1358V62ZM767 1838Q680 1760 561 1760Q432 1760 340 1852Q332 1861 328 1872T324 1895Q324 1921 342 1939T386 1958Q411 1958 429 1941Q485 1885 561 1885Q628 1885 677 1925Q765 2004 885 2004Q1014 2004 1105 1913Q1122
+1895 1122 1869Q1122 1843 1104 1825T1060 1807Q1034 1807 1016 1824Q962 1880 885 1880Q820 1880 767 1838Z" />
+<glyph unicode="&#xd2;" glyph-name="Ograve" horiz-adv-x="1760" d="M891 1477Q613 1477 412 1278Q214 1080 214 800Q214 519 412 321Q611 123 891 123Q1171 123 1369 321Q1568 519 1568 800Q1568 1080 1369 1278Q1170 1477 891 1477ZM1691 800Q1691 469 1456
+234Q1223 0 891 0Q728 0 585 61T325 234Q213 351 152 494T91 800Q91 1131 325 1365Q560 1600 891 1600Q1224 1600 1456 1365Q1691 1131 1691 800ZM723 2019Q723 2045 741 2063T785 2081Q811 2081 829 2063L1081 1811Q1096 1794 1096 1770Q1096 1744 1078 1726T1034
+1707Q1010 1707 991 1723L739 1975Q731 1984 727 1995T723 2019Z" />
+<glyph unicode="&#xd3;" glyph-name="Oacute" horiz-adv-x="1760" d="M891 1477Q613 1477 412 1278Q214 1080 214 800Q214 519 412 321Q611 123 891 123Q1171 123 1369 321Q1568 519 1568 800Q1568 1080 1369 1278Q1170 1477 891 1477ZM1691 800Q1691 469 1456
+234Q1223 0 891 0Q728 0 585 61T325 234Q213 351 152 494T91 800Q91 1131 325 1365Q560 1600 891 1600Q1224 1600 1456 1365Q1691 1131 1691 800ZM799 1721Q782 1705 757 1705Q731 1705 713 1723T695 1768Q695 1793 709 1809L961 2061Q979 2079 1006 2079Q1032
+2079 1050 2061T1068 2017Q1068 2005 1064 1994T1051 1973L799 1721Z" />
+<glyph unicode="&#xd4;" glyph-name="Ocircumflex" horiz-adv-x="1760" d="M891 1477Q613 1477 412 1278Q214 1080 214 800Q214 519 412 321Q611 123 891 123Q1171 123 1369 321Q1568 519 1568 800Q1568 1080 1369 1278Q1170 1477 891 1477ZM1691 800Q1691 469
+1456 234Q1223 0 891 0Q728 0 585 61T325 234Q213 351 152 494T91 800Q91 1131 325 1365Q560 1600 891 1600Q1224 1600 1456 1365Q1691 1131 1691 800ZM1165 1883Q1198 1860 1198 1828Q1198 1802 1180 1784T1135 1766Q1113 1766 1095 1779L886 1918L677 1779Q659
+1766 638 1766Q612 1766 594 1784T575 1828Q575 1860 607 1883L855 2048Q869 2056 886 2056Q904 2056 918 2048L1165 1883Z" />
+<glyph unicode="&#xd5;" glyph-name="Otilde" horiz-adv-x="1760" d="M891 1477Q613 1477 412 1278Q214 1080 214 800Q214 519 412 321Q611 123 891 123Q1171 123 1369 321Q1568 519 1568 800Q1568 1080 1369 1278Q1170 1477 891 1477ZM1691 800Q1691 469 1456
+234Q1223 0 891 0Q728 0 585 61T325 234Q213 351 152 494T91 800Q91 1131 325 1365Q560 1600 891 1600Q1224 1600 1456 1365Q1691 1131 1691 800ZM925 1838Q838 1760 719 1760Q590 1760 498 1852Q490 1861 486 1872T482 1895Q482 1921 500 1939T544 1958Q569 1958
+587 1941Q643 1885 719 1885Q786 1885 835 1925Q923 2004 1043 2004Q1172 2004 1263 1913Q1280 1895 1280 1869Q1280 1843 1262 1825T1218 1807Q1192 1807 1174 1824Q1120 1880 1043 1880Q978 1880 925 1838Z" />
+<glyph unicode="&#xd6;" glyph-name="Odieresis" horiz-adv-x="1760" d="M891 1477Q613 1477 412 1278Q214 1080 214 800Q214 519 412 321Q611 123 891 123Q1171 123 1369 321Q1568 519 1568 800Q1568 1080 1369 1278Q1170 1477 891 1477ZM1691 800Q1691 469 1456
+234Q1223 0 891 0Q728 0 585 61T325 234Q213 351 152 494T91 800Q91 1131 325 1365Q560 1600 891 1600Q1224 1600 1456 1365Q1691 1131 1691 800ZM722 1870Q722 1835 698 1811T639 1787Q604 1787 580 1811T556 1870Q556 1904 580 1928T639 1953Q674 1953 698 1929T722
+1870ZM1220 1870Q1220 1835 1196 1811T1137 1787Q1102 1787 1078 1811T1054 1870Q1054 1904 1078 1928T1137 1953Q1171 1953 1195 1929T1220 1870Z" />
+<glyph unicode="&#xd7;" glyph-name="multiply" horiz-adv-x="960" d="M388 726L99 1014Q83 1032 83 1058Q83 1084 101 1102T145 1120Q171 1120 191 1101L477 815L763 1101Q783 1120 809 1120Q835 1120 853 1102T871 1058Q871 1032 854 1014L566 726L854 438Q871
+420 871 394Q871 368 853 350T809 332Q783 332 766 347L477 637L188 347Q171 332 145 332Q119 332 101 350T83 394Q83 420 99 438L388 726Z" />
+<glyph unicode="&#xd8;" glyph-name="Oslash" horiz-adv-x="1760" d="M1487 1320Q1679 1092 1679 800Q1679 469 1444 234Q1211 0 879 0Q588 0 359 192L185 17Q167 0 141 0Q115 0 97 18T79 62Q79 87 95 104L271 280Q79 509 79 800Q79 1131 313 1365Q548 1600 879
+1600Q1169 1600 1399 1408L1574 1583Q1592 1600 1618 1600Q1644 1600 1661 1582T1679 1538Q1679 1514 1665 1498L1487 1320ZM1312 1321Q1117 1477 879 1477Q601 1477 400 1278Q202 1080 202 800Q202 564 358 367L1312 1321ZM446 279Q642 123 879 123Q1159 123 1357
+321Q1556 519 1556 800Q1556 1037 1400 1234L446 279Z" />
+<glyph unicode="&#xd9;" glyph-name="Ugrave" horiz-adv-x="1280" d="M94 1538Q94 1564 112 1582T156 1600Q182 1600 199 1582T217 1538V554Q217 375 344 249Q470 123 648 123Q827 123 953 249Q1079 375 1079 554V1538Q1079 1564 1097 1582T1141 1600Q1166 1600
+1184 1582T1202 1538V554Q1202 324 1040 162Q878 0 648 0Q418 0 256 162Q175 243 135 340T94 554V1538ZM405 2019Q405 2045 423 2063T467 2081Q493 2081 511 2063L763 1811Q778 1794 778 1770Q778 1744 760 1726T716 1707Q692 1707 673 1723L421 1975Q413 1984
+409 1995T405 2019Z" />
+<glyph unicode="&#xda;" glyph-name="Uacute" horiz-adv-x="1280" d="M94 1538Q94 1564 112 1582T156 1600Q182 1600 199 1582T217 1538V554Q217 375 344 249Q470 123 648 123Q827 123 953 249Q1079 375 1079 554V1538Q1079 1564 1097 1582T1141 1600Q1166 1600
+1184 1582T1202 1538V554Q1202 324 1040 162Q878 0 648 0Q418 0 256 162Q175 243 135 340T94 554V1538ZM631 1721Q614 1705 589 1705Q563 1705 545 1723T527 1768Q527 1793 541 1809L793 2061Q811 2079 838 2079Q864 2079 882 2061T900 2017Q900 2005 896 1994T883
+1973L631 1721Z" />
+<glyph unicode="&#xdb;" glyph-name="Ucircumflex" horiz-adv-x="1280" d="M94 1538Q94 1564 112 1582T156 1600Q182 1600 199 1582T217 1538V554Q217 375 344 249Q470 123 648 123Q827 123 953 249Q1079 375 1079 554V1538Q1079 1564 1097 1582T1141 1600Q1166
+1600 1184 1582T1202 1538V554Q1202 324 1040 162Q878 0 648 0Q418 0 256 162Q175 243 135 340T94 554V1538ZM927 1883Q960 1860 960 1828Q960 1802 942 1784T897 1766Q875 1766 857 1779L648 1918L439 1779Q421 1766 400 1766Q374 1766 356 1784T337 1828Q337
+1860 369 1883L617 2048Q631 2056 648 2056Q666 2056 680 2048L927 1883Z" />
+<glyph unicode="&#xdc;" glyph-name="Udieresis" horiz-adv-x="1280" d="M94 1538Q94 1564 112 1582T156 1600Q182 1600 199 1582T217 1538V554Q217 375 344 249Q470 123 648 123Q827 123 953 249Q1079 375 1079 554V1538Q1079 1564 1097 1582T1141 1600Q1166
+1600 1184 1582T1202 1538V554Q1202 324 1040 162Q878 0 648 0Q418 0 256 162Q175 243 135 340T94 554V1538ZM484 1870Q484 1835 460 1811T401 1787Q366 1787 342 1811T318 1870Q318 1904 342 1928T401 1953Q436 1953 460 1929T484 1870ZM982 1870Q982 1835 958
+1811T899 1787Q864 1787 840 1811T816 1870Q816 1904 840 1928T899 1953Q933 1953 957 1929T982 1870Z" />
+<glyph unicode="&#xdd;" glyph-name="Yacute" horiz-adv-x="1280" d="M710 62Q710 36 692 18T648 0Q622 0 605 18T587 62V782L104 1504Q94 1520 94 1538Q94 1564 112 1582T156 1600Q186 1600 205 1575L648 911L1091 1575Q1109 1600 1141 1600Q1166 1600 1184 1582T1202
+1538Q1202 1518 1192 1504L710 782V62ZM631 1721Q614 1705 589 1705Q563 1705 545 1723T527 1768Q527 1793 541 1809L793 2061Q811 2079 838 2079Q864 2079 882 2061T900 2017Q900 2005 896 1994T883 1973L631 1721Z" />
+<glyph unicode="&#xde;" glyph-name="Thorn" horiz-adv-x="1280" d="M82 1538Q82 1564 100 1582T144 1600Q170 1600 187 1582T205 1538V1272H718Q914 1272 1052 1133Q1190 996 1190 800Q1190 604 1052 466Q914 328 718 328H205V62Q205 36 188 18T144 0Q118 0 100
+18T82 62V1538ZM718 451Q863 451 964 553Q1067 656 1067 800Q1067 944 964 1046Q864 1149 718 1149H205V451H718Z" />
+<glyph unicode="&#xdf;" glyph-name="germandbls" horiz-adv-x="1120" d="M206 62Q206 36 188 18T144 0Q118 0 100 18T81 62V1224Q81 1307 110 1376T196 1503Q254 1560 323 1589T475 1618Q639 1618 754 1503Q869 1388 869 1224Q869 1080 778 972Q748 933 748 878Q748
+785 817 748Q876 717 920 673Q1035 558 1035 394Q1035 230 920 115Q806 0 641 0Q477 0 362 115Q342 137 342 162Q342 188 360 206T404 224Q431 224 452 204Q530 124 641 124Q752 124 831 203Q911 283 911 394Q911 506 832 585Q804 613 769 634Q733 656 701 685Q621
+765 621 879Q621 985 690 1061Q745 1132 745 1224Q745 1335 665 1413Q585 1493 475 1493Q365 1493 286 1415Q206 1335 206 1224V62Z" />
+<glyph unicode="&#xe0;" glyph-name="agrave" horiz-adv-x="1280" d="M652 996Q472 996 344 868Q216 740 216 560Q216 380 344 252Q472 124 652 124Q832 124 960 252Q1087 379 1087 560Q1087 741 960 868Q832 996 652 996ZM1087 203Q885 0 652 0Q420 0 256 164Q92
+328 92 560Q92 792 256 956Q420 1120 652 1120Q884 1120 1048 956Q1212 792 1212 560V62Q1212 36 1194 18T1150 0Q1124 0 1106 18T1087 62V203ZM428 1539Q428 1565 446 1583T490 1601Q516 1601 534 1583L786 1331Q801 1314 801 1290Q801 1264 783 1246T739 1227Q715
+1227 696 1243L444 1495Q436 1504 432 1515T428 1539Z" />
+<glyph unicode="&#xe1;" glyph-name="aacute" horiz-adv-x="1280" d="M652 996Q472 996 344 868Q216 740 216 560Q216 380 344 252Q472 124 652 124Q832 124 960 252Q1087 379 1087 560Q1087 741 960 868Q832 996 652 996ZM1087 203Q885 0 652 0Q420 0 256 164Q92
+328 92 560Q92 792 256 956Q420 1120 652 1120Q884 1120 1048 956Q1212 792 1212 560V62Q1212 36 1194 18T1150 0Q1124 0 1106 18T1087 62V203ZM583 1241Q566 1225 541 1225Q515 1225 497 1243T479 1288Q479 1313 493 1329L745 1581Q763 1599 790 1599Q816 1599
+834 1581T852 1537Q852 1525 848 1514T835 1493L583 1241Z" />
+<glyph unicode="&#xe2;" glyph-name="acircumflex" horiz-adv-x="1280" d="M652 996Q472 996 344 868Q216 740 216 560Q216 380 344 252Q472 124 652 124Q832 124 960 252Q1087 379 1087 560Q1087 741 960 868Q832 996 652 996ZM1087 203Q885 0 652 0Q420 0 256
+164Q92 328 92 560Q92 792 256 956Q420 1120 652 1120Q884 1120 1048 956Q1212 792 1212 560V62Q1212 36 1194 18T1150 0Q1124 0 1106 18T1087 62V203ZM926 1403Q959 1380 959 1348Q959 1322 941 1304T896 1286Q874 1286 856 1299L647 1438L438 1299Q420 1286 399
+1286Q373 1286 355 1304T336 1348Q336 1380 368 1403L616 1568Q630 1576 647 1576Q665 1576 679 1568L926 1403Z" />
+<glyph unicode="&#xe3;" glyph-name="atilde" horiz-adv-x="1280" d="M652 996Q472 996 344 868Q216 740 216 560Q216 380 344 252Q472 124 652 124Q832 124 960 252Q1087 379 1087 560Q1087 741 960 868Q832 996 652 996ZM1087 203Q885 0 652 0Q420 0 256 164Q92
+328 92 560Q92 792 256 956Q420 1120 652 1120Q884 1120 1048 956Q1212 792 1212 560V62Q1212 36 1194 18T1150 0Q1124 0 1106 18T1087 62V203ZM693 1358Q606 1280 487 1280Q358 1280 266 1372Q258 1381 254 1392T250 1415Q250 1441 268 1459T312 1478Q337 1478
+355 1461Q411 1405 487 1405Q554 1405 603 1445Q691 1524 811 1524Q940 1524 1031 1433Q1048 1415 1048 1389Q1048 1363 1030 1345T986 1327Q960 1327 942 1344Q888 1400 811 1400Q746 1400 693 1358Z" />
+<glyph unicode="&#xe4;" glyph-name="adieresis" horiz-adv-x="1280" d="M652 996Q472 996 344 868Q216 740 216 560Q216 380 344 252Q472 124 652 124Q832 124 960 252Q1087 379 1087 560Q1087 741 960 868Q832 996 652 996ZM1087 203Q885 0 652 0Q420 0 256
+164Q92 328 92 560Q92 792 256 956Q420 1120 652 1120Q884 1120 1048 956Q1212 792 1212 560V62Q1212 36 1194 18T1150 0Q1124 0 1106 18T1087 62V203ZM483 1390Q483 1355 459 1331T400 1307Q365 1307 341 1331T317 1390Q317 1424 341 1448T400 1473Q435 1473 459
+1449T483 1390ZM981 1390Q981 1355 957 1331T898 1307Q863 1307 839 1331T815 1390Q815 1424 839 1448T898 1473Q932 1473 956 1449T981 1390Z" />
+<glyph unicode="&#xe5;" glyph-name="aring" horiz-adv-x="1280" d="M652 996Q472 996 344 868Q216 740 216 560Q216 380 344 252Q472 124 652 124Q832 124 960 252Q1087 379 1087 560Q1087 741 960 868Q832 996 652 996ZM1087 203Q885 0 652 0Q420 0 256 164Q92
+328 92 560Q92 792 256 956Q420 1120 652 1120Q884 1120 1048 956Q1212 792 1212 560V62Q1212 36 1194 18T1150 0Q1124 0 1106 18T1087 62V203ZM834 1412Q834 1335 779 1278Q724 1223 646 1223Q569 1223 512 1278Q457 1335 457 1412Q457 1490 512 1545Q569 1600
+646 1600Q724 1600 779 1545Q834 1490 834 1412ZM691 1303T723 1335T755 1412Q755 1457 723 1489T646 1521Q601 1521 569 1489T537 1412Q537 1367 569 1335T646 1303Q691 1303 723 1335Z" />
+<glyph unicode="&#xe6;" glyph-name="ae" horiz-adv-x="2240" d="M631 996Q451 996 323 868Q195 740 195 560Q195 380 323 252Q451 124 631 124Q811 124 939 252Q1067 380 1067 560Q1067 740 939 868Q811 996 631 996ZM2060 622Q2030 773 1935 868Q1805 996 1627
+996Q1447 996 1319 868Q1269 819 1239 758T1193 622H2060ZM1191 62Q1191 36 1173 18T1129 0Q1103 0 1085 18T1067 62V203Q864 0 631 0Q399 0 235 164Q71 328 71 560Q71 792 235 956Q399 1120 631 1120Q863 1120 1027 956Q1074 909 1129 822Q1155 864 1180 897T1230
+956Q1394 1120 1627 1120Q1859 1120 2023 956Q2187 792 2187 560Q2187 534 2169 516T2124 498H1193Q1223 346 1319 252Q1447 124 1627 124Q1708 124 1778 150T1907 227Q1924 241 1946 241Q1972 241 1990 223T2008 178Q2008 150 1992 135Q1836 0 1627 0Q1394 0 1191
+203V62Z" />
+<glyph unicode="&#xe7;" glyph-name="ccedilla" horiz-adv-x="1120" d="M975 243Q1001 243 1019 225T1037 180Q1037 154 1018 135Q942 70 849 35T653 0Q421 0 257 164Q93 328 93 560Q93 792 257 956Q421 1120 653 1120Q756 1120 849 1085T1018 985Q1027 976 1033
+963T1040 936Q1040 910 1022 892T978 874Q954 874 938 889Q816 996 653 996Q473 996 345 868Q218 741 218 560Q218 379 345 252Q473 124 653 124Q732 124 805 153T938 231Q953 243 975 243ZM562 60Q579 77 605 77Q631 77 649 59T668 15Q668 7 666 -1L645 -79Q696
+-101 727 -125Q792 -182 792 -265Q792 -346 726 -404Q659 -462 564 -462Q511 -462 455 -434L364 -380Q336 -360 336 -327Q336 -301 354 -283T398 -265Q417 -265 432 -274L513 -325Q537 -337 564 -337Q607 -337 637 -318T668 -265Q668 -231 638 -212T564 -192Q538
+-192 520 -174T502 -130Q502 -119 505 -110L545 33Q550 48 562 60Z" />
+<glyph unicode="&#xe8;" glyph-name="egrave" horiz-adv-x="1280" d="M1073 622Q1045 771 948 868Q820 996 640 996Q460 996 332 868Q236 772 206 622H1073ZM959 241Q985 241 1003 223T1021 178Q1021 152 1005 135Q849 0 640 0Q408 0 244 164Q80 328 80 560Q80
+792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560Q1200 534 1182 516T1138 498H206Q236 348 332 252Q460 124 640 124Q722 124 792 150T920 227Q937 241 959 241ZM426 1539Q426 1565 444 1583T488 1601Q514 1601 532 1583L784 1331Q799 1314
+799 1290Q799 1264 781 1246T737 1227Q713 1227 694 1243L442 1495Q434 1504 430 1515T426 1539Z" />
+<glyph unicode="&#xe9;" glyph-name="eacute" horiz-adv-x="1280" d="M1073 622Q1045 771 948 868Q820 996 640 996Q460 996 332 868Q236 772 206 622H1073ZM959 241Q985 241 1003 223T1021 178Q1021 152 1005 135Q849 0 640 0Q408 0 244 164Q80 328 80 560Q80
+792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560Q1200 534 1182 516T1138 498H206Q236 348 332 252Q460 124 640 124Q722 124 792 150T920 227Q937 241 959 241ZM584 1241Q567 1225 542 1225Q516 1225 498 1243T480 1288Q480 1313 494 1329L746
+1581Q764 1599 791 1599Q817 1599 835 1581T853 1537Q853 1525 849 1514T836 1493L584 1241Z" />
+<glyph unicode="&#xea;" glyph-name="ecircumflex" horiz-adv-x="1280" d="M1073 622Q1045 771 948 868Q820 996 640 996Q460 996 332 868Q236 772 206 622H1073ZM959 241Q985 241 1003 223T1021 178Q1021 152 1005 135Q849 0 640 0Q408 0 244 164Q80 328 80 560Q80
+792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560Q1200 534 1182 516T1138 498H206Q236 348 332 252Q460 124 640 124Q722 124 792 150T920 227Q937 241 959 241ZM914 1403Q947 1380 947 1348Q947 1322 929 1304T884 1286Q862 1286 844 1299L635
+1438L426 1299Q408 1286 387 1286Q361 1286 343 1304T324 1348Q324 1380 356 1403L604 1568Q618 1576 635 1576Q653 1576 667 1568L914 1403Z" />
+<glyph unicode="&#xeb;" glyph-name="edieresis" horiz-adv-x="1280" d="M1073 622Q1045 771 948 868Q820 996 640 996Q460 996 332 868Q236 772 206 622H1073ZM959 241Q985 241 1003 223T1021 178Q1021 152 1005 135Q849 0 640 0Q408 0 244 164Q80 328 80 560Q80
+792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560Q1200 534 1182 516T1138 498H206Q236 348 332 252Q460 124 640 124Q722 124 792 150T920 227Q937 241 959 241ZM471 1390Q471 1355 447 1331T388 1307Q353 1307 329 1331T305 1390Q305 1424
+329 1448T388 1473Q423 1473 447 1449T471 1390ZM969 1390Q969 1355 945 1331T886 1307Q851 1307 827 1331T803 1390Q803 1424 827 1448T886 1473Q920 1473 944 1449T969 1390Z" />
+<glyph unicode="&#xec;" glyph-name="igrave" horiz-adv-x="480" d="M170 1058Q170 1084 188 1102T232 1120Q258 1120 276 1102T295 1058V62Q295 36 277 18T232 0Q206 0 188 18T170 62V1058ZM277 1539Q277 1565 295 1583T339 1601Q365 1601 383 1583L635 1331Q650
+1314 650 1290Q650 1264 632 1246T588 1227Q564 1227 545 1243L293 1495Q285 1504 281 1515T277 1539Z" />
+<glyph unicode="&#xed;" glyph-name="iacute" horiz-adv-x="480" d="M170 1058Q170 1084 188 1102T232 1120Q258 1120 276 1102T295 1058V62Q295 36 277 18T232 0Q206 0 188 18T170 62V1058ZM193 1241Q176 1225 151 1225Q125 1225 107 1243T89 1288Q89 1313 103
+1329L355 1581Q373 1599 400 1599Q426 1599 444 1581T462 1537Q462 1525 458 1514T445 1493L193 1241Z" />
+<glyph unicode="&#xee;" glyph-name="icircumflex" horiz-adv-x="560" d="M211 1058Q211 1084 229 1102T273 1120Q299 1120 317 1102T336 1058V62Q336 36 318 18T273 0Q247 0 229 18T211 62V1058ZM812 1403Q845 1380 845 1348Q845 1322 827 1304T782 1286Q760
+1286 742 1299L533 1438L324 1299Q306 1286 285 1286Q259 1286 241 1304T222 1348Q222 1380 254 1403L502 1568Q516 1576 533 1576Q551 1576 565 1568L812 1403Z" />
+<glyph unicode="&#xef;" glyph-name="idieresis" horiz-adv-x="600" d="M230 1058Q230 1084 248 1102T292 1120Q318 1120 336 1102T355 1058V62Q355 36 337 18T292 0Q266 0 248 18T230 62V1058ZM134 1390Q134 1355 110 1331T51 1307Q16 1307 -8 1331T-32 1390Q-32
+1424 -8 1448T51 1473Q86 1473 110 1449T134 1390ZM632 1390Q632 1355 608 1331T549 1307Q514 1307 490 1331T466 1390Q466 1424 490 1448T549 1473Q583 1473 607 1449T632 1390Z" />
+<glyph unicode="&#xf0;" glyph-name="eth" horiz-adv-x="1280" d="M640 996Q460 996 332 868Q204 740 204 560Q204 380 332 252Q460 124 640 124Q820 124 948 252Q1075 379 1075 560Q1075 741 948 868Q820 996 640 996ZM633 1443L588 1519Q578 1539 578 1556Q578
+1582 596 1600T640 1618Q675 1618 693 1590L741 1507L900 1599Q914 1607 931 1607Q948 1607 962 1600T985 1577Q993 1565 993 1545Q993 1529 985 1515T963 1491L804 1398Q1011 1040 1052 968T1133 829Q1165 770 1182 701T1200 560Q1200 328 1036 164Q872 0 640
+0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q681 1120 729 1113T838 1088L695 1335L532 1240Q518 1232 502 1232Q468 1232 450 1260Q440 1277 440 1294Q440 1310 448 1325T470 1348L633 1443Z" />
+<glyph unicode="&#xf1;" glyph-name="ntilde" horiz-adv-x="1200" d="M81 1058Q81 1084 99 1102T143 1120Q169 1120 187 1102T205 1058V942Q389 1120 599 1120Q815 1120 965 968Q1118 816 1118 601V62Q1118 36 1100 18T1055 0Q1029 0 1011 18T993 62V601Q993 766
+877 879Q761 996 599 996Q437 996 320 879Q205 765 205 601V62Q205 36 187 18T143 0Q117 0 99 18T81 62V1058ZM646 1358Q559 1280 440 1280Q311 1280 219 1372Q211 1381 207 1392T203 1415Q203 1441 221 1459T265 1478Q290 1478 308 1461Q364 1405 440 1405Q507
+1405 556 1445Q644 1524 764 1524Q893 1524 984 1433Q1001 1415 1001 1389Q1001 1363 983 1345T939 1327Q913 1327 895 1344Q841 1400 764 1400Q699 1400 646 1358Z" />
+<glyph unicode="&#xf2;" glyph-name="ograve" horiz-adv-x="1280" d="M1200 560Q1200 328 1036 164Q872 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560ZM640 996Q460 996 332 868Q204 740 204 560Q204
+380 332 252Q460 124 640 124Q820 124 948 252Q1075 379 1075 560Q1075 741 948 868Q820 996 640 996ZM426 1539Q426 1565 444 1583T488 1601Q514 1601 532 1583L784 1331Q799 1314 799 1290Q799 1264 781 1246T737 1227Q713 1227 694 1243L442 1495Q434 1504 430
+1515T426 1539Z" />
+<glyph unicode="&#xf3;" glyph-name="oacute" horiz-adv-x="1280" d="M1200 560Q1200 328 1036 164Q872 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560ZM640 996Q460 996 332 868Q204 740 204 560Q204
+380 332 252Q460 124 640 124Q820 124 948 252Q1075 379 1075 560Q1075 741 948 868Q820 996 640 996ZM583 1241Q566 1225 541 1225Q515 1225 497 1243T479 1288Q479 1313 493 1329L745 1581Q763 1599 790 1599Q816 1599 834 1581T852 1537Q852 1525 848 1514T835
+1493L583 1241Z" />
+<glyph unicode="&#xf4;" glyph-name="ocircumflex" horiz-adv-x="1280" d="M1200 560Q1200 328 1036 164Q872 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560ZM640 996Q460 996 332 868Q204 740
+204 560Q204 380 332 252Q460 124 640 124Q820 124 948 252Q1075 379 1075 560Q1075 741 948 868Q820 996 640 996ZM914 1403Q947 1380 947 1348Q947 1322 929 1304T884 1286Q862 1286 844 1299L635 1438L426 1299Q408 1286 387 1286Q361 1286 343 1304T324 1348Q324
+1380 356 1403L604 1568Q618 1576 635 1576Q653 1576 667 1568L914 1403Z" />
+<glyph unicode="&#xf5;" glyph-name="otilde" horiz-adv-x="1280" d="M1200 560Q1200 328 1036 164Q872 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560ZM640 996Q460 996 332 868Q204 740 204 560Q204
+380 332 252Q460 124 640 124Q820 124 948 252Q1075 379 1075 560Q1075 741 948 868Q820 996 640 996ZM681 1358Q594 1280 475 1280Q346 1280 254 1372Q246 1381 242 1392T238 1415Q238 1441 256 1459T300 1478Q325 1478 343 1461Q399 1405 475 1405Q542 1405 591
+1445Q679 1524 799 1524Q928 1524 1019 1433Q1036 1415 1036 1389Q1036 1363 1018 1345T974 1327Q948 1327 930 1344Q876 1400 799 1400Q734 1400 681 1358Z" />
+<glyph unicode="&#xf6;" glyph-name="odieresis" horiz-adv-x="1280" d="M1200 560Q1200 328 1036 164Q872 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q872 1120 1036 956Q1200 792 1200 560ZM640 996Q460 996 332 868Q204 740 204
+560Q204 380 332 252Q460 124 640 124Q820 124 948 252Q1075 379 1075 560Q1075 741 948 868Q820 996 640 996ZM471 1390Q471 1355 447 1331T388 1307Q353 1307 329 1331T305 1390Q305 1424 329 1448T388 1473Q423 1473 447 1449T471 1390ZM969 1390Q969 1355 945
+1331T886 1307Q851 1307 827 1331T803 1390Q803 1424 827 1448T886 1473Q920 1473 944 1449T969 1390Z" />
+<glyph unicode="&#xf7;" glyph-name="divide" horiz-adv-x="960" d="M560 1037Q560 1002 536 978T477 954Q442 954 418 978T394 1037Q394 1072 418 1096T477 1120Q512 1120 536 1096T560 1037ZM145 664Q119 664 101 682T83 726Q83 752 101 770T145 788H809Q835
+788 853 770T871 726Q871 700 853 682T809 664H145ZM560 415Q560 380 536 356T477 332Q442 332 418 356T394 415Q394 449 418 473T477 498Q512 498 536 474T560 415Z" />
+<glyph unicode="&#xf8;" glyph-name="oslash" horiz-adv-x="1280" d="M901 909Q773 996 640 996Q460 996 332 868Q204 740 204 560Q204 428 289 299L901 909ZM379 209Q508 124 640 124Q820 124 948 252Q1075 379 1075 560Q1075 692 990 821L379 209ZM1091 1099Q1110
+1120 1138 1120Q1164 1120 1182 1102T1200 1058Q1200 1032 1183 1014L1079 909Q1200 752 1200 560Q1200 328 1036 164Q872 0 640 0Q447 0 290 121L187 18Q168 0 142 0Q116 0 98 18T80 62Q80 88 96 106L201 211Q80 366 80 560Q80 792 244 956Q408 1120 640 1120Q833
+1120 990 999L1091 1099Z" />
+<glyph unicode="&#xf9;" glyph-name="ugrave" horiz-adv-x="1200" d="M1118 62Q1118 36 1100 18T1055 0Q1029 0 1011 18T993 62V178Q809 0 599 0Q386 0 232 151Q81 303 81 519V1058Q81 1084 99 1102T143 1120Q169 1120 187 1102T205 1058V519Q205 355 320 240Q439
+124 599 124Q761 124 877 240Q993 355 993 519V1058Q993 1084 1011 1102T1055 1120Q1081 1120 1099 1102T1118 1058V62ZM419 1539Q419 1565 437 1583T481 1601Q507 1601 525 1583L777 1331Q792 1314 792 1290Q792 1264 774 1246T730 1227Q706 1227 687 1243L435
+1495Q427 1504 423 1515T419 1539Z" />
+<glyph unicode="&#xfa;" glyph-name="uacute" horiz-adv-x="1200" d="M1118 62Q1118 36 1100 18T1055 0Q1029 0 1011 18T993 62V178Q809 0 599 0Q386 0 232 151Q81 303 81 519V1058Q81 1084 99 1102T143 1120Q169 1120 187 1102T205 1058V519Q205 355 320 240Q439
+124 599 124Q761 124 877 240Q993 355 993 519V1058Q993 1084 1011 1102T1055 1120Q1081 1120 1099 1102T1118 1058V62ZM511 1241Q494 1225 469 1225Q443 1225 425 1243T407 1288Q407 1313 421 1329L673 1581Q691 1599 718 1599Q744 1599 762 1581T780 1537Q780
+1525 776 1514T763 1493L511 1241Z" />
+<glyph unicode="&#xfb;" glyph-name="ucircumflex" horiz-adv-x="1200" d="M1118 62Q1118 36 1100 18T1055 0Q1029 0 1011 18T993 62V178Q809 0 599 0Q386 0 232 151Q81 303 81 519V1058Q81 1084 99 1102T143 1120Q169 1120 187 1102T205 1058V519Q205 355 320
+240Q439 124 599 124Q761 124 877 240Q993 355 993 519V1058Q993 1084 1011 1102T1055 1120Q1081 1120 1099 1102T1118 1058V62ZM874 1403Q907 1380 907 1348Q907 1322 889 1304T844 1286Q822 1286 804 1299L595 1438L386 1299Q368 1286 347 1286Q321 1286 303
+1304T284 1348Q284 1380 316 1403L564 1568Q578 1576 595 1576Q613 1576 627 1568L874 1403Z" />
+<glyph unicode="&#xfc;" glyph-name="udieresis" horiz-adv-x="1200" d="M1118 62Q1118 36 1100 18T1055 0Q1029 0 1011 18T993 62V178Q809 0 599 0Q386 0 232 151Q81 303 81 519V1058Q81 1084 99 1102T143 1120Q169 1120 187 1102T205 1058V519Q205 355 320 240Q439
+124 599 124Q761 124 877 240Q993 355 993 519V1058Q993 1084 1011 1102T1055 1120Q1081 1120 1099 1102T1118 1058V62ZM431 1390Q431 1355 407 1331T348 1307Q313 1307 289 1331T265 1390Q265 1424 289 1448T348 1473Q383 1473 407 1449T431 1390ZM929 1390Q929
+1355 905 1331T846 1307Q811 1307 787 1331T763 1390Q763 1424 787 1448T846 1473Q880 1473 904 1449T929 1390Z" />
+<glyph unicode="&#xfd;" glyph-name="yacute" horiz-adv-x="1120" d="M490 63L85 1033Q81 1046 81 1058Q81 1084 99 1102T144 1120Q170 1120 188 1102Q197 1093 203 1077L558 227L913 1077Q919 1093 930 1104Q946 1120 973 1120Q999 1120 1017 1102T1036 1058Q1036
+1048 1032 1036L416 -438Q411 -452 402 -461Q383 -480 357 -480Q331 -480 313 -462T295 -418Q295 -405 299 -396L490 63ZM538 1241Q521 1225 496 1225Q470 1225 452 1243T434 1288Q434 1313 448 1329L700 1581Q718 1599 745 1599Q771 1599 789 1581T807 1537Q807
+1525 803 1514T790 1493L538 1241Z" />
+<glyph unicode="&#xfe;" glyph-name="thorn" horiz-adv-x="1280" d="M204 562Q204 382 332 254Q459 127 640 127Q821 127 948 254Q1075 381 1075 562Q1075 743 948 870Q820 998 640 998Q460 998 332 870Q204 742 204 562ZM204 919Q407 1122 640 1122Q872 1122
+1036 958Q1200 794 1200 562Q1200 330 1036 166Q872 2 640 2Q407 2 204 205V-418Q204 -444 186 -462T142 -480Q116 -480 98 -462T80 -418V1538Q80 1564 98 1582T142 1600Q168 1600 186 1582T204 1538V919Z" />
+<glyph unicode="&#xff;" glyph-name="ydieresis" horiz-adv-x="1120" d="M490 63L85 1033Q81 1046 81 1058Q81 1084 99 1102T144 1120Q170 1120 188 1102Q197 1093 203 1077L558 227L913 1077Q919 1093 930 1104Q946 1120 973 1120Q999 1120 1017 1102T1036 1058Q1036
+1048 1032 1036L416 -438Q411 -452 402 -461Q383 -480 357 -480Q331 -480 313 -462T295 -418Q295 -405 299 -396L490 63ZM391 1390Q391 1355 367 1331T308 1307Q273 1307 249 1331T225 1390Q225 1424 249 1448T308 1473Q343 1473 367 1449T391 1390ZM889 1390Q889
+1355 865 1331T806 1307Q771 1307 747 1331T723 1390Q723 1424 747 1448T806 1473Q840 1473 864 1449T889 1390Z" />
+<glyph unicode="&#x2013;" glyph-name="endash" horiz-adv-x="800" d="M-19 498Q-45 498 -63 516T-82 560Q-82 586 -64 604T-19 622H810Q836 622 854 604T872 560Q872 534 854 516T810 498H-19Z" />
+<glyph unicode="&#x2014;" glyph-name="emdash" horiz-adv-x="1920" d="M-30 498Q-56 498 -74 516T-92 560Q-92 586 -74 604T-30 622H1961Q1987 622 2005 604T2024 560Q2024 534 2006 516T1961 498H-30Z" />
+<glyph unicode="&#x2018;" glyph-name="quoteleft" horiz-adv-x="480" d="M350 1041Q350 1006 326 982T267 958Q216 958 191 1007Q129 1116 129 1233Q129 1318 169 1410T281 1590Q292 1601 309 1601Q326 1601 338 1589T350 1560Q350 1552 346 1542Q320 1477 306
+1416T292 1294Q292 1236 305 1181T343 1074Q350 1058 350 1041Z" />
+<glyph unicode="&#x2019;" glyph-name="quoteright" horiz-adv-x="480" d="M129 1519Q129 1554 153 1578T212 1602Q263 1602 288 1553Q350 1444 350 1327Q350 1242 310 1150T198 970Q187 959 170 959Q153 959 141 971T129 1000Q129 1008 133 1018Q159 1083 173
+1144T187 1266Q187 1324 174 1379T136 1486Q129 1502 129 1519Z" />
+<glyph unicode="&#x201a;" glyph-name="quotesinglbase" horiz-adv-x="480" d="M129 237Q129 272 153 296T212 320Q263 320 288 271Q350 162 350 45Q350 -40 310 -132T198 -312Q187 -323 170 -323Q153 -323 141 -311T129 -282Q129 -274 133 -264Q159 -199 173
+-138T187 -16Q187 42 174 97T136 204Q129 220 129 237Z" />
+<glyph unicode="&#x201c;" glyph-name="quotedblleft" horiz-adv-x="760" d="M301 1041Q301 1006 277 982T218 958Q167 958 142 1007Q80 1116 80 1233Q80 1318 120 1410T232 1590Q243 1601 260 1601Q277 1601 289 1589T301 1560Q301 1552 297 1542Q271 1477 257
+1416T243 1294Q243 1236 256 1181T294 1074Q301 1058 301 1041ZM659 1041Q659 1006 635 982T576 958Q525 958 500 1007Q438 1116 438 1233Q438 1318 478 1410T590 1590Q601 1601 618 1601Q635 1601 647 1589T659 1560Q659 1552 655 1542Q629 1477 615 1416T601
+1294Q601 1236 614 1181T652 1074Q659 1058 659 1041Z" />
+<glyph unicode="&#x201d;" glyph-name="quotedblright" horiz-adv-x="760" d="M438 1518Q438 1553 462 1577T521 1601Q572 1601 597 1552Q659 1443 659 1326Q659 1241 619 1149T507 969Q496 958 479 958Q462 958 450 970T438 999Q438 1007 442 1017Q468 1082 482
+1143T496 1265Q496 1323 483 1378T445 1485Q438 1501 438 1518ZM80 1518Q80 1553 104 1577T163 1601Q214 1601 239 1552Q301 1443 301 1326Q301 1241 261 1149T149 969Q138 958 121 958Q104 958 92 970T80 999Q80 1007 84 1017Q110 1082 124 1143T138 1265Q138
+1323 125 1378T87 1485Q80 1501 80 1518Z" />
+<glyph unicode="&#x201e;" glyph-name="quotedblbase" horiz-adv-x="760" d="M438 237Q438 272 462 296T521 320Q572 320 597 271Q659 162 659 45Q659 -40 619 -132T507 -312Q496 -323 479 -323Q462 -323 450 -311T438 -282Q438 -274 442 -264Q468 -199 482 -138T496
+-16Q496 42 483 97T445 204Q438 220 438 237ZM80 237Q80 272 104 296T163 320Q214 320 239 271Q301 162 301 45Q301 -40 261 -132T149 -312Q138 -323 121 -323Q104 -323 92 -311T80 -282Q80 -274 84 -264Q110 -199 124 -138T138 -16Q138 42 125 97T87 204Q80 220
+80 237Z" />
+<glyph unicode="&#x2022;" glyph-name="bullet" horiz-adv-x="800" d="M624 809Q624 715 556 647Q490 581 395 581Q300 581 234 647Q167 714 167 809Q167 903 234 970Q301 1037 395 1037Q489 1037 556 970Q624 902 624 809Z" />
+<glyph unicode="&#x2039;" glyph-name="guilsinglleft" horiz-adv-x="560" d="M336 1080Q343 1094 350 1101Q368 1119 394 1119Q420 1119 438 1101T456 1057Q456 1042 451 1031L215 560L451 88Q456 77 456 62Q456 36 438 18T394 0Q369 0 354 14Q345 23 336 38L93
+524Q83 543 83 559Q83 575 91 590L336 1080Z" />
+<glyph unicode="&#x203a;" glyph-name="guilsinglright" horiz-adv-x="560" d="M448 590Q456 575 456 559Q456 543 446 524L203 38Q194 23 185 14Q170 0 145 0Q119 0 101 18T83 62Q83 77 88 88L324 560L88 1031Q83 1042 83 1057Q83 1083 101 1101T145 1119Q171
+1119 189 1101Q196 1094 203 1080L448 590Z" />
+<hkern g1="A" g2="C" k="98" />
+<hkern g1="A" g2="G" k="98" />
+<hkern g1="A" g2="O" k="69" />
+<hkern g1="A" g2="Q" k="69" />
+<hkern g1="A" g2="T" k="179" />
+<hkern g1="A" g2="V" k="189" />
+<hkern g1="A" g2="W" k="116" />
+<hkern g1="A" g2="Y" k="179" />
+<hkern g1="A" g2="f" k="64" />
+<hkern g1="A" g2="j" k="186" />
+<hkern g1="A" g2="t" k="148" />
+<hkern g1="A" g2="v" k="206" />
+<hkern g1="A" g2="w" k="143" />
+<hkern g1="A" g2="y" k="206" />
+<hkern g1="A" g2="Ccedilla" k="98" />
+<hkern g1="A" g2="Eth" k="52" />
+<hkern g1="A" g2="Ograve" k="69" />
+<hkern g1="A" g2="Oacute" k="69" />
+<hkern g1="A" g2="Ocircumflex" k="69" />
+<hkern g1="A" g2="Otilde" k="69" />
+<hkern g1="A" g2="Odieresis" k="69" />
+<hkern g1="A" g2="Yacute" k="179" />
+<hkern g1="A" g2="yacute" k="206" />
+<hkern g1="A" g2="ydieresis" k="206" />
+<hkern g1="B" g2="T" k="107" />
+<hkern g1="B" g2="V" k="127" />
+<hkern g1="B" g2="W" k="100" />
+<hkern g1="B" g2="Y" k="107" />
+<hkern g1="B" g2="j" k="230" />
+<hkern g1="B" g2="x" k="65" />
+<hkern g1="B" g2="y" k="65" />
+<hkern g1="B" g2="Yacute" k="107" />
+<hkern g1="B" g2="yacute" k="65" />
+<hkern g1="B" g2="ydieresis" k="65" />
+<hkern g1="C" g2="C" k="74" />
+<hkern g1="C" g2="G" k="74" />
+<hkern g1="C" g2="O" k="45" />
+<hkern g1="C" g2="Q" k="45" />
+<hkern g1="C" g2="f" k="91" />
+<hkern g1="C" g2="j" k="256" />
+<hkern g1="C" g2="t" k="40" />
+<hkern g1="C" g2="v" k="84" />
+<hkern g1="C" g2="w" k="89" />
+<hkern g1="C" g2="y" k="116" />
+<hkern g1="C" g2="Ccedilla" k="74" />
+<hkern g1="C" g2="Ograve" k="45" />
+<hkern g1="C" g2="Oacute" k="45" />
+<hkern g1="C" g2="Ocircumflex" k="45" />
+<hkern g1="C" g2="Otilde" k="45" />
+<hkern g1="C" g2="Odieresis" k="45" />
+<hkern g1="C" g2="yacute" k="79" />
+<hkern g1="C" g2="ydieresis" k="62" />
+<hkern g1="D" g2="A" k="113" />
+<hkern g1="D" g2="T" k="143" />
+<hkern g1="D" g2="V" k="113" />
+<hkern g1="D" g2="X" k="158" />
+<hkern g1="D" g2="Y" k="126" />
+<hkern g1="D" g2="Z" k="158" />
+<hkern g1="D" g2="j" k="276" />
+<hkern g1="D" g2="Agrave" k="113" />
+<hkern g1="D" g2="Aacute" k="113" />
+<hkern g1="D" g2="Acircumflex" k="113" />
+<hkern g1="D" g2="Atilde" k="113" />
+<hkern g1="D" g2="Adieresis" k="113" />
+<hkern g1="D" g2="Aring" k="113" />
+<hkern g1="D" g2="AE" k="95" />
+<hkern g1="D" g2="Yacute" k="126" />
+<hkern g1="E" g2="C" k="109" />
+<hkern g1="E" g2="G" k="109" />
+<hkern g1="E" g2="O" k="109" />
+<hkern g1="E" g2="Q" k="109" />
+<hkern g1="E" g2="c" k="65" />
+<hkern g1="E" g2="f" k="62" />
+<hkern g1="E" g2="j" k="184" />
+<hkern g1="E" g2="t" k="62" />
+<hkern g1="E" g2="v" k="90" />
+<hkern g1="E" g2="w" k="141" />
+<hkern g1="E" g2="y" k="122" />
+<hkern g1="E" g2="Ccedilla" k="109" />
+<hkern g1="E" g2="Eth" k="50" />
+<hkern g1="E" g2="Ograve" k="109" />
+<hkern g1="E" g2="Oacute" k="109" />
+<hkern g1="E" g2="Ocircumflex" k="109" />
+<hkern g1="E" g2="Otilde" k="109" />
+<hkern g1="E" g2="Odieresis" k="109" />
+<hkern g1="E" g2="ae" k="48" />
+<hkern g1="E" g2="ccedilla" k="65" />
+<hkern g1="E" g2="eth" k="57" />
+<hkern g1="E" g2="yacute" k="109" />
+<hkern g1="E" g2="ydieresis" k="65" />
+<hkern g1="F" g2="A" k="183" />
+<hkern g1="F" g2="C" k="109" />
+<hkern g1="F" g2="G" k="109" />
+<hkern g1="F" g2="J" k="148" />
+<hkern g1="F" g2="O" k="109" />
+<hkern g1="F" g2="Q" k="109" />
+<hkern g1="F" g2="S" k="99" />
+<hkern g1="F" g2="a" k="141" />
+<hkern g1="F" g2="c" k="141" />
+<hkern g1="F" g2="d" k="141" />
+<hkern g1="F" g2="e" k="141" />
+<hkern g1="F" g2="f" k="109" />
+<hkern g1="F" g2="g" k="141" />
+<hkern g1="F" g2="j" k="222" />
+<hkern g1="F" g2="m" k="109" />
+<hkern g1="F" g2="n" k="109" />
+<hkern g1="F" g2="o" k="141" />
+<hkern g1="F" g2="p" k="141" />
+<hkern g1="F" g2="q" k="141" />
+<hkern g1="F" g2="r" k="109" />
+<hkern g1="F" g2="s" k="109" />
+<hkern g1="F" g2="t" k="62" />
+<hkern g1="F" g2="u" k="109" />
+<hkern g1="F" g2="v" k="172" />
+<hkern g1="F" g2="w" k="172" />
+<hkern g1="F" g2="x" k="204" />
+<hkern g1="F" g2="y" k="172" />
+<hkern g1="F" g2="z" k="60" />
+<hkern g1="F" g2="Agrave" k="183" />
+<hkern g1="F" g2="Aacute" k="175" />
+<hkern g1="F" g2="Acircumflex" k="183" />
+<hkern g1="F" g2="Atilde" k="167" />
+<hkern g1="F" g2="Adieresis" k="183" />
+<hkern g1="F" g2="Aring" k="198" />
+<hkern g1="F" g2="AE" k="285" />
+<hkern g1="F" g2="Ccedilla" k="109" />
+<hkern g1="F" g2="Eth" k="50" />
+<hkern g1="F" g2="Ograve" k="109" />
+<hkern g1="F" g2="Oacute" k="109" />
+<hkern g1="F" g2="Ocircumflex" k="109" />
+<hkern g1="F" g2="Otilde" k="109" />
+<hkern g1="F" g2="Odieresis" k="109" />
+<hkern g1="F" g2="Oslash" k="109" />
+<hkern g1="F" g2="agrave" k="141" />
+<hkern g1="F" g2="aacute" k="141" />
+<hkern g1="F" g2="acircumflex" k="141" />
+<hkern g1="F" g2="adieresis" k="141" />
+<hkern g1="F" g2="aring" k="141" />
+<hkern g1="F" g2="ae" k="141" />
+<hkern g1="F" g2="ccedilla" k="141" />
+<hkern g1="F" g2="egrave" k="141" />
+<hkern g1="F" g2="eacute" k="141" />
+<hkern g1="F" g2="ecircumflex" k="141" />
+<hkern g1="F" g2="edieresis" k="141" />
+<hkern g1="F" g2="eth" k="141" />
+<hkern g1="F" g2="ograve" k="141" />
+<hkern g1="F" g2="oacute" k="141" />
+<hkern g1="F" g2="ocircumflex" k="141" />
+<hkern g1="F" g2="odieresis" k="141" />
+<hkern g1="F" g2="oslash" k="141" />
+<hkern g1="F" g2="ugrave" k="109" />
+<hkern g1="F" g2="uacute" k="109" />
+<hkern g1="F" g2="ucircumflex" k="109" />
+<hkern g1="F" g2="udieresis" k="109" />
+<hkern g1="F" g2="yacute" k="172" />
+<hkern g1="F" g2="ydieresis" k="65" />
+<hkern g1="F" g2="dotlessi" k="189" />
+<hkern g1="G" g2="f" k="60" />
+<hkern g1="G" g2="j" k="198" />
+<hkern g1="G" g2="t" k="60" />
+<hkern g1="H" g2="j" k="159" />
+<hkern g1="I" g2="I" k="26" />
+<hkern g1="I" g2="j" k="192" />
+<hkern g1="I" g2="Igrave" k="60" />
+<hkern g1="I" g2="Iacute" k="66" />
+<hkern g1="I" g2="Icircumflex" k="73" />
+<hkern g1="I" g2="Idieresis" k="52" />
+<hkern g1="I" g2="dotlessi" k="51" />
+<hkern g1="J" g2="j" k="145" />
+<hkern g1="K" g2="C" k="124" />
+<hkern g1="K" g2="G" k="124" />
+<hkern g1="K" g2="O" k="124" />
+<hkern g1="K" g2="Q" k="124" />
+<hkern g1="K" g2="a" k="89" />
+<hkern g1="K" g2="c" k="81" />
+<hkern g1="K" g2="d" k="89" />
+<hkern g1="K" g2="e" k="83" />
+<hkern g1="K" g2="f" k="65" />
+<hkern g1="K" g2="j" k="180" />
+<hkern g1="K" g2="o" k="83" />
+<hkern g1="K" g2="q" k="83" />
+<hkern g1="K" g2="t" k="71" />
+<hkern g1="K" g2="v" k="117" />
+<hkern g1="K" g2="w" k="155" />
+<hkern g1="K" g2="y" k="71" />
+<hkern g1="K" g2="Ccedilla" k="105" />
+<hkern g1="K" g2="Ograve" k="124" />
+<hkern g1="K" g2="Oacute" k="124" />
+<hkern g1="K" g2="Ocircumflex" k="124" />
+<hkern g1="K" g2="Otilde" k="124" />
+<hkern g1="K" g2="Odieresis" k="124" />
+<hkern g1="K" g2="agrave" k="101" />
+<hkern g1="K" g2="aacute" k="83" />
+<hkern g1="K" g2="acircumflex" k="76" />
+<hkern g1="K" g2="atilde" k="70" />
+<hkern g1="K" g2="adieresis" k="83" />
+<hkern g1="K" g2="aring" k="76" />
+<hkern g1="K" g2="ae" k="95" />
+<hkern g1="K" g2="ccedilla" k="87" />
+<hkern g1="K" g2="egrave" k="76" />
+<hkern g1="K" g2="eacute" k="76" />
+<hkern g1="K" g2="ecircumflex" k="95" />
+<hkern g1="K" g2="edieresis" k="95" />
+<hkern g1="K" g2="eth" k="85" />
+<hkern g1="K" g2="ograve" k="76" />
+<hkern g1="K" g2="oacute" k="89" />
+<hkern g1="K" g2="ocircumflex" k="83" />
+<hkern g1="K" g2="otilde" k="76" />
+<hkern g1="K" g2="odieresis" k="95" />
+<hkern g1="K" g2="yacute" k="143" />
+<hkern g1="K" g2="ydieresis" k="158" />
+<hkern g1="L" g2="C" k="166" />
+<hkern g1="L" g2="G" k="151" />
+<hkern g1="L" g2="O" k="166" />
+<hkern g1="L" g2="Q" k="143" />
+<hkern g1="L" g2="T" k="316" />
+<hkern g1="L" g2="U" k="79" />
+<hkern g1="L" g2="V" k="277" />
+<hkern g1="L" g2="W" k="229" />
+<hkern g1="L" g2="Y" k="309" />
+<hkern g1="L" g2="a" k="51" />
+<hkern g1="L" g2="b" k="51" />
+<hkern g1="L" g2="c" k="81" />
+<hkern g1="L" g2="d" k="51" />
+<hkern g1="L" g2="e" k="51" />
+<hkern g1="L" g2="f" k="46" />
+<hkern g1="L" g2="j" k="221" />
+<hkern g1="L" g2="o" k="51" />
+<hkern g1="L" g2="q" k="51" />
+<hkern g1="L" g2="t" k="92" />
+<hkern g1="L" g2="v" k="238" />
+<hkern g1="L" g2="w" k="155" />
+<hkern g1="L" g2="y" k="145" />
+<hkern g1="L" g2="Ccedilla" k="141" />
+<hkern g1="L" g2="Ograve" k="166" />
+<hkern g1="L" g2="Oacute" k="158" />
+<hkern g1="L" g2="Ocircumflex" k="182" />
+<hkern g1="L" g2="Otilde" k="151" />
+<hkern g1="L" g2="Odieresis" k="189" />
+<hkern g1="L" g2="Ugrave" k="79" />
+<hkern g1="L" g2="Uacute" k="79" />
+<hkern g1="L" g2="Ucircumflex" k="79" />
+<hkern g1="L" g2="Udieresis" k="79" />
+<hkern g1="L" g2="Yacute" k="277" />
+<hkern g1="L" g2="agrave" k="51" />
+<hkern g1="L" g2="aacute" k="51" />
+<hkern g1="L" g2="acircumflex" k="51" />
+<hkern g1="L" g2="atilde" k="51" />
+<hkern g1="L" g2="adieresis" k="51" />
+<hkern g1="L" g2="aring" k="51" />
+<hkern g1="L" g2="ae" k="63" />
+<hkern g1="L" g2="ccedilla" k="81" />
+<hkern g1="L" g2="egrave" k="51" />
+<hkern g1="L" g2="eacute" k="51" />
+<hkern g1="L" g2="ecircumflex" k="51" />
+<hkern g1="L" g2="edieresis" k="51" />
+<hkern g1="L" g2="eth" k="41" />
+<hkern g1="L" g2="ograve" k="51" />
+<hkern g1="L" g2="oacute" k="51" />
+<hkern g1="L" g2="ocircumflex" k="51" />
+<hkern g1="L" g2="otilde" k="51" />
+<hkern g1="L" g2="odieresis" k="51" />
+<hkern g1="L" g2="yacute" k="131" />
+<hkern g1="L" g2="ydieresis" k="154" />
+<hkern g1="M" g2="j" k="189" />
+<hkern g1="N" g2="j" k="177" />
+<hkern g1="O" g2="A" k="131" />
+<hkern g1="O" g2="S" k="65" />
+<hkern g1="O" g2="T" k="106" />
+<hkern g1="O" g2="V" k="131" />
+<hkern g1="O" g2="W" k="73" />
+<hkern g1="O" g2="X" k="148" />
+<hkern g1="O" g2="Y" k="148" />
+<hkern g1="O" g2="Z" k="148" />
+<hkern g1="O" g2="j" k="255" />
+<hkern g1="O" g2="Agrave" k="131" />
+<hkern g1="O" g2="Aacute" k="131" />
+<hkern g1="O" g2="Acircumflex" k="131" />
+<hkern g1="O" g2="Atilde" k="131" />
+<hkern g1="O" g2="Adieresis" k="131" />
+<hkern g1="O" g2="Aring" k="131" />
+<hkern g1="O" g2="AE" k="85" />
+<hkern g1="O" g2="Yacute" k="148" />
+<hkern g1="P" g2="A" k="226" />
+<hkern g1="P" g2="J" k="176" />
+<hkern g1="P" g2="T" k="55" />
+<hkern g1="P" g2="X" k="54" />
+<hkern g1="P" g2="Y" k="54" />
+<hkern g1="P" g2="Z" k="55" />
+<hkern g1="P" g2="j" k="243" />
+<hkern g1="P" g2="Agrave" k="195" />
+<hkern g1="P" g2="Aacute" k="242" />
+<hkern g1="P" g2="Acircumflex" k="250" />
+<hkern g1="P" g2="Atilde" k="211" />
+<hkern g1="P" g2="Adieresis" k="203" />
+<hkern g1="P" g2="Aring" k="234" />
+<hkern g1="P" g2="AE" k="321" />
+<hkern g1="P" g2="Yacute" k="54" />
+<hkern g1="Q" g2="T" k="139" />
+<hkern g1="Q" g2="V" k="131" />
+<hkern g1="Q" g2="W" k="73" />
+<hkern g1="Q" g2="Y" k="148" />
+<hkern g1="Q" g2="j" k="163" />
+<hkern g1="Q" g2="Yacute" k="148" />
+<hkern g1="R" g2="J" k="95" />
+<hkern g1="R" g2="T" k="111" />
+<hkern g1="R" g2="V" k="80" />
+<hkern g1="R" g2="Y" k="110" />
+<hkern g1="R" g2="a" k="101" />
+<hkern g1="R" g2="c" k="106" />
+<hkern g1="R" g2="d" k="89" />
+<hkern g1="R" g2="e" k="95" />
+<hkern g1="R" g2="j" k="150" />
+<hkern g1="R" g2="o" k="89" />
+<hkern g1="R" g2="q" k="76" />
+<hkern g1="R" g2="Yacute" k="110" />
+<hkern g1="R" g2="agrave" k="83" />
+<hkern g1="R" g2="aacute" k="89" />
+<hkern g1="R" g2="acircumflex" k="76" />
+<hkern g1="R" g2="atilde" k="76" />
+<hkern g1="R" g2="adieresis" k="76" />
+<hkern g1="R" g2="aring" k="76" />
+<hkern g1="R" g2="ae" k="82" />
+<hkern g1="R" g2="ccedilla" k="81" />
+<hkern g1="R" g2="egrave" k="83" />
+<hkern g1="R" g2="eacute" k="95" />
+<hkern g1="R" g2="ecircumflex" k="89" />
+<hkern g1="R" g2="edieresis" k="83" />
+<hkern g1="R" g2="eth" k="73" />
+<hkern g1="R" g2="ograve" k="95" />
+<hkern g1="R" g2="oacute" k="95" />
+<hkern g1="R" g2="ocircumflex" k="83" />
+<hkern g1="R" g2="otilde" k="70" />
+<hkern g1="R" g2="odieresis" k="76" />
+<hkern g1="S" g2="j" k="179" />
+<hkern g1="S" g2="y" k="68" />
+<hkern g1="S" g2="yacute" k="68" />
+<hkern g1="S" g2="ydieresis" k="68" />
+<hkern g1="T" g2="A" k="324" />
+<hkern g1="T" g2="C" k="190" />
+<hkern g1="T" g2="G" k="159" />
+<hkern g1="T" g2="J" k="269" />
+<hkern g1="T" g2="O" k="128" />
+<hkern g1="T" g2="Q" k="167" />
+<hkern g1="T" g2="S" k="46" />
+<hkern g1="T" g2="a" k="277" />
+<hkern g1="T" g2="c" k="308" />
+<hkern g1="T" g2="d" k="238" />
+<hkern g1="T" g2="e" k="285" />
+<hkern g1="T" g2="f" k="190" />
+<hkern g1="T" g2="g" k="243" />
+<hkern g1="T" g2="j" k="270" />
+<hkern g1="T" g2="m" k="204" />
+<hkern g1="T" g2="n" k="182" />
+<hkern g1="T" g2="o" k="238" />
+<hkern g1="T" g2="p" k="244" />
+<hkern g1="T" g2="q" k="258" />
+<hkern g1="T" g2="r" k="95" />
+<hkern g1="T" g2="s" k="137" />
+<hkern g1="T" g2="t" k="47" />
+<hkern g1="T" g2="u" k="114" />
+<hkern g1="T" g2="v" k="152" />
+<hkern g1="T" g2="w" k="114" />
+<hkern g1="T" g2="x" k="137" />
+<hkern g1="T" g2="y" k="146" />
+<hkern g1="T" g2="z" k="90" />
+<hkern g1="T" g2="Agrave" k="168" />
+<hkern g1="T" g2="Aacute" k="152" />
+<hkern g1="T" g2="Acircumflex" k="160" />
+<hkern g1="T" g2="Atilde" k="191" />
+<hkern g1="T" g2="Adieresis" k="176" />
+<hkern g1="T" g2="Aring" k="191" />
+<hkern g1="T" g2="AE" k="277" />
+<hkern g1="T" g2="Ccedilla" k="94" />
+<hkern g1="T" g2="Ograve" k="151" />
+<hkern g1="T" g2="Oacute" k="174" />
+<hkern g1="T" g2="Ocircumflex" k="151" />
+<hkern g1="T" g2="Otilde" k="159" />
+<hkern g1="T" g2="Odieresis" k="174" />
+<hkern g1="T" g2="Oslash" k="174" />
+<hkern g1="T" g2="agrave" k="214" />
+<hkern g1="T" g2="aacute" k="238" />
+<hkern g1="T" g2="acircumflex" k="175" />
+<hkern g1="T" g2="atilde" k="147" />
+<hkern g1="T" g2="adieresis" k="238" />
+<hkern g1="T" g2="aring" k="112" />
+<hkern g1="T" g2="ae" k="277" />
+<hkern g1="T" g2="ccedilla" k="278" />
+<hkern g1="T" g2="egrave" k="214" />
+<hkern g1="T" g2="eacute" k="238" />
+<hkern g1="T" g2="ecircumflex" k="175" />
+<hkern g1="T" g2="edieresis" k="238" />
+<hkern g1="T" g2="idieresis" k="17" />
+<hkern g1="T" g2="eth" k="175" />
+<hkern g1="T" g2="ograve" k="175" />
+<hkern g1="T" g2="oacute" k="160" />
+<hkern g1="T" g2="ocircumflex" k="175" />
+<hkern g1="T" g2="otilde" k="52" />
+<hkern g1="T" g2="odieresis" k="152" />
+<hkern g1="T" g2="oslash" k="152" />
+<hkern g1="T" g2="ugrave" k="82" />
+<hkern g1="T" g2="uacute" k="145" />
+<hkern g1="T" g2="ucircumflex" k="175" />
+<hkern g1="T" g2="udieresis" k="121" />
+<hkern g1="T" g2="yacute" k="171" />
+<hkern g1="T" g2="ydieresis" k="162" />
+<hkern g1="T" g2="dotlessi" k="319" />
+<hkern g1="U" g2="j" k="187" />
+<hkern g1="V" g2="A" k="232" />
+<hkern g1="V" g2="C" k="98" />
+<hkern g1="V" g2="G" k="98" />
+<hkern g1="V" g2="J" k="214" />
+<hkern g1="V" g2="O" k="69" />
+<hkern g1="V" g2="Q" k="69" />
+<hkern g1="V" g2="S" k="63" />
+<hkern g1="V" g2="a" k="175" />
+<hkern g1="V" g2="c" k="175" />
+<hkern g1="V" g2="d" k="175" />
+<hkern g1="V" g2="e" k="175" />
+<hkern g1="V" g2="f" k="95" />
+<hkern g1="V" g2="g" k="175" />
+<hkern g1="V" g2="j" k="270" />
+<hkern g1="V" g2="m" k="75" />
+<hkern g1="V" g2="o" k="175" />
+<hkern g1="V" g2="p" k="175" />
+<hkern g1="V" g2="q" k="175" />
+<hkern g1="V" g2="r" k="65" />
+<hkern g1="V" g2="s" k="80" />
+<hkern g1="V" g2="t" k="64" />
+<hkern g1="V" g2="w" k="73" />
+<hkern g1="V" g2="x" k="67" />
+<hkern g1="V" g2="y" k="67" />
+<hkern g1="V" g2="z" k="67" />
+<hkern g1="V" g2="Agrave" k="232" />
+<hkern g1="V" g2="Aacute" k="232" />
+<hkern g1="V" g2="Acircumflex" k="232" />
+<hkern g1="V" g2="Atilde" k="232" />
+<hkern g1="V" g2="Adieresis" k="232" />
+<hkern g1="V" g2="Aring" k="232" />
+<hkern g1="V" g2="AE" k="239" />
+<hkern g1="V" g2="Ccedilla" k="98" />
+<hkern g1="V" g2="Eth" k="52" />
+<hkern g1="V" g2="Ograve" k="69" />
+<hkern g1="V" g2="Oacute" k="69" />
+<hkern g1="V" g2="Ocircumflex" k="69" />
+<hkern g1="V" g2="Otilde" k="69" />
+<hkern g1="V" g2="Odieresis" k="69" />
+<hkern g1="V" g2="Oslash" k="69" />
+<hkern g1="V" g2="agrave" k="175" />
+<hkern g1="V" g2="aacute" k="175" />
+<hkern g1="V" g2="acircumflex" k="143" />
+<hkern g1="V" g2="adieresis" k="112" />
+<hkern g1="V" g2="aring" k="175" />
+<hkern g1="V" g2="ae" k="175" />
+<hkern g1="V" g2="ccedilla" k="130" />
+<hkern g1="V" g2="egrave" k="175" />
+<hkern g1="V" g2="eacute" k="175" />
+<hkern g1="V" g2="ecircumflex" k="143" />
+<hkern g1="V" g2="edieresis" k="112" />
+<hkern g1="V" g2="eth" k="175" />
+<hkern g1="V" g2="ograve" k="175" />
+<hkern g1="V" g2="oacute" k="175" />
+<hkern g1="V" g2="ocircumflex" k="143" />
+<hkern g1="V" g2="odieresis" k="112" />
+<hkern g1="V" g2="oslash" k="175" />
+<hkern g1="V" g2="yacute" k="67" />
+<hkern g1="V" g2="ydieresis" k="67" />
+<hkern g1="V" g2="dotlessi" k="97" />
+<hkern g1="W" g2="A" k="151" />
+<hkern g1="W" g2="C" k="101" />
+<hkern g1="W" g2="G" k="101" />
+<hkern g1="W" g2="J" k="119" />
+<hkern g1="W" g2="O" k="71" />
+<hkern g1="W" g2="Q" k="71" />
+<hkern g1="W" g2="S" k="65" />
+<hkern g1="W" g2="a" k="134" />
+<hkern g1="W" g2="c" k="164" />
+<hkern g1="W" g2="d" k="134" />
+<hkern g1="W" g2="e" k="134" />
+<hkern g1="W" g2="f" k="66" />
+<hkern g1="W" g2="g" k="134" />
+<hkern g1="W" g2="j" k="222" />
+<hkern g1="W" g2="m" k="46" />
+<hkern g1="W" g2="o" k="134" />
+<hkern g1="W" g2="p" k="134" />
+<hkern g1="W" g2="q" k="134" />
+<hkern g1="W" g2="r" k="67" />
+<hkern g1="W" g2="s" k="131" />
+<hkern g1="W" g2="t" k="66" />
+<hkern g1="W" g2="w" k="44" />
+<hkern g1="W" g2="x" k="69" />
+<hkern g1="W" g2="y" k="69" />
+<hkern g1="W" g2="z" k="69" />
+<hkern g1="W" g2="Agrave" k="159" />
+<hkern g1="W" g2="Aacute" k="159" />
+<hkern g1="W" g2="Acircumflex" k="183" />
+<hkern g1="W" g2="Atilde" k="159" />
+<hkern g1="W" g2="Adieresis" k="136" />
+<hkern g1="W" g2="Aring" k="190" />
+<hkern g1="W" g2="AE" k="167" />
+<hkern g1="W" g2="Ccedilla" k="101" />
+<hkern g1="W" g2="Ograve" k="71" />
+<hkern g1="W" g2="Oacute" k="71" />
+<hkern g1="W" g2="Ocircumflex" k="71" />
+<hkern g1="W" g2="Otilde" k="71" />
+<hkern g1="W" g2="Odieresis" k="71" />
+<hkern g1="W" g2="Oslash" k="71" />
+<hkern g1="W" g2="agrave" k="134" />
+<hkern g1="W" g2="aacute" k="134" />
+<hkern g1="W" g2="acircumflex" k="134" />
+<hkern g1="W" g2="atilde" k="71" />
+<hkern g1="W" g2="adieresis" k="134" />
+<hkern g1="W" g2="aring" k="134" />
+<hkern g1="W" g2="ae" k="178" />
+<hkern g1="W" g2="ccedilla" k="164" />
+<hkern g1="W" g2="egrave" k="134" />
+<hkern g1="W" g2="eacute" k="134" />
+<hkern g1="W" g2="ecircumflex" k="134" />
+<hkern g1="W" g2="edieresis" k="134" />
+<hkern g1="W" g2="eth" k="156" />
+<hkern g1="W" g2="ograve" k="134" />
+<hkern g1="W" g2="oacute" k="134" />
+<hkern g1="W" g2="ocircumflex" k="134" />
+<hkern g1="W" g2="otilde" k="71" />
+<hkern g1="W" g2="odieresis" k="134" />
+<hkern g1="W" g2="oslash" k="134" />
+<hkern g1="W" g2="yacute" k="69" />
+<hkern g1="W" g2="ydieresis" k="69" />
+<hkern g1="W" g2="dotlessi" k="106" />
+<hkern g1="X" g2="C" k="143" />
+<hkern g1="X" g2="G" k="140" />
+<hkern g1="X" g2="O" k="143" />
+<hkern g1="X" g2="Q" k="143" />
+<hkern g1="X" g2="c" k="68" />
+<hkern g1="X" g2="f" k="65" />
+<hkern g1="X" g2="j" k="133" />
+<hkern g1="X" g2="t" k="65" />
+<hkern g1="X" g2="v" k="143" />
+<hkern g1="X" g2="w" k="143" />
+<hkern g1="X" g2="y" k="103" />
+<hkern g1="X" g2="Ccedilla" k="114" />
+<hkern g1="X" g2="Eth" k="53" />
+<hkern g1="X" g2="Ograve" k="109" />
+<hkern g1="X" g2="Oacute" k="143" />
+<hkern g1="X" g2="Ocircumflex" k="109" />
+<hkern g1="X" g2="Otilde" k="109" />
+<hkern g1="X" g2="Odieresis" k="143" />
+<hkern g1="X" g2="ae" k="82" />
+<hkern g1="X" g2="ccedilla" k="68" />
+<hkern g1="X" g2="eth" k="60" />
+<hkern g1="X" g2="yacute" k="128" />
+<hkern g1="X" g2="ydieresis" k="111" />
+<hkern g1="Y" g2="A" k="240" />
+<hkern g1="Y" g2="C" k="109" />
+<hkern g1="Y" g2="G" k="109" />
+<hkern g1="Y" g2="J" k="193" />
+<hkern g1="Y" g2="O" k="109" />
+<hkern g1="Y" g2="Q" k="109" />
+<hkern g1="Y" g2="S" k="61" />
+<hkern g1="Y" g2="a" k="170" />
+<hkern g1="Y" g2="c" k="162" />
+<hkern g1="Y" g2="d" k="162" />
+<hkern g1="Y" g2="e" k="162" />
+<hkern g1="Y" g2="f" k="109" />
+<hkern g1="Y" g2="g" k="167" />
+<hkern g1="Y" g2="j" k="201" />
+<hkern g1="Y" g2="m" k="109" />
+<hkern g1="Y" g2="n" k="109" />
+<hkern g1="Y" g2="o" k="193" />
+<hkern g1="Y" g2="p" k="168" />
+<hkern g1="Y" g2="q" k="182" />
+<hkern g1="Y" g2="r" k="109" />
+<hkern g1="Y" g2="s" k="131" />
+<hkern g1="Y" g2="t" k="62" />
+<hkern g1="Y" g2="u" k="109" />
+<hkern g1="Y" g2="v" k="109" />
+<hkern g1="Y" g2="w" k="109" />
+<hkern g1="Y" g2="x" k="109" />
+<hkern g1="Y" g2="y" k="109" />
+<hkern g1="Y" g2="z" k="109" />
+<hkern g1="Y" g2="Agrave" k="193" />
+<hkern g1="Y" g2="Aacute" k="162" />
+<hkern g1="Y" g2="Acircumflex" k="162" />
+<hkern g1="Y" g2="Atilde" k="162" />
+<hkern g1="Y" g2="Adieresis" k="162" />
+<hkern g1="Y" g2="Aring" k="162" />
+<hkern g1="Y" g2="AE" k="162" />
+<hkern g1="Y" g2="Ccedilla" k="109" />
+<hkern g1="Y" g2="Eth" k="50" />
+<hkern g1="Y" g2="Ograve" k="109" />
+<hkern g1="Y" g2="Oacute" k="109" />
+<hkern g1="Y" g2="Ocircumflex" k="109" />
+<hkern g1="Y" g2="Otilde" k="109" />
+<hkern g1="Y" g2="Odieresis" k="109" />
+<hkern g1="Y" g2="Oslash" k="109" />
+<hkern g1="Y" g2="agrave" k="162" />
+<hkern g1="Y" g2="aacute" k="162" />
+<hkern g1="Y" g2="acircumflex" k="131" />
+<hkern g1="Y" g2="atilde" k="67" />
+<hkern g1="Y" g2="adieresis" k="131" />
+<hkern g1="Y" g2="aring" k="99" />
+<hkern g1="Y" g2="ae" k="162" />
+<hkern g1="Y" g2="ccedilla" k="171" />
+<hkern g1="Y" g2="egrave" k="162" />
+<hkern g1="Y" g2="eacute" k="162" />
+<hkern g1="Y" g2="ecircumflex" k="131" />
+<hkern g1="Y" g2="edieresis" k="131" />
+<hkern g1="Y" g2="eth" k="162" />
+<hkern g1="Y" g2="ograve" k="162" />
+<hkern g1="Y" g2="oacute" k="162" />
+<hkern g1="Y" g2="ocircumflex" k="131" />
+<hkern g1="Y" g2="otilde" k="67" />
+<hkern g1="Y" g2="odieresis" k="131" />
+<hkern g1="Y" g2="oslash" k="162" />
+<hkern g1="Y" g2="ugrave" k="109" />
+<hkern g1="Y" g2="uacute" k="109" />
+<hkern g1="Y" g2="ucircumflex" k="109" />
+<hkern g1="Y" g2="udieresis" k="98" />
+<hkern g1="Y" g2="yacute" k="109" />
+<hkern g1="Y" g2="ydieresis" k="97" />
+<hkern g1="Y" g2="dotlessi" k="221" />
+<hkern g1="Z" g2="C" k="143" />
+<hkern g1="Z" g2="G" k="143" />
+<hkern g1="Z" g2="O" k="143" />
+<hkern g1="Z" g2="Q" k="143" />
+<hkern g1="Z" g2="a" k="69" />
+<hkern g1="Z" g2="c" k="98" />
+<hkern g1="Z" g2="d" k="69" />
+<hkern g1="Z" g2="e" k="69" />
+<hkern g1="Z" g2="f" k="64" />
+<hkern g1="Z" g2="j" k="115" />
+<hkern g1="Z" g2="o" k="69" />
+<hkern g1="Z" g2="q" k="69" />
+<hkern g1="Z" g2="t" k="64" />
+<hkern g1="Z" g2="v" k="143" />
+<hkern g1="Z" g2="w" k="143" />
+<hkern g1="Z" g2="y" k="143" />
+<hkern g1="Z" g2="Ccedilla" k="143" />
+<hkern g1="Z" g2="Eth" k="52" />
+<hkern g1="Z" g2="Ograve" k="143" />
+<hkern g1="Z" g2="Oacute" k="143" />
+<hkern g1="Z" g2="Ocircumflex" k="143" />
+<hkern g1="Z" g2="Otilde" k="143" />
+<hkern g1="Z" g2="Odieresis" k="143" />
+<hkern g1="Z" g2="agrave" k="69" />
+<hkern g1="Z" g2="aacute" k="69" />
+<hkern g1="Z" g2="acircumflex" k="69" />
+<hkern g1="Z" g2="adieresis" k="69" />
+<hkern g1="Z" g2="aring" k="69" />
+<hkern g1="Z" g2="ae" k="81" />
+<hkern g1="Z" g2="ccedilla" k="98" />
+<hkern g1="Z" g2="egrave" k="69" />
+<hkern g1="Z" g2="eacute" k="69" />
+<hkern g1="Z" g2="ecircumflex" k="69" />
+<hkern g1="Z" g2="edieresis" k="69" />
+<hkern g1="Z" g2="eth" k="59" />
+<hkern g1="Z" g2="ograve" k="69" />
+<hkern g1="Z" g2="oacute" k="69" />
+<hkern g1="Z" g2="ocircumflex" k="69" />
+<hkern g1="Z" g2="odieresis" k="69" />
+<hkern g1="Z" g2="yacute" k="143" />
+<hkern g1="Z" g2="ydieresis" k="67" />
+<hkern g1="underscore" g2="underscore" k="39" />
+<hkern g1="a" g2="T" k="353" />
+<hkern g1="a" g2="V" k="172" />
+<hkern g1="a" g2="W" k="160" />
+<hkern g1="a" g2="Y" k="306" />
+<hkern g1="a" g2="f" k="58" />
+<hkern g1="a" g2="j" k="259" />
+<hkern g1="a" g2="t" k="90" />
+<hkern g1="a" g2="v" k="62" />
+<hkern g1="a" g2="y" k="61" />
+<hkern g1="a" g2="Yacute" k="298" />
+<hkern g1="a" g2="icircumflex" k="58" />
+<hkern g1="a" g2="idieresis" k="65" />
+<hkern g1="a" g2="yacute" k="61" />
+<hkern g1="a" g2="ydieresis" k="61" />
+<hkern g1="b" g2="A" k="60" />
+<hkern g1="b" g2="T" k="279" />
+<hkern g1="b" g2="V" k="129" />
+<hkern g1="b" g2="W" k="160" />
+<hkern g1="b" g2="X" k="122" />
+<hkern g1="b" g2="Y" k="294" />
+<hkern g1="b" g2="Z" k="123" />
+<hkern g1="b" g2="f" k="58" />
+<hkern g1="b" g2="j" k="199" />
+<hkern g1="b" g2="t" k="90" />
+<hkern g1="b" g2="v" k="62" />
+<hkern g1="b" g2="x" k="93" />
+<hkern g1="b" g2="y" k="61" />
+<hkern g1="b" g2="z" k="93" />
+<hkern g1="b" g2="Agrave" k="60" />
+<hkern g1="b" g2="Aacute" k="60" />
+<hkern g1="b" g2="Acircumflex" k="60" />
+<hkern g1="b" g2="Atilde" k="60" />
+<hkern g1="b" g2="Adieresis" k="60" />
+<hkern g1="b" g2="Aring" k="60" />
+<hkern g1="b" g2="AE" k="63" />
+<hkern g1="b" g2="Yacute" k="256" />
+<hkern g1="b" g2="icircumflex" k="58" />
+<hkern g1="b" g2="idieresis" k="65" />
+<hkern g1="b" g2="yacute" k="61" />
+<hkern g1="b" g2="ydieresis" k="61" />
+<hkern g1="c" g2="T" k="281" />
+<hkern g1="c" g2="V" k="123" />
+<hkern g1="c" g2="Y" k="148" />
+<hkern g1="c" g2="j" k="172" />
+<hkern g1="c" g2="Yacute" k="148" />
+<hkern g1="d" g2="A" k="60" />
+<hkern g1="d" g2="j" k="154" />
+<hkern g1="d" g2="Agrave" k="60" />
+<hkern g1="d" g2="Aacute" k="60" />
+<hkern g1="d" g2="Acircumflex" k="60" />
+<hkern g1="d" g2="Atilde" k="60" />
+<hkern g1="d" g2="Adieresis" k="60" />
+<hkern g1="d" g2="Aring" k="60" />
+<hkern g1="d" g2="AE" k="63" />
+<hkern g1="e" g2="A" k="92" />
+<hkern g1="e" g2="T" k="316" />
+<hkern g1="e" g2="V" k="172" />
+<hkern g1="e" g2="W" k="160" />
+<hkern g1="e" g2="X" k="122" />
+<hkern g1="e" g2="Y" k="246" />
+<hkern g1="e" g2="Z" k="123" />
+<hkern g1="e" g2="f" k="58" />
+<hkern g1="e" g2="j" k="229" />
+<hkern g1="e" g2="t" k="90" />
+<hkern g1="e" g2="v" k="62" />
+<hkern g1="e" g2="x" k="93" />
+<hkern g1="e" g2="y" k="61" />
+<hkern g1="e" g2="z" k="93" />
+<hkern g1="e" g2="Agrave" k="92" />
+<hkern g1="e" g2="Aacute" k="92" />
+<hkern g1="e" g2="Acircumflex" k="92" />
+<hkern g1="e" g2="Atilde" k="92" />
+<hkern g1="e" g2="Adieresis" k="92" />
+<hkern g1="e" g2="Aring" k="92" />
+<hkern g1="e" g2="AE" k="95" />
+<hkern g1="e" g2="Yacute" k="215" />
+<hkern g1="e" g2="icircumflex" k="58" />
+<hkern g1="e" g2="idieresis" k="65" />
+<hkern g1="e" g2="yacute" k="61" />
+<hkern g1="e" g2="ydieresis" k="61" />
+<hkern g1="f" g2="A" k="124" />
+<hkern g1="f" g2="J" k="178" />
+<hkern g1="f" g2="j" k="242" />
+<hkern g1="f" g2="Agrave" k="124" />
+<hkern g1="f" g2="Aacute" k="77" />
+<hkern g1="f" g2="Acircumflex" k="77" />
+<hkern g1="f" g2="Atilde" k="77" />
+<hkern g1="f" g2="Adieresis" k="77" />
+<hkern g1="f" g2="Aring" k="77" />
+<hkern g1="f" g2="AE" k="139" />
+<hkern g1="g" g2="T" k="285" />
+<hkern g1="g" g2="V" k="172" />
+<hkern g1="g" g2="W" k="160" />
+<hkern g1="g" g2="Y" k="254" />
+<hkern g1="g" g2="f" k="58" />
+<hkern g1="g" g2="t" k="90" />
+<hkern g1="g" g2="v" k="62" />
+<hkern g1="g" g2="y" k="61" />
+<hkern g1="g" g2="Yacute" k="254" />
+<hkern g1="g" g2="icircumflex" k="58" />
+<hkern g1="g" g2="idieresis" k="65" />
+<hkern g1="g" g2="yacute" k="61" />
+<hkern g1="g" g2="ydieresis" k="61" />
+<hkern g1="h" g2="T" k="308" />
+<hkern g1="h" g2="V" k="155" />
+<hkern g1="h" g2="W" k="144" />
+<hkern g1="h" g2="Y" k="261" />
+<hkern g1="h" g2="f" k="42" />
+<hkern g1="h" g2="j" k="198" />
+<hkern g1="h" g2="t" k="74" />
+<hkern g1="h" g2="v" k="46" />
+<hkern g1="h" g2="y" k="45" />
+<hkern g1="h" g2="Yacute" k="261" />
+<hkern g1="h" g2="icircumflex" k="42" />
+<hkern g1="h" g2="idieresis" k="49" />
+<hkern g1="h" g2="yacute" k="45" />
+<hkern g1="h" g2="ydieresis" k="45" />
+<hkern g1="i" g2="j" k="171" />
+<hkern g1="k" g2="T" k="251" />
+<hkern g1="k" g2="V" k="91" />
+<hkern g1="k" g2="Y" k="138" />
+<hkern g1="k" g2="a" k="63" />
+<hkern g1="k" g2="c" k="92" />
+<hkern g1="k" g2="d" k="63" />
+<hkern g1="k" g2="e" k="63" />
+<hkern g1="k" g2="j" k="156" />
+<hkern g1="k" g2="o" k="63" />
+<hkern g1="k" g2="q" k="63" />
+<hkern g1="k" g2="Yacute" k="138" />
+<hkern g1="k" g2="agrave" k="63" />
+<hkern g1="k" g2="aacute" k="63" />
+<hkern g1="k" g2="acircumflex" k="63" />
+<hkern g1="k" g2="atilde" k="63" />
+<hkern g1="k" g2="adieresis" k="63" />
+<hkern g1="k" g2="aring" k="63" />
+<hkern g1="k" g2="ae" k="75" />
+<hkern g1="k" g2="ccedilla" k="92" />
+<hkern g1="k" g2="egrave" k="63" />
+<hkern g1="k" g2="eacute" k="63" />
+<hkern g1="k" g2="ecircumflex" k="63" />
+<hkern g1="k" g2="edieresis" k="63" />
+<hkern g1="k" g2="eth" k="53" />
+<hkern g1="k" g2="ograve" k="63" />
+<hkern g1="k" g2="oacute" k="63" />
+<hkern g1="k" g2="ocircumflex" k="63" />
+<hkern g1="k" g2="otilde" k="63" />
+<hkern g1="k" g2="odieresis" k="63" />
+<hkern g1="l" g2="j" k="153" />
+<hkern g1="l" g2="ae" k="41" />
+<hkern g1="m" g2="T" k="260" />
+<hkern g1="m" g2="V" k="117" />
+<hkern g1="m" g2="W" k="130" />
+<hkern g1="m" g2="Y" k="221" />
+<hkern g1="m" g2="j" k="166" />
+<hkern g1="m" g2="t" k="60" />
+<hkern g1="m" g2="y" k="63" />
+<hkern g1="m" g2="Yacute" k="229" />
+<hkern g1="m" g2="icircumflex" k="60" />
+<hkern g1="m" g2="idieresis" k="67" />
+<hkern g1="m" g2="yacute" k="63" />
+<hkern g1="m" g2="ydieresis" k="63" />
+<hkern g1="n" g2="T" k="221" />
+<hkern g1="n" g2="V" k="155" />
+<hkern g1="n" g2="W" k="144" />
+<hkern g1="n" g2="Y" k="190" />
+<hkern g1="n" g2="f" k="42" />
+<hkern g1="n" g2="j" k="126" />
+<hkern g1="n" g2="t" k="74" />
+<hkern g1="n" g2="v" k="46" />
+<hkern g1="n" g2="y" k="45" />
+<hkern g1="n" g2="Yacute" k="221" />
+<hkern g1="n" g2="icircumflex" k="42" />
+<hkern g1="n" g2="idieresis" k="49" />
+<hkern g1="n" g2="yacute" k="45" />
+<hkern g1="n" g2="ydieresis" k="45" />
+<hkern g1="o" g2="A" k="60" />
+<hkern g1="o" g2="T" k="256" />
+<hkern g1="o" g2="V" k="172" />
+<hkern g1="o" g2="W" k="160" />
+<hkern g1="o" g2="X" k="122" />
+<hkern g1="o" g2="Y" k="225" />
+<hkern g1="o" g2="Z" k="123" />
+<hkern g1="o" g2="f" k="58" />
+<hkern g1="o" g2="j" k="201" />
+<hkern g1="o" g2="t" k="90" />
+<hkern g1="o" g2="v" k="62" />
+<hkern g1="o" g2="x" k="93" />
+<hkern g1="o" g2="y" k="61" />
+<hkern g1="o" g2="z" k="93" />
+<hkern g1="o" g2="Agrave" k="60" />
+<hkern g1="o" g2="Aacute" k="60" />
+<hkern g1="o" g2="Acircumflex" k="60" />
+<hkern g1="o" g2="Atilde" k="60" />
+<hkern g1="o" g2="Adieresis" k="60" />
+<hkern g1="o" g2="Aring" k="60" />
+<hkern g1="o" g2="AE" k="63" />
+<hkern g1="o" g2="Yacute" k="225" />
+<hkern g1="o" g2="icircumflex" k="58" />
+<hkern g1="o" g2="idieresis" k="65" />
+<hkern g1="o" g2="yacute" k="61" />
+<hkern g1="o" g2="ydieresis" k="61" />
+<hkern g1="p" g2="A" k="60" />
+<hkern g1="p" g2="T" k="297" />
+<hkern g1="p" g2="V" k="172" />
+<hkern g1="p" g2="W" k="160" />
+<hkern g1="p" g2="X" k="122" />
+<hkern g1="p" g2="Y" k="227" />
+<hkern g1="p" g2="Z" k="123" />
+<hkern g1="p" g2="f" k="58" />
+<hkern g1="p" g2="j" k="180" />
+<hkern g1="p" g2="t" k="90" />
+<hkern g1="p" g2="v" k="62" />
+<hkern g1="p" g2="x" k="93" />
+<hkern g1="p" g2="y" k="61" />
+<hkern g1="p" g2="z" k="93" />
+<hkern g1="p" g2="Agrave" k="60" />
+<hkern g1="p" g2="Aacute" k="60" />
+<hkern g1="p" g2="Acircumflex" k="60" />
+<hkern g1="p" g2="Atilde" k="60" />
+<hkern g1="p" g2="Adieresis" k="60" />
+<hkern g1="p" g2="Aring" k="60" />
+<hkern g1="p" g2="AE" k="63" />
+<hkern g1="p" g2="Yacute" k="227" />
+<hkern g1="p" g2="icircumflex" k="58" />
+<hkern g1="p" g2="idieresis" k="65" />
+<hkern g1="p" g2="yacute" k="61" />
+<hkern g1="p" g2="ydieresis" k="61" />
+<hkern g1="q" g2="T" k="263" />
+<hkern g1="q" g2="V" k="120" />
+<hkern g1="q" g2="W" k="160" />
+<hkern g1="q" g2="Y" k="247" />
+<hkern g1="q" g2="f" k="58" />
+<hkern g1="q" g2="t" k="90" />
+<hkern g1="q" g2="v" k="62" />
+<hkern g1="q" g2="y" k="61" />
+<hkern g1="q" g2="Yacute" k="247" />
+<hkern g1="q" g2="icircumflex" k="58" />
+<hkern g1="q" g2="idieresis" k="65" />
+<hkern g1="q" g2="yacute" k="61" />
+<hkern g1="q" g2="ydieresis" k="61" />
+<hkern g1="r" g2="A" k="136" />
+<hkern g1="r" g2="J" k="233" />
+<hkern g1="r" g2="T" k="224" />
+<hkern g1="r" g2="V" k="59" />
+<hkern g1="r" g2="X" k="167" />
+<hkern g1="r" g2="Y" k="136" />
+<hkern g1="r" g2="Z" k="201" />
+<hkern g1="r" g2="j" k="168" />
+<hkern g1="r" g2="Agrave" k="136" />
+<hkern g1="r" g2="Aacute" k="136" />
+<hkern g1="r" g2="Acircumflex" k="136" />
+<hkern g1="r" g2="Atilde" k="136" />
+<hkern g1="r" g2="Adieresis" k="136" />
+<hkern g1="r" g2="Aring" k="136" />
+<hkern g1="r" g2="AE" k="239" />
+<hkern g1="r" g2="Yacute" k="136" />
+<hkern g1="s" g2="T" k="233" />
+<hkern g1="s" g2="V" k="110" />
+<hkern g1="s" g2="W" k="69" />
+<hkern g1="s" g2="Y" k="256" />
+<hkern g1="s" g2="j" k="186" />
+<hkern g1="s" g2="Yacute" k="202" />
+<hkern g1="t" g2="T" k="165" />
+<hkern g1="t" g2="V" k="102" />
+<hkern g1="t" g2="W" k="63" />
+<hkern g1="t" g2="Y" k="165" />
+<hkern g1="t" g2="a" k="61" />
+<hkern g1="t" g2="c" k="90" />
+<hkern g1="t" g2="d" k="61" />
+<hkern g1="t" g2="e" k="61" />
+<hkern g1="t" g2="j" k="143" />
+<hkern g1="t" g2="o" k="61" />
+<hkern g1="t" g2="q" k="61" />
+<hkern g1="t" g2="Yacute" k="165" />
+<hkern g1="t" g2="agrave" k="61" />
+<hkern g1="t" g2="aacute" k="61" />
+<hkern g1="t" g2="acircumflex" k="61" />
+<hkern g1="t" g2="atilde" k="61" />
+<hkern g1="t" g2="adieresis" k="61" />
+<hkern g1="t" g2="aring" k="61" />
+<hkern g1="t" g2="ae" k="73" />
+<hkern g1="t" g2="ccedilla" k="90" />
+<hkern g1="t" g2="egrave" k="61" />
+<hkern g1="t" g2="eacute" k="61" />
+<hkern g1="t" g2="ecircumflex" k="61" />
+<hkern g1="t" g2="edieresis" k="61" />
+<hkern g1="t" g2="eth" k="51" />
+<hkern g1="t" g2="ograve" k="61" />
+<hkern g1="t" g2="oacute" k="61" />
+<hkern g1="t" g2="ocircumflex" k="61" />
+<hkern g1="t" g2="otilde" k="61" />
+<hkern g1="t" g2="odieresis" k="61" />
+<hkern g1="u" g2="T" k="248" />
+<hkern g1="u" g2="V" k="107" />
+<hkern g1="u" g2="W" k="49" />
+<hkern g1="u" g2="Y" k="124" />
+<hkern g1="u" g2="j" k="154" />
+<hkern g1="u" g2="Yacute" k="124" />
+<hkern g1="u" g2="icircumflex" k="42" />
+<hkern g1="u" g2="idieresis" k="49" />
+<hkern g1="v" g2="A" k="161" />
+<hkern g1="v" g2="J" k="92" />
+<hkern g1="v" g2="T" k="248" />
+<hkern g1="v" g2="V" k="107" />
+<hkern g1="v" g2="W" k="49" />
+<hkern g1="v" g2="X" k="155" />
+<hkern g1="v" g2="Y" k="124" />
+<hkern g1="v" g2="Z" k="240" />
+<hkern g1="v" g2="a" k="47" />
+<hkern g1="v" g2="c" k="77" />
+<hkern g1="v" g2="d" k="47" />
+<hkern g1="v" g2="e" k="47" />
+<hkern g1="v" g2="g" k="47" />
+<hkern g1="v" g2="j" k="216" />
+<hkern g1="v" g2="o" k="47" />
+<hkern g1="v" g2="p" k="47" />
+<hkern g1="v" g2="q" k="47" />
+<hkern g1="v" g2="Agrave" k="153" />
+<hkern g1="v" g2="Aacute" k="146" />
+<hkern g1="v" g2="Acircumflex" k="153" />
+<hkern g1="v" g2="Atilde" k="146" />
+<hkern g1="v" g2="Adieresis" k="161" />
+<hkern g1="v" g2="Aring" k="177" />
+<hkern g1="v" g2="AE" k="201" />
+<hkern g1="v" g2="Yacute" k="124" />
+<hkern g1="v" g2="agrave" k="47" />
+<hkern g1="v" g2="aacute" k="47" />
+<hkern g1="v" g2="acircumflex" k="47" />
+<hkern g1="v" g2="atilde" k="47" />
+<hkern g1="v" g2="adieresis" k="47" />
+<hkern g1="v" g2="aring" k="47" />
+<hkern g1="v" g2="ae" k="91" />
+<hkern g1="v" g2="ccedilla" k="77" />
+<hkern g1="v" g2="egrave" k="47" />
+<hkern g1="v" g2="eacute" k="47" />
+<hkern g1="v" g2="ecircumflex" k="47" />
+<hkern g1="v" g2="edieresis" k="47" />
+<hkern g1="v" g2="icircumflex" k="42" />
+<hkern g1="v" g2="idieresis" k="49" />
+<hkern g1="v" g2="eth" k="69" />
+<hkern g1="v" g2="ograve" k="47" />
+<hkern g1="v" g2="oacute" k="47" />
+<hkern g1="v" g2="ocircumflex" k="47" />
+<hkern g1="v" g2="otilde" k="47" />
+<hkern g1="v" g2="odieresis" k="47" />
+<hkern g1="v" g2="oslash" k="47" />
+<hkern g1="w" g2="A" k="146" />
+<hkern g1="w" g2="J" k="90" />
+<hkern g1="w" g2="T" k="330" />
+<hkern g1="w" g2="V" k="124" />
+<hkern g1="w" g2="X" k="146" />
+<hkern g1="w" g2="Y" k="133" />
+<hkern g1="w" g2="Z" k="146" />
+<hkern g1="w" g2="j" k="220" />
+<hkern g1="w" g2="Agrave" k="146" />
+<hkern g1="w" g2="Aacute" k="146" />
+<hkern g1="w" g2="Acircumflex" k="146" />
+<hkern g1="w" g2="Atilde" k="146" />
+<hkern g1="w" g2="Adieresis" k="146" />
+<hkern g1="w" g2="Aring" k="146" />
+<hkern g1="w" g2="AE" k="146" />
+<hkern g1="w" g2="Yacute" k="148" />
+<hkern g1="w" g2="ae" k="45" />
+<hkern g1="w" g2="icircumflex" k="59" />
+<hkern g1="w" g2="idieresis" k="66" />
+<hkern g1="x" g2="T" k="210" />
+<hkern g1="x" g2="V" k="91" />
+<hkern g1="x" g2="Y" k="138" />
+<hkern g1="x" g2="a" k="63" />
+<hkern g1="x" g2="c" k="92" />
+<hkern g1="x" g2="d" k="63" />
+<hkern g1="x" g2="e" k="63" />
+<hkern g1="x" g2="j" k="154" />
+<hkern g1="x" g2="o" k="63" />
+<hkern g1="x" g2="q" k="63" />
+<hkern g1="x" g2="Yacute" k="138" />
+<hkern g1="x" g2="agrave" k="63" />
+<hkern g1="x" g2="aacute" k="63" />
+<hkern g1="x" g2="acircumflex" k="63" />
+<hkern g1="x" g2="atilde" k="63" />
+<hkern g1="x" g2="adieresis" k="63" />
+<hkern g1="x" g2="aring" k="63" />
+<hkern g1="x" g2="ae" k="75" />
+<hkern g1="x" g2="ccedilla" k="92" />
+<hkern g1="x" g2="egrave" k="63" />
+<hkern g1="x" g2="eacute" k="63" />
+<hkern g1="x" g2="ecircumflex" k="63" />
+<hkern g1="x" g2="edieresis" k="63" />
+<hkern g1="x" g2="eth" k="53" />
+<hkern g1="x" g2="ograve" k="63" />
+<hkern g1="x" g2="oacute" k="63" />
+<hkern g1="x" g2="ocircumflex" k="63" />
+<hkern g1="x" g2="otilde" k="63" />
+<hkern g1="x" g2="odieresis" k="63" />
+<hkern g1="y" g2="A" k="125" />
+<hkern g1="y" g2="J" k="88" />
+<hkern g1="y" g2="T" k="306" />
+<hkern g1="y" g2="V" k="91" />
+<hkern g1="y" g2="X" k="78" />
+<hkern g1="y" g2="Y" k="94" />
+<hkern g1="y" g2="Z" k="118" />
+<hkern g1="y" g2="j" k="180" />
+<hkern g1="y" g2="Agrave" k="86" />
+<hkern g1="y" g2="Aacute" k="86" />
+<hkern g1="y" g2="Acircumflex" k="86" />
+<hkern g1="y" g2="Atilde" k="86" />
+<hkern g1="y" g2="Adieresis" k="86" />
+<hkern g1="y" g2="Aring" k="86" />
+<hkern g1="y" g2="AE" k="118" />
+<hkern g1="y" g2="Yacute" k="55" />
+<hkern g1="z" g2="T" k="299" />
+<hkern g1="z" g2="V" k="91" />
+<hkern g1="z" g2="Y" k="63" />
+<hkern g1="z" g2="a" k="63" />
+<hkern g1="z" g2="c" k="92" />
+<hkern g1="z" g2="d" k="63" />
+<hkern g1="z" g2="e" k="63" />
+<hkern g1="z" g2="j" k="180" />
+<hkern g1="z" g2="o" k="63" />
+<hkern g1="z" g2="q" k="63" />
+<hkern g1="z" g2="Yacute" k="149" />
+<hkern g1="z" g2="agrave" k="63" />
+<hkern g1="z" g2="aacute" k="63" />
+<hkern g1="z" g2="acircumflex" k="63" />
+<hkern g1="z" g2="atilde" k="63" />
+<hkern g1="z" g2="adieresis" k="63" />
+<hkern g1="z" g2="aring" k="63" />
+<hkern g1="z" g2="ae" k="75" />
+<hkern g1="z" g2="ccedilla" k="92" />
+<hkern g1="z" g2="egrave" k="63" />
+<hkern g1="z" g2="eacute" k="63" />
+<hkern g1="z" g2="ecircumflex" k="63" />
+<hkern g1="z" g2="edieresis" k="63" />
+<hkern g1="z" g2="eth" k="53" />
+<hkern g1="z" g2="ograve" k="63" />
+<hkern g1="z" g2="oacute" k="63" />
+<hkern g1="z" g2="ocircumflex" k="63" />
+<hkern g1="z" g2="otilde" k="63" />
+<hkern g1="z" g2="odieresis" k="63" />
+<hkern g1="Agrave" g2="C" k="98" />
+<hkern g1="Agrave" g2="G" k="98" />
+<hkern g1="Agrave" g2="O" k="69" />
+<hkern g1="Agrave" g2="Q" k="69" />
+<hkern g1="Agrave" g2="T" k="208" />
+<hkern g1="Agrave" g2="V" k="247" />
+<hkern g1="Agrave" g2="W" k="121" />
+<hkern g1="Agrave" g2="Y" k="247" />
+<hkern g1="Agrave" g2="f" k="64" />
+<hkern g1="Agrave" g2="j" k="200" />
+<hkern g1="Agrave" g2="t" k="95" />
+<hkern g1="Agrave" g2="v" k="137" />
+<hkern g1="Agrave" g2="w" k="143" />
+<hkern g1="Agrave" g2="y" k="206" />
+<hkern g1="Agrave" g2="Ccedilla" k="98" />
+<hkern g1="Agrave" g2="Eth" k="52" />
+<hkern g1="Agrave" g2="Ograve" k="69" />
+<hkern g1="Agrave" g2="Oacute" k="69" />
+<hkern g1="Agrave" g2="Ocircumflex" k="69" />
+<hkern g1="Agrave" g2="Otilde" k="69" />
+<hkern g1="Agrave" g2="Odieresis" k="69" />
+<hkern g1="Agrave" g2="Yacute" k="224" />
+<hkern g1="Agrave" g2="yacute" k="124" />
+<hkern g1="Agrave" g2="ydieresis" k="61" />
+<hkern g1="Aacute" g2="C" k="98" />
+<hkern g1="Aacute" g2="G" k="98" />
+<hkern g1="Aacute" g2="O" k="69" />
+<hkern g1="Aacute" g2="Q" k="69" />
+<hkern g1="Aacute" g2="T" k="247" />
+<hkern g1="Aacute" g2="V" k="200" />
+<hkern g1="Aacute" g2="W" k="159" />
+<hkern g1="Aacute" g2="Y" k="239" />
+<hkern g1="Aacute" g2="f" k="64" />
+<hkern g1="Aacute" g2="j" k="207" />
+<hkern g1="Aacute" g2="t" k="95" />
+<hkern g1="Aacute" g2="v" k="206" />
+<hkern g1="Aacute" g2="w" k="143" />
+<hkern g1="Aacute" g2="y" k="206" />
+<hkern g1="Aacute" g2="Ccedilla" k="98" />
+<hkern g1="Aacute" g2="Eth" k="52" />
+<hkern g1="Aacute" g2="Ograve" k="69" />
+<hkern g1="Aacute" g2="Oacute" k="69" />
+<hkern g1="Aacute" g2="Ocircumflex" k="69" />
+<hkern g1="Aacute" g2="Otilde" k="69" />
+<hkern g1="Aacute" g2="Odieresis" k="69" />
+<hkern g1="Aacute" g2="Yacute" k="200" />
+<hkern g1="Aacute" g2="yacute" k="62" />
+<hkern g1="Aacute" g2="ydieresis" k="53" />
+<hkern g1="Acircumflex" g2="C" k="98" />
+<hkern g1="Acircumflex" g2="G" k="98" />
+<hkern g1="Acircumflex" g2="O" k="69" />
+<hkern g1="Acircumflex" g2="Q" k="69" />
+<hkern g1="Acircumflex" g2="T" k="216" />
+<hkern g1="Acircumflex" g2="V" k="200" />
+<hkern g1="Acircumflex" g2="W" k="121" />
+<hkern g1="Acircumflex" g2="Y" k="200" />
+<hkern g1="Acircumflex" g2="f" k="64" />
+<hkern g1="Acircumflex" g2="j" k="106" />
+<hkern g1="Acircumflex" g2="t" k="95" />
+<hkern g1="Acircumflex" g2="v" k="206" />
+<hkern g1="Acircumflex" g2="w" k="143" />
+<hkern g1="Acircumflex" g2="y" k="206" />
+<hkern g1="Acircumflex" g2="Ccedilla" k="98" />
+<hkern g1="Acircumflex" g2="Eth" k="52" />
+<hkern g1="Acircumflex" g2="Ograve" k="69" />
+<hkern g1="Acircumflex" g2="Oacute" k="69" />
+<hkern g1="Acircumflex" g2="Ocircumflex" k="69" />
+<hkern g1="Acircumflex" g2="Otilde" k="69" />
+<hkern g1="Acircumflex" g2="Odieresis" k="69" />
+<hkern g1="Acircumflex" g2="Yacute" k="200" />
+<hkern g1="Acircumflex" g2="yacute" k="62" />
+<hkern g1="Acircumflex" g2="ydieresis" k="53" />
+<hkern g1="Atilde" g2="C" k="98" />
+<hkern g1="Atilde" g2="G" k="98" />
+<hkern g1="Atilde" g2="O" k="69" />
+<hkern g1="Atilde" g2="Q" k="69" />
+<hkern g1="Atilde" g2="T" k="204" />
+<hkern g1="Atilde" g2="V" k="204" />
+<hkern g1="Atilde" g2="W" k="78" />
+<hkern g1="Atilde" g2="Y" k="204" />
+<hkern g1="Atilde" g2="f" k="64" />
+<hkern g1="Atilde" g2="j" k="110" />
+<hkern g1="Atilde" g2="t" k="95" />
+<hkern g1="Atilde" g2="v" k="206" />
+<hkern g1="Atilde" g2="w" k="143" />
+<hkern g1="Atilde" g2="y" k="206" />
+<hkern g1="Atilde" g2="Ccedilla" k="98" />
+<hkern g1="Atilde" g2="Eth" k="52" />
+<hkern g1="Atilde" g2="Ograve" k="69" />
+<hkern g1="Atilde" g2="Oacute" k="69" />
+<hkern g1="Atilde" g2="Ocircumflex" k="69" />
+<hkern g1="Atilde" g2="Otilde" k="69" />
+<hkern g1="Atilde" g2="Odieresis" k="69" />
+<hkern g1="Atilde" g2="Yacute" k="204" />
+<hkern g1="Atilde" g2="yacute" k="66" />
+<hkern g1="Atilde" g2="ydieresis" k="57" />
+<hkern g1="Adieresis" g2="C" k="98" />
+<hkern g1="Adieresis" g2="G" k="98" />
+<hkern g1="Adieresis" g2="O" k="69" />
+<hkern g1="Adieresis" g2="Q" k="69" />
+<hkern g1="Adieresis" g2="T" k="236" />
+<hkern g1="Adieresis" g2="V" k="213" />
+<hkern g1="Adieresis" g2="W" k="188" />
+<hkern g1="Adieresis" g2="Y" k="213" />
+<hkern g1="Adieresis" g2="f" k="64" />
+<hkern g1="Adieresis" g2="j" k="158" />
+<hkern g1="Adieresis" g2="t" k="95" />
+<hkern g1="Adieresis" g2="v" k="157" />
+<hkern g1="Adieresis" g2="w" k="143" />
+<hkern g1="Adieresis" g2="y" k="206" />
+<hkern g1="Adieresis" g2="Ccedilla" k="98" />
+<hkern g1="Adieresis" g2="Eth" k="52" />
+<hkern g1="Adieresis" g2="Ograve" k="69" />
+<hkern g1="Adieresis" g2="Oacute" k="69" />
+<hkern g1="Adieresis" g2="Ocircumflex" k="69" />
+<hkern g1="Adieresis" g2="Otilde" k="69" />
+<hkern g1="Adieresis" g2="Odieresis" k="69" />
+<hkern g1="Adieresis" g2="Yacute" k="213" />
+<hkern g1="Adieresis" g2="yacute" k="75" />
+<hkern g1="Adieresis" g2="ydieresis" k="66" />
+<hkern g1="Aring" g2="C" k="98" />
+<hkern g1="Aring" g2="G" k="98" />
+<hkern g1="Aring" g2="O" k="69" />
+<hkern g1="Aring" g2="Q" k="69" />
+<hkern g1="Aring" g2="T" k="223" />
+<hkern g1="Aring" g2="V" k="230" />
+<hkern g1="Aring" g2="W" k="182" />
+<hkern g1="Aring" g2="Y" k="246" />
+<hkern g1="Aring" g2="f" k="64" />
+<hkern g1="Aring" g2="j" k="191" />
+<hkern g1="Aring" g2="t" k="95" />
+<hkern g1="Aring" g2="v" k="167" />
+<hkern g1="Aring" g2="w" k="143" />
+<hkern g1="Aring" g2="y" k="206" />
+<hkern g1="Aring" g2="Ccedilla" k="98" />
+<hkern g1="Aring" g2="Eth" k="52" />
+<hkern g1="Aring" g2="Ograve" k="69" />
+<hkern g1="Aring" g2="Oacute" k="69" />
+<hkern g1="Aring" g2="Ocircumflex" k="69" />
+<hkern g1="Aring" g2="Otilde" k="69" />
+<hkern g1="Aring" g2="Odieresis" k="69" />
+<hkern g1="Aring" g2="Yacute" k="207" />
+<hkern g1="Aring" g2="yacute" k="92" />
+<hkern g1="Aring" g2="ydieresis" k="83" />
+<hkern g1="AE" g2="C" k="100" />
+<hkern g1="AE" g2="G" k="100" />
+<hkern g1="AE" g2="J" k="65" />
+<hkern g1="AE" g2="O" k="102" />
+<hkern g1="AE" g2="Q" k="102" />
+<hkern g1="AE" g2="a" k="102" />
+<hkern g1="AE" g2="c" k="132" />
+<hkern g1="AE" g2="d" k="102" />
+<hkern g1="AE" g2="e" k="102" />
+<hkern g1="AE" g2="f" k="97" />
+<hkern g1="AE" g2="g" k="71" />
+<hkern g1="AE" g2="j" k="206" />
+<hkern g1="AE" g2="o" k="102" />
+<hkern g1="AE" g2="q" k="102" />
+<hkern g1="AE" g2="t" k="97" />
+<hkern g1="AE" g2="u" k="70" />
+<hkern g1="AE" g2="v" k="117" />
+<hkern g1="AE" g2="w" k="85" />
+<hkern g1="AE" g2="y" k="117" />
+<hkern g1="AE" g2="Ccedilla" k="100" />
+<hkern g1="AE" g2="Ograve" k="102" />
+<hkern g1="AE" g2="Oacute" k="102" />
+<hkern g1="AE" g2="Ocircumflex" k="102" />
+<hkern g1="AE" g2="Otilde" k="102" />
+<hkern g1="AE" g2="Odieresis" k="102" />
+<hkern g1="AE" g2="agrave" k="102" />
+<hkern g1="AE" g2="aacute" k="102" />
+<hkern g1="AE" g2="acircumflex" k="102" />
+<hkern g1="AE" g2="atilde" k="102" />
+<hkern g1="AE" g2="adieresis" k="102" />
+<hkern g1="AE" g2="aring" k="102" />
+<hkern g1="AE" g2="ae" k="114" />
+<hkern g1="AE" g2="ccedilla" k="132" />
+<hkern g1="AE" g2="egrave" k="102" />
+<hkern g1="AE" g2="eacute" k="102" />
+<hkern g1="AE" g2="ecircumflex" k="102" />
+<hkern g1="AE" g2="edieresis" k="102" />
+<hkern g1="AE" g2="eth" k="92" />
+<hkern g1="AE" g2="ograve" k="102" />
+<hkern g1="AE" g2="oacute" k="102" />
+<hkern g1="AE" g2="ocircumflex" k="102" />
+<hkern g1="AE" g2="otilde" k="102" />
+<hkern g1="AE" g2="odieresis" k="102" />
+<hkern g1="AE" g2="ugrave" k="70" />
+<hkern g1="AE" g2="uacute" k="70" />
+<hkern g1="AE" g2="ucircumflex" k="70" />
+<hkern g1="AE" g2="udieresis" k="70" />
+<hkern g1="AE" g2="yacute" k="117" />
+<hkern g1="AE" g2="ydieresis" k="132" />
+<hkern g1="Ccedilla" g2="C" k="91" />
+<hkern g1="Ccedilla" g2="G" k="138" />
+<hkern g1="Ccedilla" g2="O" k="91" />
+<hkern g1="Ccedilla" g2="Q" k="91" />
+<hkern g1="Ccedilla" g2="f" k="154" />
+<hkern g1="Ccedilla" g2="j" k="208" />
+<hkern g1="Ccedilla" g2="t" k="130" />
+<hkern g1="Ccedilla" g2="v" k="248" />
+<hkern g1="Ccedilla" g2="w" k="122" />
+<hkern g1="Ccedilla" g2="y" k="202" />
+<hkern g1="Ccedilla" g2="Ccedilla" k="104" />
+<hkern g1="Ccedilla" g2="Igrave" k="75" />
+<hkern g1="Ccedilla" g2="Iacute" k="105" />
+<hkern g1="Ccedilla" g2="Icircumflex" k="96" />
+<hkern g1="Ccedilla" g2="Idieresis" k="76" />
+<hkern g1="Ccedilla" g2="Eth" k="59" />
+<hkern g1="Ccedilla" g2="Ograve" k="91" />
+<hkern g1="Ccedilla" g2="Oacute" k="137" />
+<hkern g1="Ccedilla" g2="Ocircumflex" k="91" />
+<hkern g1="Ccedilla" g2="Otilde" k="91" />
+<hkern g1="Ccedilla" g2="Odieresis" k="91" />
+<hkern g1="Ccedilla" g2="iacute" k="53" />
+<hkern g1="Ccedilla" g2="yacute" k="204" />
+<hkern g1="Ccedilla" g2="ydieresis" k="164" />
+<hkern g1="Egrave" g2="C" k="127" />
+<hkern g1="Egrave" g2="G" k="127" />
+<hkern g1="Egrave" g2="O" k="129" />
+<hkern g1="Egrave" g2="Q" k="129" />
+<hkern g1="Egrave" g2="c" k="64" />
+<hkern g1="Egrave" g2="j" k="184" />
+<hkern g1="Egrave" g2="v" k="59" />
+<hkern g1="Egrave" g2="w" k="140" />
+<hkern g1="Egrave" g2="y" k="76" />
+<hkern g1="Egrave" g2="Ccedilla" k="127" />
+<hkern g1="Egrave" g2="Ograve" k="129" />
+<hkern g1="Egrave" g2="Oacute" k="129" />
+<hkern g1="Egrave" g2="Ocircumflex" k="129" />
+<hkern g1="Egrave" g2="Otilde" k="129" />
+<hkern g1="Egrave" g2="Odieresis" k="129" />
+<hkern g1="Egrave" g2="ae" k="47" />
+<hkern g1="Egrave" g2="ccedilla" k="64" />
+<hkern g1="Egrave" g2="eth" k="56" />
+<hkern g1="Egrave" g2="yacute" k="78" />
+<hkern g1="Egrave" g2="ydieresis" k="64" />
+<hkern g1="Eacute" g2="C" k="127" />
+<hkern g1="Eacute" g2="G" k="127" />
+<hkern g1="Eacute" g2="O" k="129" />
+<hkern g1="Eacute" g2="Q" k="129" />
+<hkern g1="Eacute" g2="c" k="64" />
+<hkern g1="Eacute" g2="j" k="182" />
+<hkern g1="Eacute" g2="v" k="171" />
+<hkern g1="Eacute" g2="w" k="140" />
+<hkern g1="Eacute" g2="y" k="51" />
+<hkern g1="Eacute" g2="Ccedilla" k="127" />
+<hkern g1="Eacute" g2="Ograve" k="129" />
+<hkern g1="Eacute" g2="Oacute" k="129" />
+<hkern g1="Eacute" g2="Ocircumflex" k="129" />
+<hkern g1="Eacute" g2="Otilde" k="129" />
+<hkern g1="Eacute" g2="Odieresis" k="129" />
+<hkern g1="Eacute" g2="ae" k="47" />
+<hkern g1="Eacute" g2="ccedilla" k="64" />
+<hkern g1="Eacute" g2="eth" k="56" />
+<hkern g1="Eacute" g2="yacute" k="53" />
+<hkern g1="Eacute" g2="ydieresis" k="64" />
+<hkern g1="Ecircumflex" g2="C" k="127" />
+<hkern g1="Ecircumflex" g2="G" k="127" />
+<hkern g1="Ecircumflex" g2="O" k="129" />
+<hkern g1="Ecircumflex" g2="Q" k="129" />
+<hkern g1="Ecircumflex" g2="c" k="64" />
+<hkern g1="Ecircumflex" g2="j" k="175" />
+<hkern g1="Ecircumflex" g2="v" k="171" />
+<hkern g1="Ecircumflex" g2="w" k="140" />
+<hkern g1="Ecircumflex" g2="y" k="51" />
+<hkern g1="Ecircumflex" g2="Ccedilla" k="127" />
+<hkern g1="Ecircumflex" g2="Ograve" k="129" />
+<hkern g1="Ecircumflex" g2="Oacute" k="129" />
+<hkern g1="Ecircumflex" g2="Ocircumflex" k="129" />
+<hkern g1="Ecircumflex" g2="Otilde" k="129" />
+<hkern g1="Ecircumflex" g2="Odieresis" k="129" />
+<hkern g1="Ecircumflex" g2="ae" k="47" />
+<hkern g1="Ecircumflex" g2="ccedilla" k="64" />
+<hkern g1="Ecircumflex" g2="eth" k="56" />
+<hkern g1="Ecircumflex" g2="yacute" k="53" />
+<hkern g1="Ecircumflex" g2="ydieresis" k="64" />
+<hkern g1="Edieresis" g2="C" k="127" />
+<hkern g1="Edieresis" g2="G" k="127" />
+<hkern g1="Edieresis" g2="O" k="129" />
+<hkern g1="Edieresis" g2="Q" k="129" />
+<hkern g1="Edieresis" g2="c" k="64" />
+<hkern g1="Edieresis" g2="j" k="180" />
+<hkern g1="Edieresis" g2="v" k="171" />
+<hkern g1="Edieresis" g2="w" k="140" />
+<hkern g1="Edieresis" g2="y" k="87" />
+<hkern g1="Edieresis" g2="Ccedilla" k="127" />
+<hkern g1="Edieresis" g2="Ograve" k="129" />
+<hkern g1="Edieresis" g2="Oacute" k="129" />
+<hkern g1="Edieresis" g2="Ocircumflex" k="129" />
+<hkern g1="Edieresis" g2="Otilde" k="129" />
+<hkern g1="Edieresis" g2="Odieresis" k="129" />
+<hkern g1="Edieresis" g2="ae" k="47" />
+<hkern g1="Edieresis" g2="ccedilla" k="64" />
+<hkern g1="Edieresis" g2="eth" k="56" />
+<hkern g1="Edieresis" g2="yacute" k="66" />
+<hkern g1="Edieresis" g2="ydieresis" k="64" />
+<hkern g1="Igrave" g2="I" k="42" />
+<hkern g1="Igrave" g2="j" k="283" />
+<hkern g1="Igrave" g2="dotlessi" k="42" />
+<hkern g1="Iacute" g2="j" k="199" />
+<hkern g1="Icircumflex" g2="j" k="207" />
+<hkern g1="Idieresis" g2="I" k="50" />
+<hkern g1="Idieresis" g2="j" k="227" />
+<hkern g1="Idieresis" g2="dotlessi" k="50" />
+<hkern g1="Eth" g2="A" k="128" />
+<hkern g1="Eth" g2="T" k="177" />
+<hkern g1="Eth" g2="V" k="128" />
+<hkern g1="Eth" g2="X" k="146" />
+<hkern g1="Eth" g2="Y" k="114" />
+<hkern g1="Eth" g2="Z" k="146" />
+<hkern g1="Eth" g2="j" k="176" />
+<hkern g1="Eth" g2="Agrave" k="128" />
+<hkern g1="Eth" g2="Aacute" k="128" />
+<hkern g1="Eth" g2="Acircumflex" k="128" />
+<hkern g1="Eth" g2="Atilde" k="128" />
+<hkern g1="Eth" g2="Adieresis" k="128" />
+<hkern g1="Eth" g2="Aring" k="128" />
+<hkern g1="Eth" g2="AE" k="83" />
+<hkern g1="Eth" g2="Yacute" k="114" />
+<hkern g1="Ntilde" g2="j" k="182" />
+<hkern g1="Ograve" g2="A" k="131" />
+<hkern g1="Ograve" g2="S" k="65" />
+<hkern g1="Ograve" g2="T" k="136" />
+<hkern g1="Ograve" g2="V" k="131" />
+<hkern g1="Ograve" g2="W" k="73" />
+<hkern g1="Ograve" g2="X" k="148" />
+<hkern g1="Ograve" g2="Y" k="148" />
+<hkern g1="Ograve" g2="Z" k="148" />
+<hkern g1="Ograve" g2="j" k="160" />
+<hkern g1="Ograve" g2="Agrave" k="131" />
+<hkern g1="Ograve" g2="Aacute" k="131" />
+<hkern g1="Ograve" g2="Acircumflex" k="131" />
+<hkern g1="Ograve" g2="Atilde" k="131" />
+<hkern g1="Ograve" g2="Adieresis" k="131" />
+<hkern g1="Ograve" g2="Aring" k="131" />
+<hkern g1="Ograve" g2="AE" k="85" />
+<hkern g1="Ograve" g2="Yacute" k="148" />
+<hkern g1="Oacute" g2="A" k="131" />
+<hkern g1="Oacute" g2="S" k="65" />
+<hkern g1="Oacute" g2="T" k="133" />
+<hkern g1="Oacute" g2="V" k="131" />
+<hkern g1="Oacute" g2="W" k="73" />
+<hkern g1="Oacute" g2="X" k="148" />
+<hkern g1="Oacute" g2="Y" k="148" />
+<hkern g1="Oacute" g2="Z" k="148" />
+<hkern g1="Oacute" g2="j" k="173" />
+<hkern g1="Oacute" g2="Agrave" k="131" />
+<hkern g1="Oacute" g2="Aacute" k="131" />
+<hkern g1="Oacute" g2="Acircumflex" k="131" />
+<hkern g1="Oacute" g2="Atilde" k="131" />
+<hkern g1="Oacute" g2="Adieresis" k="131" />
+<hkern g1="Oacute" g2="Aring" k="131" />
+<hkern g1="Oacute" g2="AE" k="85" />
+<hkern g1="Oacute" g2="Yacute" k="148" />
+<hkern g1="Ocircumflex" g2="A" k="131" />
+<hkern g1="Ocircumflex" g2="S" k="65" />
+<hkern g1="Ocircumflex" g2="T" k="109" />
+<hkern g1="Ocircumflex" g2="V" k="131" />
+<hkern g1="Ocircumflex" g2="W" k="73" />
+<hkern g1="Ocircumflex" g2="X" k="148" />
+<hkern g1="Ocircumflex" g2="Y" k="148" />
+<hkern g1="Ocircumflex" g2="Z" k="148" />
+<hkern g1="Ocircumflex" g2="j" k="187" />
+<hkern g1="Ocircumflex" g2="Agrave" k="131" />
+<hkern g1="Ocircumflex" g2="Aacute" k="131" />
+<hkern g1="Ocircumflex" g2="Acircumflex" k="131" />
+<hkern g1="Ocircumflex" g2="Atilde" k="131" />
+<hkern g1="Ocircumflex" g2="Adieresis" k="131" />
+<hkern g1="Ocircumflex" g2="Aring" k="131" />
+<hkern g1="Ocircumflex" g2="AE" k="85" />
+<hkern g1="Ocircumflex" g2="Yacute" k="148" />
+<hkern g1="Otilde" g2="A" k="131" />
+<hkern g1="Otilde" g2="S" k="65" />
+<hkern g1="Otilde" g2="T" k="137" />
+<hkern g1="Otilde" g2="V" k="131" />
+<hkern g1="Otilde" g2="W" k="73" />
+<hkern g1="Otilde" g2="X" k="148" />
+<hkern g1="Otilde" g2="Y" k="148" />
+<hkern g1="Otilde" g2="Z" k="148" />
+<hkern g1="Otilde" g2="j" k="169" />
+<hkern g1="Otilde" g2="Agrave" k="131" />
+<hkern g1="Otilde" g2="Aacute" k="131" />
+<hkern g1="Otilde" g2="Acircumflex" k="131" />
+<hkern g1="Otilde" g2="Atilde" k="131" />
+<hkern g1="Otilde" g2="Adieresis" k="131" />
+<hkern g1="Otilde" g2="Aring" k="131" />
+<hkern g1="Otilde" g2="AE" k="85" />
+<hkern g1="Otilde" g2="Yacute" k="148" />
+<hkern g1="Odieresis" g2="A" k="131" />
+<hkern g1="Odieresis" g2="S" k="65" />
+<hkern g1="Odieresis" g2="T" k="149" />
+<hkern g1="Odieresis" g2="V" k="131" />
+<hkern g1="Odieresis" g2="W" k="73" />
+<hkern g1="Odieresis" g2="X" k="148" />
+<hkern g1="Odieresis" g2="Y" k="110" />
+<hkern g1="Odieresis" g2="Z" k="148" />
+<hkern g1="Odieresis" g2="j" k="196" />
+<hkern g1="Odieresis" g2="Agrave" k="131" />
+<hkern g1="Odieresis" g2="Aacute" k="131" />
+<hkern g1="Odieresis" g2="Acircumflex" k="131" />
+<hkern g1="Odieresis" g2="Atilde" k="131" />
+<hkern g1="Odieresis" g2="Adieresis" k="131" />
+<hkern g1="Odieresis" g2="Aring" k="131" />
+<hkern g1="Odieresis" g2="AE" k="85" />
+<hkern g1="Odieresis" g2="Yacute" k="95" />
+<hkern g1="Oslash" g2="A" k="131" />
+<hkern g1="Oslash" g2="S" k="65" />
+<hkern g1="Oslash" g2="j" k="179" />
+<hkern g1="Oslash" g2="Agrave" k="131" />
+<hkern g1="Oslash" g2="Aacute" k="131" />
+<hkern g1="Oslash" g2="Acircumflex" k="131" />
+<hkern g1="Oslash" g2="Atilde" k="131" />
+<hkern g1="Oslash" g2="Adieresis" k="131" />
+<hkern g1="Oslash" g2="Aring" k="131" />
+<hkern g1="Oslash" g2="AE" k="85" />
+<hkern g1="Ugrave" g2="j" k="170" />
+<hkern g1="Uacute" g2="j" k="158" />
+<hkern g1="Ucircumflex" g2="j" k="175" />
+<hkern g1="Udieresis" g2="j" k="187" />
+<hkern g1="Yacute" g2="A" k="205" />
+<hkern g1="Yacute" g2="C" k="109" />
+<hkern g1="Yacute" g2="G" k="109" />
+<hkern g1="Yacute" g2="J" k="212" />
+<hkern g1="Yacute" g2="O" k="109" />
+<hkern g1="Yacute" g2="Q" k="109" />
+<hkern g1="Yacute" g2="S" k="61" />
+<hkern g1="Yacute" g2="a" k="181" />
+<hkern g1="Yacute" g2="c" k="181" />
+<hkern g1="Yacute" g2="d" k="205" />
+<hkern g1="Yacute" g2="e" k="197" />
+<hkern g1="Yacute" g2="f" k="109" />
+<hkern g1="Yacute" g2="g" k="186" />
+<hkern g1="Yacute" g2="j" k="197" />
+<hkern g1="Yacute" g2="m" k="109" />
+<hkern g1="Yacute" g2="n" k="109" />
+<hkern g1="Yacute" g2="o" k="181" />
+<hkern g1="Yacute" g2="p" k="187" />
+<hkern g1="Yacute" g2="q" k="178" />
+<hkern g1="Yacute" g2="r" k="109" />
+<hkern g1="Yacute" g2="s" k="127" />
+<hkern g1="Yacute" g2="t" k="62" />
+<hkern g1="Yacute" g2="u" k="109" />
+<hkern g1="Yacute" g2="v" k="109" />
+<hkern g1="Yacute" g2="w" k="109" />
+<hkern g1="Yacute" g2="x" k="109" />
+<hkern g1="Yacute" g2="y" k="109" />
+<hkern g1="Yacute" g2="z" k="109" />
+<hkern g1="Yacute" g2="Agrave" k="197" />
+<hkern g1="Yacute" g2="Aacute" k="205" />
+<hkern g1="Yacute" g2="Acircumflex" k="228" />
+<hkern g1="Yacute" g2="Atilde" k="197" />
+<hkern g1="Yacute" g2="Adieresis" k="197" />
+<hkern g1="Yacute" g2="Aring" k="189" />
+<hkern g1="Yacute" g2="AE" k="189" />
+<hkern g1="Yacute" g2="Ccedilla" k="109" />
+<hkern g1="Yacute" g2="Eth" k="50" />
+<hkern g1="Yacute" g2="Ograve" k="109" />
+<hkern g1="Yacute" g2="Oacute" k="109" />
+<hkern g1="Yacute" g2="Ocircumflex" k="109" />
+<hkern g1="Yacute" g2="Otilde" k="109" />
+<hkern g1="Yacute" g2="Odieresis" k="109" />
+<hkern g1="Yacute" g2="Oslash" k="109" />
+<hkern g1="Yacute" g2="agrave" k="174" />
+<hkern g1="Yacute" g2="aacute" k="189" />
+<hkern g1="Yacute" g2="acircumflex" k="166" />
+<hkern g1="Yacute" g2="atilde" k="67" />
+<hkern g1="Yacute" g2="adieresis" k="158" />
+<hkern g1="Yacute" g2="aring" k="126" />
+<hkern g1="Yacute" g2="ae" k="197" />
+<hkern g1="Yacute" g2="ccedilla" k="190" />
+<hkern g1="Yacute" g2="egrave" k="174" />
+<hkern g1="Yacute" g2="eacute" k="205" />
+<hkern g1="Yacute" g2="ecircumflex" k="150" />
+<hkern g1="Yacute" g2="edieresis" k="150" />
+<hkern g1="Yacute" g2="eth" k="166" />
+<hkern g1="Yacute" g2="ograve" k="181" />
+<hkern g1="Yacute" g2="oacute" k="174" />
+<hkern g1="Yacute" g2="ocircumflex" k="143" />
+<hkern g1="Yacute" g2="otilde" k="67" />
+<hkern g1="Yacute" g2="odieresis" k="158" />
+<hkern g1="Yacute" g2="oslash" k="181" />
+<hkern g1="Yacute" g2="ugrave" k="109" />
+<hkern g1="Yacute" g2="uacute" k="109" />
+<hkern g1="Yacute" g2="ucircumflex" k="109" />
+<hkern g1="Yacute" g2="udieresis" k="98" />
+<hkern g1="Yacute" g2="yacute" k="109" />
+<hkern g1="Yacute" g2="ydieresis" k="97" />
+<hkern g1="Yacute" g2="dotlessi" k="221" />
+<hkern g1="Thorn" g2="A" k="127" />
+<hkern g1="Thorn" g2="T" k="280" />
+<hkern g1="Thorn" g2="V" k="127" />
+<hkern g1="Thorn" g2="X" k="170" />
+<hkern g1="Thorn" g2="Y" k="186" />
+<hkern g1="Thorn" g2="Z" k="186" />
+<hkern g1="Thorn" g2="j" k="288" />
+<hkern g1="Thorn" g2="Agrave" k="127" />
+<hkern g1="Thorn" g2="Aacute" k="127" />
+<hkern g1="Thorn" g2="Acircumflex" k="127" />
+<hkern g1="Thorn" g2="Atilde" k="127" />
+<hkern g1="Thorn" g2="Adieresis" k="127" />
+<hkern g1="Thorn" g2="Aring" k="127" />
+<hkern g1="Thorn" g2="AE" k="161" />
+<hkern g1="Thorn" g2="Yacute" k="186" />
+<hkern g1="germandbls" g2="T" k="84" />
+<hkern g1="germandbls" g2="V" k="123" />
+<hkern g1="germandbls" g2="W" k="96" />
+<hkern g1="germandbls" g2="Y" k="108" />
+<hkern g1="germandbls" g2="j" k="194" />
+<hkern g1="germandbls" g2="y" k="61" />
+<hkern g1="germandbls" g2="Yacute" k="92" />
+<hkern g1="germandbls" g2="yacute" k="61" />
+<hkern g1="germandbls" g2="ydieresis" k="61" />
+<hkern g1="agrave" g2="T" k="154" />
+<hkern g1="agrave" g2="V" k="172" />
+<hkern g1="agrave" g2="W" k="160" />
+<hkern g1="agrave" g2="Y" k="223" />
+<hkern g1="agrave" g2="f" k="58" />
+<hkern g1="agrave" g2="j" k="146" />
+<hkern g1="agrave" g2="t" k="90" />
+<hkern g1="agrave" g2="v" k="62" />
+<hkern g1="agrave" g2="y" k="61" />
+<hkern g1="agrave" g2="Yacute" k="208" />
+<hkern g1="agrave" g2="icircumflex" k="58" />
+<hkern g1="agrave" g2="idieresis" k="65" />
+<hkern g1="agrave" g2="yacute" k="61" />
+<hkern g1="agrave" g2="ydieresis" k="61" />
+<hkern g1="aacute" g2="T" k="102" />
+<hkern g1="aacute" g2="V" k="172" />
+<hkern g1="aacute" g2="W" k="160" />
+<hkern g1="aacute" g2="Y" k="125" />
+<hkern g1="aacute" g2="f" k="58" />
+<hkern g1="aacute" g2="j" k="181" />
+<hkern g1="aacute" g2="t" k="90" />
+<hkern g1="aacute" g2="v" k="62" />
+<hkern g1="aacute" g2="y" k="61" />
+<hkern g1="aacute" g2="Yacute" k="118" />
+<hkern g1="aacute" g2="icircumflex" k="58" />
+<hkern g1="aacute" g2="idieresis" k="65" />
+<hkern g1="aacute" g2="yacute" k="61" />
+<hkern g1="aacute" g2="ydieresis" k="61" />
+<hkern g1="acircumflex" g2="T" k="214" />
+<hkern g1="acircumflex" g2="V" k="88" />
+<hkern g1="acircumflex" g2="W" k="160" />
+<hkern g1="acircumflex" g2="Y" k="199" />
+<hkern g1="acircumflex" g2="f" k="58" />
+<hkern g1="acircumflex" g2="j" k="207" />
+<hkern g1="acircumflex" g2="t" k="90" />
+<hkern g1="acircumflex" g2="v" k="62" />
+<hkern g1="acircumflex" g2="y" k="61" />
+<hkern g1="acircumflex" g2="Yacute" k="168" />
+<hkern g1="acircumflex" g2="yacute" k="61" />
+<hkern g1="acircumflex" g2="ydieresis" k="61" />
+<hkern g1="atilde" g2="T" k="123" />
+<hkern g1="atilde" g2="V" k="123" />
+<hkern g1="atilde" g2="W" k="97" />
+<hkern g1="atilde" g2="Y" k="122" />
+<hkern g1="atilde" g2="f" k="58" />
+<hkern g1="atilde" g2="j" k="181" />
+<hkern g1="atilde" g2="t" k="90" />
+<hkern g1="atilde" g2="v" k="62" />
+<hkern g1="atilde" g2="y" k="61" />
+<hkern g1="atilde" g2="Yacute" k="122" />
+<hkern g1="atilde" g2="yacute" k="61" />
+<hkern g1="atilde" g2="ydieresis" k="61" />
+<hkern g1="adieresis" g2="T" k="289" />
+<hkern g1="adieresis" g2="V" k="108" />
+<hkern g1="adieresis" g2="W" k="160" />
+<hkern g1="adieresis" g2="Y" k="179" />
+<hkern g1="adieresis" g2="f" k="58" />
+<hkern g1="adieresis" g2="j" k="195" />
+<hkern g1="adieresis" g2="t" k="90" />
+<hkern g1="adieresis" g2="v" k="62" />
+<hkern g1="adieresis" g2="y" k="61" />
+<hkern g1="adieresis" g2="Yacute" k="156" />
+<hkern g1="adieresis" g2="yacute" k="61" />
+<hkern g1="adieresis" g2="ydieresis" k="61" />
+<hkern g1="aring" g2="T" k="111" />
+<hkern g1="aring" g2="V" k="95" />
+<hkern g1="aring" g2="W" k="160" />
+<hkern g1="aring" g2="Y" k="111" />
+<hkern g1="aring" g2="f" k="58" />
+<hkern g1="aring" g2="j" k="190" />
+<hkern g1="aring" g2="t" k="90" />
+<hkern g1="aring" g2="v" k="62" />
+<hkern g1="aring" g2="y" k="61" />
+<hkern g1="aring" g2="Yacute" k="119" />
+<hkern g1="aring" g2="icircumflex" k="58" />
+<hkern g1="aring" g2="idieresis" k="65" />
+<hkern g1="aring" g2="yacute" k="61" />
+<hkern g1="aring" g2="ydieresis" k="61" />
+<hkern g1="ae" g2="A" k="126" />
+<hkern g1="ae" g2="S" k="123" />
+<hkern g1="ae" g2="T" k="225" />
+<hkern g1="ae" g2="V" k="156" />
+<hkern g1="ae" g2="W" k="163" />
+<hkern g1="ae" g2="X" k="157" />
+<hkern g1="ae" g2="Y" k="225" />
+<hkern g1="ae" g2="Z" k="158" />
+<hkern g1="ae" g2="f" k="93" />
+<hkern g1="ae" g2="i" k="50" />
+<hkern g1="ae" g2="j" k="192" />
+<hkern g1="ae" g2="t" k="124" />
+<hkern g1="ae" g2="v" k="97" />
+<hkern g1="ae" g2="w" k="70" />
+<hkern g1="ae" g2="x" k="127" />
+<hkern g1="ae" g2="y" k="96" />
+<hkern g1="ae" g2="z" k="127" />
+<hkern g1="ae" g2="Agrave" k="126" />
+<hkern g1="ae" g2="Aacute" k="126" />
+<hkern g1="ae" g2="Acircumflex" k="126" />
+<hkern g1="ae" g2="Atilde" k="126" />
+<hkern g1="ae" g2="Adieresis" k="126" />
+<hkern g1="ae" g2="Aring" k="126" />
+<hkern g1="ae" g2="AE" k="129" />
+<hkern g1="ae" g2="Igrave" k="47" />
+<hkern g1="ae" g2="Iacute" k="53" />
+<hkern g1="ae" g2="Icircumflex" k="60" />
+<hkern g1="ae" g2="Yacute" k="256" />
+<hkern g1="ae" g2="igrave" k="42" />
+<hkern g1="ae" g2="icircumflex" k="93" />
+<hkern g1="ae" g2="idieresis" k="100" />
+<hkern g1="ae" g2="yacute" k="96" />
+<hkern g1="ae" g2="ydieresis" k="96" />
+<hkern g1="ccedilla" g2="T" k="248" />
+<hkern g1="ccedilla" g2="V" k="123" />
+<hkern g1="ccedilla" g2="Y" k="185" />
+<hkern g1="ccedilla" g2="j" k="41" />
+<hkern g1="ccedilla" g2="Yacute" k="170" />
+<hkern g1="egrave" g2="A" k="92" />
+<hkern g1="egrave" g2="S" k="120" />
+<hkern g1="egrave" g2="T" k="210" />
+<hkern g1="egrave" g2="V" k="75" />
+<hkern g1="egrave" g2="W" k="160" />
+<hkern g1="egrave" g2="X" k="122" />
+<hkern g1="egrave" g2="Y" k="178" />
+<hkern g1="egrave" g2="Z" k="123" />
+<hkern g1="egrave" g2="f" k="58" />
+<hkern g1="egrave" g2="j" k="186" />
+<hkern g1="egrave" g2="t" k="90" />
+<hkern g1="egrave" g2="v" k="62" />
+<hkern g1="egrave" g2="x" k="93" />
+<hkern g1="egrave" g2="y" k="61" />
+<hkern g1="egrave" g2="z" k="93" />
+<hkern g1="egrave" g2="Agrave" k="92" />
+<hkern g1="egrave" g2="Aacute" k="92" />
+<hkern g1="egrave" g2="Acircumflex" k="92" />
+<hkern g1="egrave" g2="Atilde" k="92" />
+<hkern g1="egrave" g2="Adieresis" k="92" />
+<hkern g1="egrave" g2="Aring" k="92" />
+<hkern g1="egrave" g2="AE" k="95" />
+<hkern g1="egrave" g2="Yacute" k="209" />
+<hkern g1="egrave" g2="icircumflex" k="58" />
+<hkern g1="egrave" g2="idieresis" k="65" />
+<hkern g1="egrave" g2="yacute" k="61" />
+<hkern g1="egrave" g2="ydieresis" k="61" />
+<hkern g1="eacute" g2="A" k="92" />
+<hkern g1="eacute" g2="S" k="120" />
+<hkern g1="eacute" g2="T" k="129" />
+<hkern g1="eacute" g2="V" k="172" />
+<hkern g1="eacute" g2="W" k="160" />
+<hkern g1="eacute" g2="X" k="122" />
+<hkern g1="eacute" g2="Y" k="122" />
+<hkern g1="eacute" g2="Z" k="123" />
+<hkern g1="eacute" g2="f" k="58" />
+<hkern g1="eacute" g2="j" k="185" />
+<hkern g1="eacute" g2="t" k="90" />
+<hkern g1="eacute" g2="v" k="62" />
+<hkern g1="eacute" g2="x" k="93" />
+<hkern g1="eacute" g2="y" k="61" />
+<hkern g1="eacute" g2="z" k="93" />
+<hkern g1="eacute" g2="Agrave" k="92" />
+<hkern g1="eacute" g2="Aacute" k="92" />
+<hkern g1="eacute" g2="Acircumflex" k="92" />
+<hkern g1="eacute" g2="Atilde" k="92" />
+<hkern g1="eacute" g2="Adieresis" k="92" />
+<hkern g1="eacute" g2="Aring" k="92" />
+<hkern g1="eacute" g2="AE" k="95" />
+<hkern g1="eacute" g2="Yacute" k="106" />
+<hkern g1="eacute" g2="icircumflex" k="58" />
+<hkern g1="eacute" g2="idieresis" k="65" />
+<hkern g1="eacute" g2="yacute" k="61" />
+<hkern g1="eacute" g2="ydieresis" k="61" />
+<hkern g1="ecircumflex" g2="A" k="92" />
+<hkern g1="ecircumflex" g2="S" k="120" />
+<hkern g1="ecircumflex" g2="T" k="203" />
+<hkern g1="ecircumflex" g2="V" k="100" />
+<hkern g1="ecircumflex" g2="W" k="160" />
+<hkern g1="ecircumflex" g2="X" k="122" />
+<hkern g1="ecircumflex" g2="Y" k="164" />
+<hkern g1="ecircumflex" g2="Z" k="123" />
+<hkern g1="ecircumflex" g2="f" k="58" />
+<hkern g1="ecircumflex" g2="j" k="195" />
+<hkern g1="ecircumflex" g2="t" k="90" />
+<hkern g1="ecircumflex" g2="v" k="62" />
+<hkern g1="ecircumflex" g2="x" k="93" />
+<hkern g1="ecircumflex" g2="y" k="61" />
+<hkern g1="ecircumflex" g2="z" k="93" />
+<hkern g1="ecircumflex" g2="Agrave" k="92" />
+<hkern g1="ecircumflex" g2="Aacute" k="92" />
+<hkern g1="ecircumflex" g2="Acircumflex" k="92" />
+<hkern g1="ecircumflex" g2="Atilde" k="92" />
+<hkern g1="ecircumflex" g2="Adieresis" k="92" />
+<hkern g1="ecircumflex" g2="Aring" k="92" />
+<hkern g1="ecircumflex" g2="AE" k="95" />
+<hkern g1="ecircumflex" g2="Yacute" k="164" />
+<hkern g1="ecircumflex" g2="yacute" k="61" />
+<hkern g1="ecircumflex" g2="ydieresis" k="61" />
+<hkern g1="edieresis" g2="A" k="92" />
+<hkern g1="edieresis" g2="S" k="120" />
+<hkern g1="edieresis" g2="T" k="190" />
+<hkern g1="edieresis" g2="V" k="109" />
+<hkern g1="edieresis" g2="W" k="160" />
+<hkern g1="edieresis" g2="X" k="122" />
+<hkern g1="edieresis" g2="Y" k="142" />
+<hkern g1="edieresis" g2="Z" k="123" />
+<hkern g1="edieresis" g2="f" k="58" />
+<hkern g1="edieresis" g2="j" k="189" />
+<hkern g1="edieresis" g2="t" k="90" />
+<hkern g1="edieresis" g2="v" k="62" />
+<hkern g1="edieresis" g2="x" k="93" />
+<hkern g1="edieresis" g2="y" k="61" />
+<hkern g1="edieresis" g2="z" k="93" />
+<hkern g1="edieresis" g2="Agrave" k="92" />
+<hkern g1="edieresis" g2="Aacute" k="92" />
+<hkern g1="edieresis" g2="Acircumflex" k="92" />
+<hkern g1="edieresis" g2="Atilde" k="92" />
+<hkern g1="edieresis" g2="Adieresis" k="92" />
+<hkern g1="edieresis" g2="Aring" k="92" />
+<hkern g1="edieresis" g2="AE" k="95" />
+<hkern g1="edieresis" g2="Yacute" k="88" />
+<hkern g1="edieresis" g2="yacute" k="61" />
+<hkern g1="edieresis" g2="ydieresis" k="61" />
+<hkern g1="igrave" g2="T" k="40" />
+<hkern g1="igrave" g2="j" k="264" />
+<hkern g1="igrave" g2="dotlessi" k="46" />
+<hkern g1="iacute" g2="j" k="224" />
+<hkern g1="iacute" g2="dotlessi" k="49" />
+<hkern g1="icircumflex" g2="j" k="173" />
+<hkern g1="icircumflex" g2="dotlessi" k="44" />
+<hkern g1="idieresis" g2="A" k="40" />
+<hkern g1="idieresis" g2="T" k="-19" />
+<hkern g1="idieresis" g2="a" k="43" />
+<hkern g1="idieresis" g2="c" k="41" />
+<hkern g1="idieresis" g2="d" k="43" />
+<hkern g1="idieresis" g2="e" k="43" />
+<hkern g1="idieresis" g2="g" k="43" />
+<hkern g1="idieresis" g2="j" k="182" />
+<hkern g1="idieresis" g2="m" k="49" />
+<hkern g1="idieresis" g2="n" k="42" />
+<hkern g1="idieresis" g2="o" k="43" />
+<hkern g1="idieresis" g2="p" k="43" />
+<hkern g1="idieresis" g2="q" k="43" />
+<hkern g1="idieresis" g2="s" k="40" />
+<hkern g1="idieresis" g2="u" k="42" />
+<hkern g1="idieresis" g2="v" k="42" />
+<hkern g1="idieresis" g2="w" k="47" />
+<hkern g1="idieresis" g2="x" k="41" />
+<hkern g1="idieresis" g2="y" k="41" />
+<hkern g1="idieresis" g2="z" k="41" />
+<hkern g1="idieresis" g2="Agrave" k="40" />
+<hkern g1="idieresis" g2="Aacute" k="40" />
+<hkern g1="idieresis" g2="Acircumflex" k="40" />
+<hkern g1="idieresis" g2="Atilde" k="40" />
+<hkern g1="idieresis" g2="Adieresis" k="40" />
+<hkern g1="idieresis" g2="Aring" k="40" />
+<hkern g1="idieresis" g2="AE" k="43" />
+<hkern g1="idieresis" g2="agrave" k="43" />
+<hkern g1="idieresis" g2="aacute" k="43" />
+<hkern g1="idieresis" g2="aring" k="43" />
+<hkern g1="idieresis" g2="ae" k="55" />
+<hkern g1="idieresis" g2="ccedilla" k="41" />
+<hkern g1="idieresis" g2="egrave" k="43" />
+<hkern g1="idieresis" g2="eacute" k="43" />
+<hkern g1="idieresis" g2="ograve" k="43" />
+<hkern g1="idieresis" g2="oacute" k="43" />
+<hkern g1="idieresis" g2="oslash" k="43" />
+<hkern g1="idieresis" g2="ugrave" k="42" />
+<hkern g1="idieresis" g2="uacute" k="42" />
+<hkern g1="idieresis" g2="yacute" k="41" />
+<hkern g1="idieresis" g2="dotlessi" k="109" />
+<hkern g1="eth" g2="T" k="133" />
+<hkern g1="eth" g2="V" k="133" />
+<hkern g1="eth" g2="W" k="107" />
+<hkern g1="eth" g2="X" k="101" />
+<hkern g1="eth" g2="Y" k="132" />
+<hkern g1="eth" g2="Z" k="102" />
+<hkern g1="eth" g2="j" k="200" />
+<hkern g1="eth" g2="t" k="68" />
+<hkern g1="eth" g2="x" k="71" />
+<hkern g1="eth" g2="y" k="40" />
+<hkern g1="eth" g2="z" k="71" />
+<hkern g1="eth" g2="AE" k="42" />
+<hkern g1="eth" g2="Yacute" k="132" />
+<hkern g1="eth" g2="idieresis" k="44" />
+<hkern g1="eth" g2="yacute" k="40" />
+<hkern g1="eth" g2="ydieresis" k="40" />
+<hkern g1="ntilde" g2="T" k="76" />
+<hkern g1="ntilde" g2="V" k="76" />
+<hkern g1="ntilde" g2="W" k="49" />
+<hkern g1="ntilde" g2="Y" k="75" />
+<hkern g1="ntilde" g2="f" k="42" />
+<hkern g1="ntilde" g2="j" k="190" />
+<hkern g1="ntilde" g2="t" k="74" />
+<hkern g1="ntilde" g2="v" k="46" />
+<hkern g1="ntilde" g2="y" k="45" />
+<hkern g1="ntilde" g2="Yacute" k="75" />
+<hkern g1="ntilde" g2="yacute" k="45" />
+<hkern g1="ntilde" g2="ydieresis" k="45" />
+<hkern g1="ograve" g2="A" k="60" />
+<hkern g1="ograve" g2="T" k="115" />
+<hkern g1="ograve" g2="V" k="172" />
+<hkern g1="ograve" g2="W" k="160" />
+<hkern g1="ograve" g2="X" k="122" />
+<hkern g1="ograve" g2="Y" k="169" />
+<hkern g1="ograve" g2="Z" k="123" />
+<hkern g1="ograve" g2="f" k="58" />
+<hkern g1="ograve" g2="j" k="239" />
+<hkern g1="ograve" g2="t" k="90" />
+<hkern g1="ograve" g2="v" k="62" />
+<hkern g1="ograve" g2="x" k="93" />
+<hkern g1="ograve" g2="y" k="61" />
+<hkern g1="ograve" g2="z" k="93" />
+<hkern g1="ograve" g2="Agrave" k="60" />
+<hkern g1="ograve" g2="Aacute" k="60" />
+<hkern g1="ograve" g2="Acircumflex" k="60" />
+<hkern g1="ograve" g2="Atilde" k="60" />
+<hkern g1="ograve" g2="Adieresis" k="60" />
+<hkern g1="ograve" g2="Aring" k="60" />
+<hkern g1="ograve" g2="AE" k="63" />
+<hkern g1="ograve" g2="Yacute" k="169" />
+<hkern g1="ograve" g2="icircumflex" k="58" />
+<hkern g1="ograve" g2="idieresis" k="65" />
+<hkern g1="ograve" g2="yacute" k="61" />
+<hkern g1="ograve" g2="ydieresis" k="61" />
+<hkern g1="oacute" g2="A" k="60" />
+<hkern g1="oacute" g2="T" k="114" />
+<hkern g1="oacute" g2="V" k="172" />
+<hkern g1="oacute" g2="W" k="160" />
+<hkern g1="oacute" g2="X" k="122" />
+<hkern g1="oacute" g2="Y" k="160" />
+<hkern g1="oacute" g2="Z" k="123" />
+<hkern g1="oacute" g2="f" k="58" />
+<hkern g1="oacute" g2="j" k="216" />
+<hkern g1="oacute" g2="t" k="90" />
+<hkern g1="oacute" g2="v" k="62" />
+<hkern g1="oacute" g2="x" k="93" />
+<hkern g1="oacute" g2="y" k="61" />
+<hkern g1="oacute" g2="z" k="93" />
+<hkern g1="oacute" g2="Agrave" k="60" />
+<hkern g1="oacute" g2="Aacute" k="60" />
+<hkern g1="oacute" g2="Acircumflex" k="60" />
+<hkern g1="oacute" g2="Atilde" k="60" />
+<hkern g1="oacute" g2="Adieresis" k="60" />
+<hkern g1="oacute" g2="Aring" k="60" />
+<hkern g1="oacute" g2="AE" k="63" />
+<hkern g1="oacute" g2="Yacute" k="106" />
+<hkern g1="oacute" g2="icircumflex" k="58" />
+<hkern g1="oacute" g2="idieresis" k="65" />
+<hkern g1="oacute" g2="yacute" k="61" />
+<hkern g1="oacute" g2="ydieresis" k="61" />
+<hkern g1="ocircumflex" g2="A" k="60" />
+<hkern g1="ocircumflex" g2="T" k="169" />
+<hkern g1="ocircumflex" g2="V" k="141" />
+<hkern g1="ocircumflex" g2="W" k="160" />
+<hkern g1="ocircumflex" g2="X" k="122" />
+<hkern g1="ocircumflex" g2="Y" k="138" />
+<hkern g1="ocircumflex" g2="Z" k="123" />
+<hkern g1="ocircumflex" g2="f" k="58" />
+<hkern g1="ocircumflex" g2="j" k="224" />
+<hkern g1="ocircumflex" g2="t" k="90" />
+<hkern g1="ocircumflex" g2="v" k="62" />
+<hkern g1="ocircumflex" g2="x" k="93" />
+<hkern g1="ocircumflex" g2="y" k="61" />
+<hkern g1="ocircumflex" g2="z" k="93" />
+<hkern g1="ocircumflex" g2="Agrave" k="60" />
+<hkern g1="ocircumflex" g2="Aacute" k="60" />
+<hkern g1="ocircumflex" g2="Acircumflex" k="60" />
+<hkern g1="ocircumflex" g2="Atilde" k="60" />
+<hkern g1="ocircumflex" g2="Adieresis" k="60" />
+<hkern g1="ocircumflex" g2="Aring" k="60" />
+<hkern g1="ocircumflex" g2="AE" k="63" />
+<hkern g1="ocircumflex" g2="Yacute" k="138" />
+<hkern g1="ocircumflex" g2="yacute" k="61" />
+<hkern g1="ocircumflex" g2="ydieresis" k="61" />
+<hkern g1="otilde" g2="A" k="60" />
+<hkern g1="otilde" g2="T" k="83" />
+<hkern g1="otilde" g2="V" k="123" />
+<hkern g1="otilde" g2="W" k="97" />
+<hkern g1="otilde" g2="X" k="122" />
+<hkern g1="otilde" g2="Y" k="122" />
+<hkern g1="otilde" g2="Z" k="123" />
+<hkern g1="otilde" g2="f" k="58" />
+<hkern g1="otilde" g2="j" k="192" />
+<hkern g1="otilde" g2="t" k="90" />
+<hkern g1="otilde" g2="v" k="62" />
+<hkern g1="otilde" g2="x" k="93" />
+<hkern g1="otilde" g2="y" k="61" />
+<hkern g1="otilde" g2="z" k="93" />
+<hkern g1="otilde" g2="Agrave" k="60" />
+<hkern g1="otilde" g2="Aacute" k="60" />
+<hkern g1="otilde" g2="Acircumflex" k="60" />
+<hkern g1="otilde" g2="Atilde" k="60" />
+<hkern g1="otilde" g2="Adieresis" k="60" />
+<hkern g1="otilde" g2="Aring" k="60" />
+<hkern g1="otilde" g2="AE" k="63" />
+<hkern g1="otilde" g2="Yacute" k="122" />
+<hkern g1="otilde" g2="yacute" k="61" />
+<hkern g1="otilde" g2="ydieresis" k="61" />
+<hkern g1="odieresis" g2="A" k="60" />
+<hkern g1="odieresis" g2="T" k="228" />
+<hkern g1="odieresis" g2="V" k="109" />
+<hkern g1="odieresis" g2="W" k="160" />
+<hkern g1="odieresis" g2="X" k="122" />
+<hkern g1="odieresis" g2="Y" k="133" />
+<hkern g1="odieresis" g2="Z" k="123" />
+<hkern g1="odieresis" g2="f" k="58" />
+<hkern g1="odieresis" g2="j" k="227" />
+<hkern g1="odieresis" g2="t" k="90" />
+<hkern g1="odieresis" g2="v" k="62" />
+<hkern g1="odieresis" g2="x" k="93" />
+<hkern g1="odieresis" g2="y" k="61" />
+<hkern g1="odieresis" g2="z" k="93" />
+<hkern g1="odieresis" g2="Agrave" k="60" />
+<hkern g1="odieresis" g2="Aacute" k="60" />
+<hkern g1="odieresis" g2="Acircumflex" k="60" />
+<hkern g1="odieresis" g2="Atilde" k="60" />
+<hkern g1="odieresis" g2="Adieresis" k="60" />
+<hkern g1="odieresis" g2="Aring" k="60" />
+<hkern g1="odieresis" g2="AE" k="63" />
+<hkern g1="odieresis" g2="Yacute" k="118" />
+<hkern g1="odieresis" g2="yacute" k="61" />
+<hkern g1="odieresis" g2="ydieresis" k="61" />
+<hkern g1="oslash" g2="A" k="60" />
+<hkern g1="oslash" g2="T" k="163" />
+<hkern g1="oslash" g2="V" k="123" />
+<hkern g1="oslash" g2="X" k="122" />
+<hkern g1="oslash" g2="Y" k="141" />
+<hkern g1="oslash" g2="Z" k="123" />
+<hkern g1="oslash" g2="j" k="186" />
+<hkern g1="oslash" g2="Agrave" k="60" />
+<hkern g1="oslash" g2="Aacute" k="60" />
+<hkern g1="oslash" g2="Acircumflex" k="60" />
+<hkern g1="oslash" g2="Atilde" k="60" />
+<hkern g1="oslash" g2="Adieresis" k="60" />
+<hkern g1="oslash" g2="Aring" k="60" />
+<hkern g1="oslash" g2="AE" k="63" />
+<hkern g1="oslash" g2="Yacute" k="141" />
+<hkern g1="oslash" g2="icircumflex" k="58" />
+<hkern g1="oslash" g2="idieresis" k="65" />
+<hkern g1="ugrave" g2="T" k="192" />
+<hkern g1="ugrave" g2="V" k="107" />
+<hkern g1="ugrave" g2="W" k="49" />
+<hkern g1="ugrave" g2="Y" k="97" />
+<hkern g1="ugrave" g2="j" k="199" />
+<hkern g1="ugrave" g2="Yacute" k="97" />
+<hkern g1="ugrave" g2="icircumflex" k="42" />
+<hkern g1="ugrave" g2="idieresis" k="49" />
+<hkern g1="uacute" g2="T" k="93" />
+<hkern g1="uacute" g2="V" k="107" />
+<hkern g1="uacute" g2="W" k="49" />
+<hkern g1="uacute" g2="Y" k="62" />
+<hkern g1="uacute" g2="j" k="195" />
+<hkern g1="uacute" g2="Yacute" k="62" />
+<hkern g1="uacute" g2="icircumflex" k="42" />
+<hkern g1="uacute" g2="idieresis" k="49" />
+<hkern g1="ucircumflex" g2="T" k="134" />
+<hkern g1="ucircumflex" g2="V" k="107" />
+<hkern g1="ucircumflex" g2="W" k="49" />
+<hkern g1="ucircumflex" g2="Y" k="71" />
+<hkern g1="ucircumflex" g2="j" k="204" />
+<hkern g1="ucircumflex" g2="Yacute" k="71" />
+<hkern g1="udieresis" g2="T" k="216" />
+<hkern g1="udieresis" g2="V" k="107" />
+<hkern g1="udieresis" g2="W" k="49" />
+<hkern g1="udieresis" g2="Y" k="97" />
+<hkern g1="udieresis" g2="j" k="222" />
+<hkern g1="udieresis" g2="Yacute" k="97" />
+<hkern g1="yacute" g2="A" k="132" />
+<hkern g1="yacute" g2="J" k="88" />
+<hkern g1="yacute" g2="T" k="91" />
+<hkern g1="yacute" g2="V" k="91" />
+<hkern g1="yacute" g2="X" k="90" />
+<hkern g1="yacute" g2="Y" k="90" />
+<hkern g1="yacute" g2="Z" k="91" />
+<hkern g1="yacute" g2="j" k="226" />
+<hkern g1="yacute" g2="Agrave" k="139" />
+<hkern g1="yacute" g2="Aacute" k="116" />
+<hkern g1="yacute" g2="Acircumflex" k="124" />
+<hkern g1="yacute" g2="Atilde" k="116" />
+<hkern g1="yacute" g2="Adieresis" k="116" />
+<hkern g1="yacute" g2="Aring" k="124" />
+<hkern g1="yacute" g2="AE" k="125" />
+<hkern g1="yacute" g2="Yacute" k="90" />
+<hkern g1="thorn" g2="A" k="60" />
+<hkern g1="thorn" g2="T" k="251" />
+<hkern g1="thorn" g2="V" k="172" />
+<hkern g1="thorn" g2="W" k="160" />
+<hkern g1="thorn" g2="X" k="122" />
+<hkern g1="thorn" g2="Y" k="258" />
+<hkern g1="thorn" g2="Z" k="123" />
+<hkern g1="thorn" g2="f" k="58" />
+<hkern g1="thorn" g2="j" k="250" />
+<hkern g1="thorn" g2="t" k="90" />
+<hkern g1="thorn" g2="v" k="62" />
+<hkern g1="thorn" g2="x" k="93" />
+<hkern g1="thorn" g2="y" k="61" />
+<hkern g1="thorn" g2="z" k="93" />
+<hkern g1="thorn" g2="Agrave" k="60" />
+<hkern g1="thorn" g2="Aacute" k="60" />
+<hkern g1="thorn" g2="Acircumflex" k="60" />
+<hkern g1="thorn" g2="Atilde" k="60" />
+<hkern g1="thorn" g2="Adieresis" k="60" />
+<hkern g1="thorn" g2="Aring" k="60" />
+<hkern g1="thorn" g2="AE" k="63" />
+<hkern g1="thorn" g2="Yacute" k="243" />
+<hkern g1="thorn" g2="icircumflex" k="58" />
+<hkern g1="thorn" g2="idieresis" k="65" />
+<hkern g1="thorn" g2="yacute" k="61" />
+<hkern g1="thorn" g2="ydieresis" k="61" />
+<hkern g1="ydieresis" g2="A" k="125" />
+<hkern g1="ydieresis" g2="J" k="88" />
+<hkern g1="ydieresis" g2="T" k="166" />
+<hkern g1="ydieresis" g2="V" k="60" />
+<hkern g1="ydieresis" g2="X" k="55" />
+<hkern g1="ydieresis" g2="Y" k="63" />
+<hkern g1="ydieresis" g2="Z" k="133" />
+<hkern g1="ydieresis" g2="j" k="227" />
+<hkern g1="ydieresis" g2="Agrave" k="117" />
+<hkern g1="ydieresis" g2="Aacute" k="102" />
+<hkern g1="ydieresis" g2="Acircumflex" k="125" />
+<hkern g1="ydieresis" g2="Atilde" k="117" />
+<hkern g1="ydieresis" g2="Adieresis" k="125" />
+<hkern g1="ydieresis" g2="Aring" k="94" />
+<hkern g1="ydieresis" g2="AE" k="141" />
+<hkern g1="ydieresis" g2="Yacute" k="86" />
+<hkern g1="dotlessi" g2="I" k="51" />
+<hkern g1="dotlessi" g2="T" k="427" />
+<hkern g1="dotlessi" g2="V" k="80" />
+<hkern g1="dotlessi" g2="W" k="81" />
+<hkern g1="dotlessi" g2="Y" k="206" />
+<hkern g1="dotlessi" g2="i" k="63" />
+<hkern g1="dotlessi" g2="j" k="252" />
+<hkern g1="dotlessi" g2="Igrave" k="60" />
+<hkern g1="dotlessi" g2="Iacute" k="66" />
+<hkern g1="dotlessi" g2="Icircumflex" k="73" />
+<hkern g1="dotlessi" g2="Idieresis" k="52" />
+<hkern g1="dotlessi" g2="Yacute" k="206" />
+<hkern g1="dotlessi" g2="igrave" k="55" />
+<hkern g1="dotlessi" g2="iacute" k="52" />
+<hkern g1="dotlessi" g2="icircumflex" k="106" />
+<hkern g1="dotlessi" g2="idieresis" k="113" />
+<hkern g1="dotlessi" g2="dotlessi" k="51" />
+</font>
+</defs>
+</svg>
diff --git a/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.ttf b/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.ttf
new file mode 100644
index 0000000..adcddfe
Binary files /dev/null and b/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.ttf differ
diff --git a/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.woff b/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.woff
new file mode 100644
index 0000000..6887a69
Binary files /dev/null and b/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.woff differ
diff --git a/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.woff2 b/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.woff2
new file mode 100644
index 0000000..5825d54
Binary files /dev/null and b/hubs/static/css/fonts/Comfortaa-300/Comfortaa-300.woff2 differ
diff --git a/hubs/static/css/fonts/Comfortaa-300/LICENSE.txt b/hubs/static/css/fonts/Comfortaa-300/LICENSE.txt
new file mode 100644
index 0000000..e0bfe25
--- /dev/null
+++ b/hubs/static/css/fonts/Comfortaa-300/LICENSE.txt
@@ -0,0 +1,94 @@
+Copyright (c) 2010, 2011 Johan Aakerlund (aajohan@gmail.com),
+with Reserved Font Name "Comfortaa".
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.eot b/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.eot
new file mode 100644
index 0000000..2c48526
Binary files /dev/null and b/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.eot differ
diff --git a/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.svg b/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.svg
new file mode 100644
index 0000000..9ca007a
--- /dev/null
+++ b/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.svg
@@ -0,0 +1,2651 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs >
+<font id="Comfortaa" horiz-adv-x="1003" ><font-face
+    font-family="Comfortaa"
+    units-per-em="2048"
+    panose-1="2 15 8 3 7 2 0 6 0 3"
+    ascent="2080"
+    descent="-481"
+    alphabetic="0" />
+<glyph unicode=" " glyph-name="space" horiz-adv-x="560" />
+<glyph unicode="!" glyph-name="exclam" horiz-adv-x="400" d="M353 142Q353 112 342 86T311 41T265 11T211 0Q182 0 157 11T112 41T81 86T69 142Q69 171 80 197T110 242T156 273T211 285Q240 285 266 274T311 243T342 197T353 142ZM107 1494Q107 1538 136 1568T211
+1599Q256 1599 285 1569T315 1494V450Q315 429 307 410T284 377T251 355T211 347Q189 347 170 355T137 378T115 410T107 450V1494Z" />
+<glyph unicode="&quot;" glyph-name="quotedbl" horiz-adv-x="560" d="M269 1494L250 1208Q249 1173 225 1149T165 1124Q130 1124 106 1148T80 1208L61 1494Q61 1515 69 1534T91 1567T125 1590T165 1598Q186 1598 205 1590T238 1568T261 1534T269 1494ZM516 1495L497
+1209Q496 1174 472 1150T412 1125Q377 1125 353 1149T327 1209L308 1495Q308 1516 316 1535T338 1568T372 1591T412 1599Q433 1599 452 1591T485 1569T508 1535T516 1495Z" />
+<glyph unicode="#" glyph-name="numbersign" horiz-adv-x="1280" d="M426 102Q422 80 411 62T383 30T347 8T306 0Q263 0 238 27T212 95Q212 103 213 111L276 464H157Q138 464 121 470T91 489T70 518T63 555L64 574Q67 596 78 614T106 646T143 667T184 675H313L357
+926H238Q197 926 170 952T143 1018Q143 1042 153 1064T180 1102T219 1128T265 1138H394L458 1500Q462 1522 473 1540T501 1572T537 1594T578 1602Q621 1602 646 1574T672 1505Q672 1495 671 1490L609 1138H781L845 1500Q848 1522 859 1540T886 1572T922 1594T964
+1602Q1006 1602 1032 1574T1058 1505Q1058 1495 1057 1490L995 1138H1115Q1133 1138 1150 1132T1180 1113T1200 1084T1208 1047L1207 1028Q1204 1006 1193 988T1165 956T1128 934T1087 926H958L913 675H1033Q1074 675 1100 649T1127 583Q1127 559 1117 537T1090
+499T1051 474T1005 464H876L812 102Q808 80 797 62T770 30T734 8T692 0Q652 0 625 26T598 91Q598 101 600 111L662 464H490L426 102ZM571 926L528 675H698L743 926H571Z" />
+<glyph unicode="$" glyph-name="dollar" horiz-adv-x="1060" d="M457 1337Q361 1275 361 1167Q361 1117 386 1069T457 995V1337ZM665 261Q695 285 717 308T752 358T772 416T779 488Q779 551 751 611T665 709V261ZM457 -47V3Q348 14 254 70T98 218Q77 245 77 282Q77
+327 106 356T181 386Q205 386 223 375T260 347T296 310T337 270T389 236T457 214V770Q392 787 336 824T239 914T175 1030T152 1163Q152 1233 174 1297T236 1413T332 1504T457 1561V1623Q457 1668 486 1697T561 1727Q606 1727 635 1698T665 1623V1560Q701 1551 737
+1534T805 1494T864 1440T911 1375Q918 1362 922 1349T926 1319Q926 1274 897 1245T822 1215Q793 1215 775 1227T741 1257T708 1296T665 1336V942Q735 917 794 872T897 767T964 637T988 491Q988 413 966 341T901 209T800 101T665 27V-47Q665 -68 657 -87T635 -120T601
+-143T561 -151Q539 -151 520 -143T487 -121T465 -87T457 -47Z" />
+<glyph unicode="%" glyph-name="percent" horiz-adv-x="1760" d="M872 1190Q872 1107 840 1033T753 903T623 815T464 782Q380 782 306 814T176 903T88 1033T56 1190Q56 1273 88 1347T175 1478T305 1566T464 1599Q548 1599 622 1567T752 1478T840 1348T872 1190ZM889
+408Q889 491 921 565T1008 695T1138 783T1297 816Q1380 816 1454 784T1584 697T1672 568T1705 408Q1705 323 1673 249T1585 120T1455 32T1297 0Q1213 0 1139 32T1010 120T922 250T889 408ZM464 1390Q422 1390 386 1374T323 1331T281 1267T265 1190Q265 1149 280
+1113T322 1050T385 1007T464 991Q505 991 541 1007T605 1050T647 1113T663 1190Q663 1230 647 1266T604 1330T541 1374T464 1390ZM1297 607Q1256 607 1220 592T1156 549T1114 486T1098 408Q1098 367 1113 331T1156 267T1219 225T1297 209Q1338 209 1374 225T1438
+268T1481 331T1497 408Q1497 449 1481 485T1438 548T1375 591T1297 607ZM342 0Q320 0 301 8T268 30T246 64T238 104Q238 147 263 175L1340 1558Q1376 1600 1424 1600Q1446 1600 1465 1592T1498 1569T1520 1536T1529 1495Q1529 1459 1508 1432L420 33Q390 0 342
+0Z" />
+<glyph unicode="&amp;" glyph-name="ampersand" horiz-adv-x="1440" d="M510 1007L605 1082Q645 1115 667 1151T689 1225Q689 1259 676 1289T640 1341T588 1377T525 1390Q491 1390 461 1377T409 1341T375 1288T362 1225Q362 1157 408 1110L510 1007ZM810 407L489
+729L399 660Q344 614 314 568T284 473Q284 413 303 365T355 283T432 231T525 212Q624 212 695 282L810 407ZM659 859L955 560L1106 722Q1120 737 1140 744T1181 752Q1226 752 1257 722T1288 646Q1288 625 1281 608T1260 574L1106 409L1334 179Q1365 148 1365 106Q1365
+84 1357 65T1334 31T1300 8T1258 0Q1216 0 1184 28L960 254L846 133Q712 0 525 0Q433 0 351 35T206 133T108 283T72 473Q72 568 119 653T265 815L342 875L258 959H259Q149 1071 149 1225Q149 1302 179 1371T261 1491T381 1572T525 1602Q603 1602 671 1572T790 1490T871
+1370T901 1225Q901 1058 750 927L659 859Z" />
+<glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="320" d="M269 1494L250 1208Q249 1173 225 1149T165 1124Q130 1124 106 1148T80 1208L61 1494Q61 1515 69 1534T91 1567T125 1590T165 1598Q186 1598 205 1590T238 1568T261 1534T269 1494Z" />
+<glyph unicode="(" glyph-name="parenleft" horiz-adv-x="560" d="M303 1525Q319 1560 345 1578T402 1597Q424 1597 443 1589T476 1565T498 1531T506 1489Q503 1455 491 1436Q277 998 277 560Q277 343 333 120T493 -321Q499 -334 502 -346T506 -373Q506 -418 477
+-449T402 -480Q370 -480 346 -464T304 -409Q71 74 71 561Q71 1049 303 1525Z" />
+<glyph unicode=")" glyph-name="parenright" horiz-adv-x="560" d="M506 561Q506 315 448 75T273 -409Q255 -447 231 -463T175 -480Q130 -480 101 -449T71 -373Q71 -358 74 -346T84 -321Q188 -104 244 119T300 560Q300 998 86 1436Q74 1455 71 1489Q71 1511 79
+1530T101 1565T134 1588T175 1597Q207 1597 232 1579T274 1525Q390 1284 447 1045T506 561Z" />
+<glyph unicode="*" glyph-name="asterisk" horiz-adv-x="780" d="M283 1233L180 1237Q138 1242 108 1270T78 1342Q78 1366 87 1385T112 1417T145 1438T182 1446Q199 1447 216 1441T247 1424L327 1366L298 1460Q293 1478 293 1494Q293 1538 322 1568T397 1599Q442
+1599 471 1569T501 1494Q501 1478 496 1460L467 1364L547 1424Q577 1446 612 1446Q631 1446 649 1439T683 1417T707 1384T717 1341Q717 1322 710 1304T690 1272T658 1248T616 1237L512 1232L595 1174Q643 1139 643 1087Q643 1045 613 1015T524 984Q493 987 473
+1005T440 1055L398 1158L356 1053Q345 1018 319 1001T256 983Q232 983 213 992T180 1015T159 1048T152 1087Q151 1113 164 1135T200 1174L283 1233Z" />
+<glyph unicode="+" glyph-name="plus" horiz-adv-x="1120" d="M941 683H666V408Q666 363 637 334T562 304Q517 304 487 333T457 408V683H182Q137 683 108 713T78 788Q78 833 107 862T182 892H457V1167Q457 1210 487 1241T562 1272Q607 1272 636 1242T666 1167V892H941Q984
+892 1015 862T1046 787Q1046 744 1015 714T941 683Z" />
+<glyph unicode="," glyph-name="comma" horiz-adv-x="400" d="M353 142Q353 86 343 21T312 -99T261 -191T192 -228Q156 -228 132 -203T107 -142Q107 -111 129 -87T151 -36Q151 0 110 42Q69 83 69 142Q69 201 110 242T211 284Q270 284 311 243T353 142Z" />
+<glyph unicode="-" glyph-name="hyphen" horiz-adv-x="800" d="M178 456Q133 456 104 485T74 560Q74 605 103 634T178 664H634Q679 664 708 635T738 560Q738 515 709 486T634 456H178Z" />
+<glyph unicode="." glyph-name="period" horiz-adv-x="400" d="M343 142Q343 83 302 42T201 0Q142 0 101 41T59 142Q59 201 100 242T201 284Q260 284 301 243T343 142Z" />
+<glyph unicode="/" glyph-name="slash" horiz-adv-x="960" d="M893 1452L276 -90Q239 -152 180 -152Q135 -152 106 -122T76 -47Q76 -27 85 -4L702 1538Q710 1555 725 1570Q755 1600 798 1600Q841 1600 871 1570T902 1496Q902 1472 893 1452Z" />
+<glyph unicode="0" glyph-name="zero" horiz-adv-x="1120" d="M78 801Q78 990 111 1138T206 1390T359 1547T567 1602Q684 1602 775 1547T928 1388T1023 1136T1056 801Q1056 615 1024 467T929 215T775 56T567 0Q450 0 359 54T206 211T111 463T78 801ZM567 1390Q497
+1390 445 1345T358 1222T306 1036T289 801Q289 673 306 565T358 378T445 256T567 212Q638 212 690 257T777 380T828 567T845 801Q845 926 828 1034T776 1221T690 1345T567 1390Z" />
+<glyph unicode="1" glyph-name="one" horiz-adv-x="560" d="M288 104V1349Q258 1339 225 1327T165 1314Q120 1314 91 1343T61 1418Q61 1450 77 1475T128 1516L357 1592Q375 1599 393 1599Q438 1599 467 1569T497 1494V104Q497 61 467 31T392 0Q349 0 319 30T288 104Z" />
+<glyph unicode="2" glyph-name="two" horiz-adv-x="1120" d="M78 1115Q78 1215 116 1303T221 1457T375 1561T562 1599Q661 1599 749 1560T903 1455T1007 1301T1046 1115Q1046 1015 1010 929T904 773L418 209H941Q985 209 1015 178T1046 104Q1046 61 1016 31T941
+0H182Q160 0 141 8T108 30T86 64T78 104Q78 149 107 178L755 918Q837 1000 837 1115Q837 1171 815 1221T756 1308T668 1368T562 1390Q505 1390 455 1369T368 1310T309 1223T287 1115Q287 1072 257 1042T182 1011Q139 1011 109 1041T78 1115Z" />
+<glyph unicode="3" glyph-name="three" horiz-adv-x="1120" d="M154 1186Q154 1273 186 1348T274 1480T404 1569T562 1602Q646 1602 720 1569T849 1479T937 1347T970 1186Q970 1020 847 891Q1046 732 1046 492Q1046 391 1008 302T904 145T750 39T562 0Q462 0 374
+38T220 144T116 300T78 492Q78 538 107 568T182 598Q226 598 256 568T287 492Q287 433 308 382T367 294T454 234T562 212Q619 212 669 234T757 295T815 384T837 492Q837 549 816 600T757 689T670 749T562 772Q517 772 487 802T457 878Q457 924 487 954T562 984Q602
+984 638 1000T702 1043T745 1108T761 1186Q761 1228 745 1265T702 1329T638 1373T562 1390Q521 1390 485 1374T421 1330T378 1265T363 1186Q363 1143 333 1112T258 1081Q215 1081 185 1112T154 1186Z" />
+<glyph unicode="4" glyph-name="four" horiz-adv-x="1280" d="M763 611V1160L384 611H763ZM763 104V403H184Q139 403 110 432T80 507Q80 542 100 568L782 1555Q796 1575 818 1587T868 1599Q889 1599 908 1591T941 1568T964 1535T972 1494V611H1095Q1139 611 1169
+582T1200 507Q1200 462 1170 433T1095 403H972V104Q972 61 942 31T867 0Q824 0 794 30T763 104Z" />
+<glyph unicode="5" glyph-name="five" horiz-adv-x="1200" d="M942 1390H363V1044H601Q706 1044 800 1003T967 892T1081 726T1123 522Q1123 415 1082 320T969 154T803 42T601 0Q494 0 399 41T233 154T121 320T79 522Q79 567 108 596T183 626Q227 626 257 597T288
+522Q288 457 312 400T379 301T479 234T601 209Q665 209 722 233T822 301T889 400T914 522Q914 586 889 643T822 742T722 810T601 835H259Q214 835 185 865T155 940V1494Q155 1538 184 1568T259 1599H942Q986 1599 1016 1568T1047 1494Q1047 1451 1017 1421T942
+1390Z" />
+<glyph unicode="6" glyph-name="six" horiz-adv-x="1120" d="M533 968H562Q662 968 750 930T904 825T1008 671T1046 484Q1046 385 1008 297T904 143T750 39T562 0Q462 0 374 38T220 142T116 296T78 484Q78 632 156 749L155 747L635 1544Q650 1569 674 1584T728
+1600Q773 1600 802 1570T832 1495Q832 1470 818 1442L533 968ZM837 484Q837 540 816 590T757 677T670 737T562 759Q504 759 454 738T367 679T309 592T287 484Q287 426 308 376T367 289T454 231T562 209Q619 209 669 231T757 290T815 378T837 484Z" />
+<glyph unicode="7" glyph-name="seven" horiz-adv-x="1120" d="M96 169L778 1391H195Q150 1391 121 1420T91 1495Q91 1539 120 1569T195 1600H954Q976 1600 995 1592T1028 1569T1050 1536T1059 1495Q1059 1468 1044 1439L276 58Q268 43 256 31Q225 0 181 0Q138
+0 108 30T77 104Q77 136 96 169Z" />
+<glyph unicode="8" glyph-name="eight" horiz-adv-x="1120" d="M569 1386Q527 1386 490 1370T426 1327T382 1262T366 1183Q366 1142 381 1105T424 1041T489 998T569 982Q609 982 646 998T710 1041T754 1105T771 1183Q771 1225 755 1262T710 1326T646 1370T569
+1386ZM569 770Q510 770 460 748T372 689T312 600T290 491Q290 432 312 382T371 294T459 234T569 212Q627 212 678 234T766 295T826 383T848 491Q848 548 826 598T767 687T678 747T569 770ZM279 888Q155 1012 155 1183Q155 1269 188 1345T277 1477T409 1565T569
+1598Q654 1598 729 1565T860 1476T949 1344T982 1183Q982 1013 858 888Q1060 729 1060 491Q1060 390 1021 301T916 145T760 39T569 0Q467 0 378 38T222 144T117 300T78 491Q78 730 279 888Z" />
+<glyph unicode="9" glyph-name="nine" horiz-adv-x="1120" d="M597 615H569Q468 615 379 654T223 759T117 915T78 1107Q78 1209 117 1298T223 1454T379 1559T569 1598Q669 1598 758 1559T914 1452T1020 1296T1060 1107Q1060 958 980 839L509 57Q473 0 415 0Q392
+0 373 8T339 31T316 65T308 105Q308 134 323 160L597 615ZM290 1107Q290 1047 312 996T373 908T461 849T569 827Q627 827 677 849T766 910T826 998T848 1107Q848 1164 826 1214T765 1303T677 1363T569 1386Q511 1386 461 1364T372 1305T312 1217T290 1107Z" />
+<glyph unicode=":" glyph-name="colon" horiz-adv-x="400" d="M343 142Q343 83 302 42T201 0Q142 0 101 41T59 142Q59 201 100 242T201 284Q260 284 301 243T343 142ZM343 976Q343 917 302 876T201 834Q142 834 101 875T59 976Q59 1035 100 1076T201 1118Q260
+1118 301 1077T343 976Z" />
+<glyph unicode=";" glyph-name="semicolon" horiz-adv-x="400" d="M343 976Q343 917 302 876T201 834Q142 834 101 875T59 976Q59 1035 100 1076T201 1118Q260 1118 301 1077T343 976ZM343 142Q343 86 333 21T302 -99T251 -191T182 -228Q146 -228 122 -203T97
+-142Q97 -111 119 -87T141 -36Q141 0 100 42Q59 83 59 142Q59 201 100 242T201 284Q260 284 301 243T343 142Z" />
+<glyph unicode="&lt;" glyph-name="less" horiz-adv-x="1120" d="M889 1259Q911 1272 941 1272Q963 1272 982 1264T1015 1241T1037 1208T1046 1167Q1046 1110 994 1076L385 712L994 346Q1046 312 1046 256Q1046 211 1016 182T941 152Q911 152 889 165L133 619Q78
+653 78 712Q78 767 133 804L889 1259Z" />
+<glyph unicode="=" glyph-name="equal" horiz-adv-x="1040" d="M864 835H181Q136 835 107 865T77 940Q77 985 106 1014T181 1044H864Q907 1044 937 1014T968 940Q968 896 938 866T864 835ZM864 379H181Q136 379 107 409T77 484Q77 529 106 558T181 588H864Q907
+588 937 558T968 484Q968 440 938 410T864 379Z" />
+<glyph unicode="&gt;" glyph-name="greater" horiz-adv-x="1120" d="M991 804Q1046 767 1046 712Q1046 653 991 619L235 165Q213 152 183 152Q139 152 109 181T78 256Q78 312 130 346L739 712L130 1076Q78 1110 78 1167Q78 1189 86 1208T109 1241T142 1263T183
+1272Q213 1272 235 1259L991 804Z" />
+<glyph unicode="?" glyph-name="question" horiz-adv-x="1120" d="M287 1115Q287 1093 279 1074T256 1041T223 1018T182 1010Q137 1010 108 1040T78 1115Q78 1215 116 1303T221 1457T375 1561T562 1599Q661 1599 749 1560T903 1455T1007 1301T1046 1115Q1046 917
+903 771L746 626Q666 546 666 451Q666 406 637 377T562 347Q517 347 487 376T457 451Q457 631 600 774L757 920Q837 1003 837 1115Q837 1171 815 1221T756 1308T668 1368T562 1390Q505 1390 455 1369T368 1310T309 1223T287 1115ZM704 142Q704 83 663 42T562 0Q503
+0 462 41T420 142Q420 201 461 242T562 284Q621 284 662 243T704 142Z" />
+<glyph unicode="@" glyph-name="at" horiz-adv-x="2240" d="M1121 917Q1047 917 981 889T867 813T790 699T761 559Q761 485 789 419T866 305T981 229T1121 201Q1195 201 1261 229T1375 307T1451 421T1479 559Q1479 632 1451 697T1375 811T1261 888T1121 917ZM1742
+-92Q1512 -92 1484 115Q1324 -14 1121 -14Q884 -14 716 154Q548 322 548 559Q548 796 716 964Q884 1132 1121 1132Q1358 1132 1525 964Q1694 796 1694 559V170Q1694 122 1742 122Q1946 122 1946 559Q1946 734 1886 878T1704 1142Q1582 1263 1438 1324T1121 1385Q778
+1385 536 1142Q295 902 295 559Q295 216 536 -24Q778 -267 1121 -267Q1303 -267 1461 -197Q1485 -183 1511 -183Q1556 -183 1586 -214T1617 -291Q1617 -324 1598 -352T1549 -390Q1351 -480 1121 -480Q691 -480 386 -175Q82 130 82 559Q82 987 386 1293Q691 1598
+1121 1598Q1549 1598 1854 1293Q2159 987 2159 559Q2159 -92 1742 -92Z" />
+<glyph unicode="A" glyph-name="A" horiz-adv-x="1440" d="M897 752L723 1201L549 752H897ZM88 154L622 1528Q654 1600 723 1600Q794 1600 824 1528L1360 149Q1368 129 1368 106Q1368 62 1337 31T1262 0Q1218 0 1188 31Q1172 47 1164 65L979 540H467L281 65Q273
+47 257 31Q226 0 182 0Q138 0 108 31T77 106Q77 130 88 154Z" />
+<glyph unicode="B" glyph-name="B" horiz-adv-x="1120" d="M286 1388V983H489Q531 983 567 999T631 1043T675 1107T691 1186Q691 1227 675 1263T631 1328T567 1372T489 1388H286ZM286 771V212H566Q624 212 675 234T763 294T823 383T845 492Q845 549 823 600T763
+689T674 749T566 771H286ZM489 1600Q574 1600 649 1568T781 1479T870 1347T903 1186Q903 1034 809 921Q870 885 916 838T993 736T1041 619T1057 492Q1057 391 1018 302T913 145T757 39T566 0H180Q158 0 139 8T106 31T83 64T74 106V1494Q74 1516 82 1535T105 1569T139
+1591T180 1600H489Z" />
+<glyph unicode="C" glyph-name="C" horiz-adv-x="1480" d="M1308 360Q1330 360 1349 352T1382 329T1405 296T1414 254Q1414 212 1381 178Q1158 0 878 0Q546 0 312 234Q78 468 78 800Q78 1131 312 1365Q547 1600 878 1600Q1162 1600 1391 1413Q1419 1386 1419 1340Q1419
+1317 1411 1298T1389 1265T1355 1242T1313 1234Q1274 1234 1240 1264Q1164 1324 1073 1356T878 1388Q634 1388 461 1215Q290 1044 290 800Q290 555 461 384Q633 212 878 212Q1087 212 1246 341Q1272 359 1308 360Z" />
+<glyph unicode="D" glyph-name="D" horiz-adv-x="1360" d="M491 212Q734 212 906 384Q993 471 1036 573T1079 800Q1079 1042 906 1215Q733 1388 491 1388H289V212H491ZM491 1600Q821 1600 1056 1365Q1174 1247 1232 1108T1291 800Q1291 469 1056 234Q822 0 491
+0H183Q161 0 142 8T108 31T85 64T76 106V1494Q76 1516 84 1535T107 1569T141 1591T183 1600H491Z" />
+<glyph unicode="E" glyph-name="E" horiz-adv-x="1280" d="M1107 212Q1151 212 1182 181T1213 106Q1213 62 1182 31T1107 0H182Q159 0 140 8T107 30T84 64T76 106V1494Q76 1516 84 1535T106 1569T140 1592T182 1600H1107Q1151 1600 1182 1569T1213 1494Q1213 1450
+1182 1419T1107 1388H288V906H876Q920 906 951 875T982 800Q982 756 951 725T876 694H288V212H1107Z" />
+<glyph unicode="F" glyph-name="F" horiz-adv-x="1280" d="M76 106V1494Q76 1516 84 1535T106 1569T140 1592T182 1600H1107Q1151 1600 1182 1569T1213 1494Q1213 1450 1182 1419T1107 1388H288V906H876Q920 906 951 875T982 800Q982 756 951 725T876 694H288V106Q288
+62 257 31T182 0Q138 0 107 31T76 106Z" />
+<glyph unicode="G" glyph-name="G" horiz-adv-x="1500" d="M1414 254Q1414 212 1381 178Q1158 0 878 0Q546 0 312 234Q78 468 78 800Q78 1131 312 1365Q547 1600 878 1600Q1162 1600 1391 1413Q1419 1387 1419 1340Q1419 1317 1411 1298T1389 1265T1355 1242T1313
+1234Q1272 1234 1240 1264Q1164 1324 1073 1356T878 1388Q634 1388 461 1215Q290 1044 290 800Q290 555 461 384Q633 212 878 212Q1059 212 1202 307V617H926Q881 617 851 647T820 723Q820 745 828 764T850 798T884 821T926 829H1309Q1330 829 1349 821T1382 798T1405
+764T1414 723V254Z" />
+<glyph unicode="H" glyph-name="H" horiz-adv-x="1280" d="M1213 106Q1213 62 1182 31T1107 0Q1063 0 1032 31T1001 106V694H288V106Q288 62 257 31T182 0Q138 0 107 31T76 106V1494Q76 1538 107 1569T182 1600Q226 1600 257 1569T288 1494V906H1001V1494Q1001
+1538 1032 1569T1107 1600Q1151 1600 1182 1569T1213 1494V106Z" />
+<glyph unicode="I" glyph-name="I" horiz-adv-x="480" d="M358 106Q358 62 327 31T252 0Q208 0 177 31T146 106V1494Q146 1538 177 1569T252 1600Q296 1600 327 1569T358 1494V106Z" />
+<glyph unicode="J" glyph-name="J" horiz-adv-x="1120" d="M286 492Q286 433 308 382T367 294T456 234T566 212Q624 212 675 234T763 294T823 383T845 492V1494Q845 1538 876 1569T951 1600Q995 1600 1026 1569T1057 1494V492Q1057 391 1018 302T913 145T757 39T566
+0Q464 0 375 39T219 145T113 302T74 492Q74 536 105 567T180 598Q224 598 255 567T286 492Z" />
+<glyph unicode="K" glyph-name="K" horiz-adv-x="1200" d="M75 1494Q75 1538 106 1569T181 1600Q225 1600 256 1569T287 1494V902L952 1567Q985 1600 1029 1600Q1051 1600 1070 1592T1104 1570T1127 1536T1135 1494Q1135 1450 1104 1419L580 894L1115 169Q1135
+141 1135 109Q1135 88 1127 68T1105 33T1072 9T1031 0Q972 0 942 45L428 742L287 601V106Q287 62 256 31T181 0Q137 0 106 31T75 106V1494Z" />
+<glyph unicode="L" glyph-name="L" horiz-adv-x="1200" d="M75 1494Q75 1538 106 1569T181 1600Q225 1600 256 1569T287 1494V212H1029Q1073 212 1104 181T1135 106Q1135 62 1104 31T1029 0H181Q158 0 139 8T106 30T83 64T75 106V1494Z" />
+<glyph unicode="M" glyph-name="M" horiz-adv-x="1760" d="M80 106V1494Q80 1516 88 1535T110 1569T144 1592T186 1600Q248 1600 280 1543L880 344L1480 1543Q1516 1600 1574 1600Q1596 1600 1615 1592T1649 1570T1672 1536T1680 1494V106Q1680 62 1649 31T1574
+0Q1530 0 1499 31T1468 106V1044L972 53Q941 0 880 0Q814 0 783 64L292 1044V106Q292 62 261 31T186 0Q142 0 111 31T80 106Z" />
+<glyph unicode="N" glyph-name="N" horiz-adv-x="1440" d="M77 106V1494Q77 1516 85 1535T107 1569T141 1592T183 1600Q230 1600 265 1561L1157 414V1494Q1157 1538 1188 1569T1263 1600Q1307 1600 1338 1569T1369 1494V106Q1369 83 1361 64T1339 31T1305 8T1263
+0Q1216 0 1182 37L289 1184V106Q289 62 258 31T183 0Q139 0 108 31T77 106Z" />
+<glyph unicode="O" glyph-name="O" horiz-adv-x="1760" d="M880 1388Q756 1388 654 1345T464 1215Q377 1128 335 1026T292 800Q292 556 464 384Q636 212 880 212Q1124 212 1296 384Q1468 556 1468 800Q1468 1043 1296 1215Q1123 1388 880 1388ZM1680 800Q1680
+469 1445 234Q1211 0 880 0Q548 0 314 234Q80 468 80 800Q80 1131 314 1365Q549 1600 880 1600Q1210 1600 1445 1365Q1563 1247 1621 1107T1680 800Z" />
+<glyph unicode="P" glyph-name="P" horiz-adv-x="1080" d="M286 1388V752H488Q553 752 610 777T711 845T780 946T806 1070Q806 1137 781 1195T712 1296T610 1363T488 1388H286ZM74 106V1494Q74 1516 82 1535T104 1569T138 1592T180 1600H488Q560 1600 627 1581T754
+1527T862 1444T945 1336T999 1210T1019 1070Q1019 852 862 695Q707 540 488 540H286V106Q286 62 255 31T180 0Q136 0 105 31T74 106Z" />
+<glyph unicode="Q" glyph-name="Q" horiz-adv-x="1760" d="M1366 164Q1260 80 1140 40T880 0Q548 0 314 234Q80 468 80 800Q80 1131 314 1365Q549 1600 880 1600Q1210 1600 1445 1365Q1563 1247 1621 1108T1680 800Q1680 660 1640 540T1516 314L1650 180Q1680
+147 1680 106Q1680 83 1672 64T1650 31T1616 8T1574 0Q1528 0 1498 31L1366 164ZM1074 455Q1044 490 1044 530Q1044 552 1052 571T1074 605T1108 628T1150 636Q1194 636 1225 605L1365 466Q1468 611 1468 800Q1468 1043 1296 1215Q1123 1388 880 1388Q756 1388
+654 1345T464 1215Q377 1128 335 1026T292 800Q292 556 464 384Q636 212 880 212Q1069 212 1215 315L1074 455Z" />
+<glyph unicode="R" glyph-name="R" horiz-adv-x="1200" d="M287 1388V829H567Q625 829 676 851T764 911T824 1000T846 1108Q846 1166 824 1217T764 1306T675 1366T567 1388H287ZM75 106V1494Q75 1516 83 1535T105 1569T139 1592T181 1600H567Q668 1600 757 1561T913
+1455T1019 1299T1058 1108Q1058 1042 1042 980T993 862T912 759T799 675L1118 164Q1135 136 1135 106Q1135 83 1127 64T1105 31T1071 8T1029 0Q973 0 938 52L585 617H287V106Q287 62 256 31T181 0Q137 0 106 31T75 106Z" />
+<glyph unicode="S" glyph-name="S" horiz-adv-x="1060" d="M95 222Q74 249 74 286Q74 308 82 327T104 361T138 384T180 392Q239 392 269 343Q311 278 374 245T510 212Q567 212 617 234T705 295T765 384T787 494Q787 549 767 597T711 682T630 742T531 770Q451 777
+382 812T261 902T180 1029T150 1181Q150 1279 187 1358T296 1500H295Q410 1600 565 1600Q615 1600 665 1588T761 1550T848 1486T921 1397Q936 1371 936 1340Q936 1317 928 1298T906 1265T872 1242T830 1234Q810 1234 795 1240T767 1257T743 1282T718 1316Q694 1351
+653 1368T563 1386Q525 1386 489 1371T425 1328T380 1264T362 1184Q362 1145 376 1110T416 1048T474 1003T547 982Q640 975 722 934T865 828T963 677T999 498Q999 264 826 118H827Q688 0 511 0Q452 0 393 14T280 57T178 127T95 222Z" />
+<glyph unicode="T" glyph-name="T" horiz-adv-x="1360" d="M1185 1388H790V106Q790 62 759 31T684 0Q640 0 609 31T578 106V1388H183Q139 1388 108 1419T77 1494Q77 1538 108 1569T183 1600H1185Q1229 1600 1260 1569T1291 1494Q1291 1450 1260 1419T1185 1388Z" />
+<glyph unicode="U" glyph-name="U" horiz-adv-x="1280" d="M288 1494V569Q288 496 316 431T392 318T505 241T644 212Q718 212 783 240T896 317T973 430T1001 569V1494Q1001 1538 1032 1569T1107 1600Q1151 1600 1182 1569T1213 1494V569Q1213 491 1193 419T1135
+284T1046 168T931 79T795 21T644 0Q408 0 243 167Q76 334 76 569V1494Q76 1538 107 1569T182 1600Q226 1600 257 1569T288 1494Z" />
+<glyph unicode="V" glyph-name="V" horiz-adv-x="1440" d="M723 0Q653 0 626 67L89 1440Q77 1471 77 1494Q77 1516 85 1535T107 1569T141 1592T183 1600Q253 1600 281 1537L723 400L1165 1537Q1189 1600 1263 1600Q1285 1600 1304 1592T1338 1570T1361 1536T1369
+1494Q1369 1468 1357 1440L820 67Q793 0 723 0Z" />
+<glyph unicode="W" glyph-name="W" horiz-adv-x="1920" d="M288 1529L573 502L857 1528Q865 1559 893 1579T959 1600Q991 1600 1019 1582T1059 1529L1344 502L1630 1529Q1637 1551 1655 1569Q1686 1600 1730 1600Q1774 1600 1804 1569T1835 1494Q1834 1474 1828
+1452L1451 86Q1437 47 1409 24T1344 0Q1299 0 1270 32Q1249 54 1238 84L959 1095L680 86Q666 47 638 24T573 0Q528 0 498 32Q478 52 467 84L88 1453Q82 1476 82 1494Q82 1538 113 1569T188 1600Q232 1600 263 1569Q280 1551 288 1529Z" />
+<glyph unicode="X" glyph-name="X" horiz-adv-x="1440" d="M257 31Q226 0 182 0Q138 0 107 30T76 105Q76 143 99 172L588 800L96 1432Q77 1459 77 1494Q77 1538 108 1569T183 1600Q231 1600 258 1569L723 973L1188 1569Q1216 1600 1263 1600Q1307 1600 1337 1569T1368
+1494Q1368 1459 1349 1432L858 800L1347 172Q1369 143 1369 105Q1369 61 1339 31T1264 0Q1211 0 1181 38L723 627L257 31Z" />
+<glyph unicode="Y" glyph-name="Y" horiz-adv-x="1280" d="M268 1556L644 993L1020 1556Q1051 1600 1107 1600Q1151 1600 1181 1569T1212 1494Q1212 1458 1196 1434L750 768V106Q750 62 719 31T644 0Q601 0 570 31T538 106V768L93 1434Q76 1460 76 1494Q76 1538
+107 1569T182 1600Q238 1600 268 1556Z" />
+<glyph unicode="Z" glyph-name="Z" horiz-adv-x="1440" d="M183 1600H1263Q1285 1600 1304 1592T1338 1570T1361 1536T1369 1494Q1369 1461 1349 1432L400 212H1263Q1308 211 1338 180T1369 105Q1369 61 1339 31T1264 0H183Q160 0 141 8T108 30T85 64T77 106Q78
+144 99 172L1046 1388H183Q140 1388 109 1419T77 1494Q77 1538 108 1569T183 1600Z" />
+<glyph unicode="[" glyph-name="bracketleft" horiz-adv-x="640" d="M494 1602Q540 1602 570 1571T601 1494Q601 1448 571 1418T494 1388H289V-266H494Q540 -266 570 -296T601 -372Q601 -419 571 -449T494 -480H183Q136 -480 106 -450T76 -372V1494Q76 1539 106
+1570T183 1602H494Z" />
+<glyph unicode="\" glyph-name="backslash" horiz-adv-x="960" d="M883 -12Q892 -31 892 -55Q892 -77 884 -96T862 -131T828 -154T786 -162Q758 -162 730 -146T688 -99L68 1450Q60 1472 60 1494Q60 1539 90 1570T166 1601Q238 1601 264 1538L883 -12Z" />
+<glyph unicode="]" glyph-name="bracketright" horiz-adv-x="640" d="M494 1602Q540 1602 570 1571T601 1494V-372Q601 -419 571 -449T494 -480H183Q136 -480 106 -450T76 -372Q76 -326 106 -296T183 -266H387V1388H183Q136 1388 106 1418T76 1494Q76 1539 106
+1570T183 1602H494Z" />
+<glyph unicode="^" glyph-name="asciicircum" horiz-adv-x="960" d="M484 1304L264 975Q232 934 180 934Q135 934 106 964T76 1039Q76 1072 90 1093L398 1555Q427 1599 484 1599Q537 1599 569 1555L877 1093Q892 1071 892 1039Q892 1017 884 998T862 965T828 942T788
+934Q735 934 703 975L484 1304Z" />
+<glyph unicode="_" glyph-name="underscore" horiz-adv-x="960" d="M976 -209H16Q-28 -209 -58 -179T-89 -105Q-89 -61 -59 -31T16 0H976Q1019 0 1049 -30T1080 -105Q1080 -148 1050 -178T976 -209Z" />
+<glyph unicode="`" glyph-name="grave" horiz-adv-x="560" d="M71 1494Q71 1538 100 1568T175 1599Q217 1599 249 1568L449 1369Q475 1341 475 1298Q475 1253 446 1224T371 1194Q327 1194 299 1222L99 1421Q71 1449 71 1494Z" />
+<glyph unicode="a" glyph-name="a" horiz-adv-x="1280" d="M640 911Q566 911 502 883T391 808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM991 104V124Q916
+64 828 32T640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1200 792 1200 560V104Q1200 61 1170 31T1096 0Q1052 0 1022 30T991 104Z" />
+<glyph unicode="b" glyph-name="b" horiz-adv-x="1280" d="M640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911Q566 911 502 883T391 808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209ZM289 996Q438 1120
+640 1120Q870 1120 1036 956Q1118 875 1159 776T1200 560Q1200 326 1036 164Q870 0 640 0Q408 0 244 164Q80 328 80 560V1496Q80 1541 109 1570T184 1600Q228 1600 258 1571T289 1496V996Z" />
+<glyph unicode="c" glyph-name="c" horiz-adv-x="1120" d="M932 317Q977 317 1006 288T1036 213Q1036 169 1003 136Q848 0 638 0Q406 0 242 164Q78 328 78 560Q78 792 242 956Q406 1120 638 1120Q849 1120 1003 984Q1039 952 1039 905Q1039 860 1010 830T935 800Q897
+800 867 824Q816 867 760 889T638 911Q565 911 501 884T389 809T314 697T286 560Q286 487 313 423T389 312T501 237T638 209Q704 209 760 230T866 295Q894 316 932 317Z" />
+<glyph unicode="d" glyph-name="d" horiz-adv-x="1280" d="M991 560Q991 632 964 695T889 807T777 883T640 911Q566 911 502 883T391 808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560ZM640 1120Q839 1120
+991 997V1496Q991 1541 1020 1570T1095 1600Q1139 1600 1169 1571T1200 1496V560Q1200 326 1036 164Q870 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Z" />
+<glyph unicode="e" glyph-name="e" horiz-adv-x="1280" d="M977 664Q960 719 927 764T849 842T751 893T640 911Q583 911 529 893T430 843T352 765T303 664H977ZM932 315Q977 315 1006 286T1036 211Q1036 167 1006 136Q851 0 640 0Q408 0 244 164Q80 328 80 560Q80
+792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1118 875 1159 776T1200 560Q1200 515 1170 486T1095 456H303Q320 401 353 356T430 278T528 227T640 209Q706 209 761 229T863 289Q893 314 932 315Z" />
+<glyph unicode="f" glyph-name="f" horiz-adv-x="800" d="M701 1390Q425 1390 425 1115V1063H626Q669 1063 699 1033T730 959Q730 915 700 885T626 854H425V104Q425 83 417 64T395 31T362 8T321 0Q299 0 280 8T247 30T225 64T217 104V854H169Q124 854 95 884T65
+959Q65 1004 94 1033T169 1063H217V1115Q217 1599 701 1599Q744 1599 774 1569T805 1495Q805 1451 775 1421T701 1390Z" />
+<glyph unicode="g" glyph-name="g" horiz-adv-x="1280" d="M640 911Q566 911 502 883T391 808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM991 123Q841 0 640
+0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1200 792 1200 560V4Q1200 -68 1178 -132T1117 -249T1025 -346T911 -418T782 -464T648 -480Q568 -480 491 -460T345 -399T219 -300T121 -168Q105 -145 105 -112Q105 -67 135
+-38T210 -8Q240 -8 259 -22T313 -84T373 -157Q487 -271 648 -271Q810 -271 922 -159Q991 -75 991 4V123Z" />
+<glyph unicode="h" glyph-name="h" horiz-adv-x="1200" d="M288 105Q288 61 258 31T183 0Q140 0 110 30T79 105V1495Q79 1539 109 1569T183 1600Q226 1600 256 1570T288 1495V1015Q421 1118 601 1118Q706 1118 800 1077T967 966T1081 800T1123 596V105Q1122 61
+1092 31T1018 0Q975 0 945 30T914 105V596Q914 660 889 717T822 816T722 884T601 909Q536 909 480 885T380 817T313 717T288 596V105Z" />
+<glyph unicode="i" glyph-name="i" horiz-adv-x="480" d="M363 1319Q363 1268 327 1232T240 1196Q189 1196 153 1232T117 1319Q117 1370 153 1406T240 1442Q291 1442 327 1406T363 1319ZM136 105V1015Q136 1059 166 1089T240 1120Q283 1120 313 1090T345 1015V105Q344
+61 314 31T240 0Q197 0 167 30T136 105Z" />
+<glyph unicode="j" glyph-name="j" horiz-adv-x="656" d="M602 1319Q602 1268 566 1232T479 1196Q428 1196 392 1232T356 1319Q356 1370 392 1406T479 1442Q530 1442 566 1406T602 1319ZM583 1015V5Q583 -94 545 -182T440 -336T286 -440T99 -479Q54 -479 25 -449T-5
+-374Q-5 -329 24 -300T99 -270Q156 -270 206 -249T293 -190T353 -102T375 5V1015Q375 1059 405 1089T479 1120Q522 1120 552 1090T583 1015Z" />
+<glyph unicode="k" glyph-name="k" horiz-adv-x="1120" d="M78 105V1495Q78 1539 108 1569T183 1600Q226 1600 256 1570T287 1495V715L885 1104Q910 1120 941 1120Q963 1120 982 1112T1015 1090T1037 1056T1046 1016Q1046 960 1006 933L587 661L1017 177Q1046
+145 1046 104Q1046 83 1038 64T1015 31T982 8T941 0Q899 0 871 27L409 546L287 466V105Q287 62 257 31T183 0Q139 0 109 31T78 105Z" />
+<glyph unicode="l" glyph-name="l" horiz-adv-x="480" d="M70 104V1495Q70 1539 99 1569T174 1600Q219 1600 248 1570T278 1495V209H326Q369 209 399 179T430 104Q430 61 400 31T326 0H173Q130 0 100 30T70 104Z" />
+<glyph unicode="m" glyph-name="m" horiz-adv-x="1760" d="M1661 105Q1661 61 1631 31T1557 0Q1513 0 1483 30T1453 105V674Q1453 722 1435 765T1384 840T1309 892T1215 911Q1166 911 1123 892T1048 841T997 766T978 674V105Q978 61 948 31T874 0Q830 0 800 30T769
+105V674Q769 723 750 766T699 841T624 892T532 911Q483 911 440 893T365 842T314 766T295 674V105Q295 61 265 31T191 0Q147 0 117 30T86 105V1016Q86 1059 116 1089T190 1120Q225 1120 252 1101T289 1049Q396 1120 532 1120Q632 1120 720 1081T874 961Q1013 1120
+1215 1120Q1306 1120 1387 1085T1529 989T1625 847T1661 674V105Z" />
+<glyph unicode="n" glyph-name="n" horiz-adv-x="1200" d="M288 1017Q421 1120 601 1120Q706 1120 800 1079T967 968T1081 802T1123 598V105Q1123 61 1093 31T1019 0Q975 0 945 30T914 105V598Q914 662 889 719T822 818T722 886T601 911Q536 911 480 887T380 819T313
+719T288 598V105Q288 61 258 31T184 0Q140 0 110 30T79 105V1015Q79 1058 109 1089T184 1120Q227 1120 257 1089T288 1017Z" />
+<glyph unicode="o" glyph-name="o" horiz-adv-x="1280" d="M1200 560Q1200 326 1036 164Q870 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1118 874 1158 775T1200 560ZM640 911Q566 911 502 883T391 808T317 696T289
+560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911Z" />
+<glyph unicode="p" glyph-name="p" horiz-adv-x="1280" d="M289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911Q566 911 502 883T391 808T317 696T289 560ZM640 0Q439 0 289
+123V-376Q289 -421 259 -450T184 -480Q139 -480 110 -451T80 -376V560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1118 875 1159 776T1200 560Q1200 326 1036 164Q952 81 854 41T640 0Z" />
+<glyph unicode="q" glyph-name="q" horiz-adv-x="1280" d="M640 911Q566 911 502 883T391 808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM991 123Q841 0 640
+0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1200 792 1200 560V-376Q1200 -421 1170 -450T1095 -480Q1050 -480 1021 -451T991 -376V123Z" />
+<glyph unicode="r" glyph-name="r" horiz-adv-x="960" d="M285 1016V996Q360 1056 448 1088T636 1120Q680 1120 730 1114T823 1093T894 1050T922 980Q922 958 914 939T891 906T858 883T817 875Q798 875 773 886Q710 911 636 911Q563 911 499 884T388 809T313 697T285
+560V104Q285 61 255 31T181 0Q137 0 107 30T76 104V1016Q76 1059 106 1089T181 1120Q224 1120 254 1090T285 1016Z" />
+<glyph unicode="s" glyph-name="s" horiz-adv-x="1060" d="M284 533Q190 569 152 607H153Q77 684 77 788Q77 864 117 925T223 1030T369 1096T533 1120Q783 1120 962 919Q983 893 983 856Q983 811 954 782T879 752Q847 752 825 770T781 809Q679 911 533 911Q389
+911 303 823Q287 807 287 779Q287 751 313 741L781 587Q879 549 913 513H912Q988 436 988 332Q988 255 948 194T842 90T696 23T533 0Q281 0 104 199Q82 228 82 264Q82 309 111 338T186 368Q219 368 242 349T284 311Q386 209 533 209Q676 209 763 299Q778 316 778
+340Q778 368 751 379L284 533Z" />
+<glyph unicode="t" glyph-name="t" horiz-adv-x="800" d="M178 1120H225V1496Q225 1539 255 1569T330 1600Q373 1600 403 1570T434 1496V1120H559Q602 1120 632 1090T662 1016Q662 972 632 942T559 911H434V408Q434 209 634 209Q677 209 707 179T737 105Q737 61
+707 31T634 0Q225 0 225 408V911H178Q136 911 106 941T75 1016Q75 1059 105 1089T178 1120Z" />
+<glyph unicode="u" glyph-name="u" horiz-adv-x="1200" d="M1018 0Q973 0 944 30T914 103Q845 49 768 25T601 0Q494 0 399 41T233 154T121 320T79 522V1016Q79 1059 109 1089T184 1120Q227 1120 257 1090T288 1016V522Q288 457 312 400T379 301T479 234T601 209Q665
+209 722 233T822 301T889 400T914 522V1016Q914 1059 944 1089T1019 1120Q1062 1120 1092 1090T1123 1016V104Q1123 61 1093 31T1018 0Z" />
+<glyph unicode="v" glyph-name="v" horiz-adv-x="1200" d="M601 0Q535 0 509 56L87 974Q79 995 79 1016Q79 1037 87 1056T109 1089T142 1112T183 1120Q210 1120 235 1107T274 1068L601 355L927 1067Q956 1120 1018 1120Q1040 1120 1059 1112T1092 1090T1114 1056T1123
+1016Q1123 993 1114 974L693 56Q665 0 601 0Z" />
+<glyph unicode="w" glyph-name="w" horiz-adv-x="1600" d="M796 1120Q870 1120 896 1043L1099 434L1309 1062Q1317 1088 1341 1104T1403 1120Q1425 1120 1444 1112T1477 1090T1499 1056T1508 1016Q1508 997 1500 976L1197 67Q1188 38 1164 19T1099 0Q1064 0 1037
+20T1002 67L796 685L590 67Q581 38 554 19T492 0Q457 0 431 19T394 67L91 976Q84 998 84 1016Q84 1037 92 1056T114 1089T147 1112T188 1120Q224 1120 248 1103T282 1062L492 435L695 1043Q721 1120 796 1120Z" />
+<glyph unicode="x" glyph-name="x" horiz-adv-x="1120" d="M426 561L102 947Q78 974 78 1016Q78 1037 86 1056T108 1089T141 1112T182 1120Q229 1120 260 1086L562 725L864 1086Q894 1120 941 1120Q963 1120 982 1112T1015 1090T1037 1056T1046 1016Q1046 978
+1021 947L697 561L1024 169Q1046 144 1046 104Q1046 83 1038 64T1015 31T982 8T941 0Q898 0 866 32L562 398L256 32Q226 0 182 0Q160 0 141 8T108 30T86 64T78 104Q78 143 99 169L426 561Z" />
+<glyph unicode="y" glyph-name="y" horiz-adv-x="1120" d="M448 104L88 969Q78 992 78 1016Q78 1037 86 1056T108 1089T141 1112T182 1120Q213 1120 240 1103T281 1051L562 380L843 1053Q855 1083 877 1101T941 1120Q963 1120 982 1112T1015 1090T1037 1056T1046
+1016Q1046 994 1035 969L460 -410Q447 -441 420 -460T361 -480Q316 -480 287 -450T257 -375Q257 -351 267 -329L448 104Z" />
+<glyph unicode="z" glyph-name="z" horiz-adv-x="1120" d="M941 0H182Q160 0 141 8T108 30T86 64T78 104Q78 141 99 169L718 911H182Q140 911 110 941T79 1016Q79 1059 109 1089T182 1120H941Q963 1120 982 1112T1015 1090T1037 1056T1046 1016Q1046 975 1021
+947L403 209H941Q984 209 1014 179T1044 105Q1044 61 1014 31T941 0Z" />
+<glyph unicode="{" glyph-name="braceleft" horiz-adv-x="800" d="M634 1599Q679 1599 708 1569T738 1494Q738 1449 709 1420T634 1390Q510 1390 510 1266V788Q510 644 444 560Q510 476 510 332V-146Q510 -270 634 -270Q679 -270 708 -299T738 -374Q738 -419 709
+-449T634 -479Q301 -479 301 -146V332Q301 456 178 456Q133 456 104 485T74 560Q74 605 103 634T178 664Q301 664 301 788V1266Q301 1599 634 1599Z" />
+<glyph unicode="|" glyph-name="bar" horiz-adv-x="800" d="M510 1495V-375Q510 -420 481 -450T406 -480Q361 -480 331 -450T301 -375V1495Q301 1540 331 1570T406 1600Q451 1600 480 1570T510 1495Z" />
+<glyph unicode="}" glyph-name="braceright" horiz-adv-x="800" d="M511 1266V788Q511 664 634 664Q679 664 708 635T738 560Q738 515 709 486T634 456Q511 456 511 332V-146Q511 -479 178 -479Q133 -479 104 -449T74 -374Q74 -329 103 -300T178 -270Q302 -270
+302 -146V332Q302 476 368 560Q302 644 302 788V1266Q302 1390 178 1390Q133 1390 104 1419T74 1494Q74 1538 103 1568T178 1599Q511 1599 511 1266Z" />
+<glyph unicode="~" glyph-name="asciitilde" horiz-adv-x="960" d="M332 576Q294 576 248 587T162 620T94 673T67 747Q68 794 98 822T171 851Q207 851 252 818T336 785Q379 785 409 812Q496 894 628 894Q665 894 711 883T798 849T865 795T893 723Q893 678 863
+649T788 619Q756 619 709 652T625 685Q584 685 551 658Q461 576 332 576Z" />
+<glyph unicode="&#xa0;" glyph-name="space" horiz-adv-x="560" />
+<glyph unicode="&#xa1;" glyph-name="exclamdown" horiz-adv-x="400" d="M211 835Q182 835 156 846T111 877T80 923T69 978Q69 1008 80 1034T111 1079T156 1109T211 1120Q239 1120 265 1109T310 1079T341 1034T353 978Q353 949 342 923T312 878T266 847T211 835ZM107
+670Q107 691 115 709T137 742T170 764T211 773Q232 773 251 765T284 743T306 710T315 670V-374Q315 -418 286 -448T211 -479Q166 -479 137 -449T107 -374V670Z" />
+<glyph unicode="&#xa2;" glyph-name="cent" horiz-adv-x="1120" d="M587 906Q522 895 468 863T375 785T315 681T293 560Q293 497 310 446T363 347L587 906ZM539 223Q593 209 644 209Q710 209 766 230T873 295Q887 306 904 311T939 317Q984 317 1013 288T1043 213Q1043
+169 1010 136Q853 0 644 0Q545 0 462 28L356 -237Q344 -264 318 -284T259 -304Q237 -304 218 -296T185 -272T162 -238T154 -198Q154 -179 161 -160L279 135Q264 149 249 164Q84 327 84 560Q84 675 128 776T249 954T427 1075T644 1120H672L768 1358Q784 1399 825
+1416Q844 1424 866 1424Q888 1424 907 1416T940 1393T962 1359T970 1319Q970 1304 962 1281L879 1071Q937 1040 991 1000T1046 905Q1046 883 1038 864T1015 831T982 808T941 800Q903 800 872 825T801 875L539 223Z" />
+<glyph unicode="&#xa3;" glyph-name="sterling" horiz-adv-x="1040" d="M260 0Q208 0 181 30T154 105Q154 131 161 147Q265 390 269 615H182Q137 615 107 645T77 722Q77 768 107 797T182 827H248Q226 929 185 1028Q154 1101 154 1183Q154 1269 187 1345T276 1477T408
+1565T568 1598Q675 1598 759 1552T913 1414Q933 1385 933 1350Q933 1304 903 1274T827 1243Q788 1243 764 1270T711 1327Q652 1386 568 1386Q526 1386 489 1370T425 1327T381 1262T365 1183Q365 1148 382 1108Q412 1038 432 969T464 827H722Q768 827 797 798T827
+722Q827 676 798 646T722 615H480Q478 517 462 417T412 212H733Q764 273 791 319T875 366Q897 366 916 358T950 335T972 301T981 260Q981 232 969 210L895 64Q861 0 799 0H260Z" />
+<glyph unicode="&#xa4;" glyph-name="currency" horiz-adv-x="960" d="M484 864Q458 864 436 854T397 827T370 788T360 740Q360 716 369 694T395 654T434 627T484 617Q509 617 531 626T570 653T597 692T607 740Q607 766 597 789T570 828T531 854T484 864ZM686
+1090Q716 1120 759 1120Q781 1120 800 1112T833 1090T855 1056T863 1016Q862 968 832 940L782 893Q816 826 816 740Q816 660 783 593L834 539Q863 508 863 465Q863 420 834 391T759 361Q718 361 687 388L637 443Q565 408 484 408Q407 408 337 440L284 391Q250 361
+209 361Q164 361 134 390T104 465Q104 507 135 539L188 588Q152 657 152 740Q152 822 186 889L135 943Q104 970 104 1016Q104 1037 112 1056T134 1089T168 1112T209 1120Q250 1120 281 1092L331 1037Q410 1078 484 1073Q562 1073 631 1039L686 1090Z" />
+<glyph unicode="&#xa5;" glyph-name="yen" horiz-adv-x="1280" d="M1183 1436L936 1068H1096Q1140 1068 1171 1039T1202 964Q1202 918 1171 889T1096 859H796L744 780V688H1095Q1139 688 1169 659T1200 584Q1200 539 1170 510T1095 480H744V106Q744 61 714 31T639
+0Q594 0 565 30T535 106V480H184Q139 480 110 509T80 584Q80 629 109 658T184 688H535V780L483 859H184Q139 859 110 889T80 964Q80 1009 109 1038T184 1068H344L97 1436Q80 1462 80 1495Q80 1539 109 1569T184 1600Q237 1600 269 1556L640 1002L1010 1556Q1042
+1600 1095 1600Q1140 1600 1169 1570T1199 1495Q1199 1462 1183 1436Z" />
+<glyph unicode="&#xa6;" glyph-name="brokenbar" horiz-adv-x="480" d="M145 1623Q145 1668 175 1697T250 1727Q295 1727 324 1698T354 1623V940Q354 895 325 865T250 835Q205 835 175 865T145 940V1623ZM145 309Q145 354 175 383T250 413Q295 413 324 384T354
+309V-374Q354 -419 325 -449T250 -479Q205 -479 175 -449T145 -374V309Z" />
+<glyph unicode="&#xa7;" glyph-name="section" horiz-adv-x="960" d="M494 765Q452 765 415 750T350 706T306 641T289 562Q289 518 305 481T349 417T414 374T494 358Q535 358 572 373T637 417T681 481T698 562Q698 603 682 640T637 706T572 749T494 765ZM912 1183Q912
+1137 882 1107T805 1076Q759 1076 729 1106T698 1183Q698 1225 682 1262T637 1327T572 1371T494 1388Q452 1388 415 1372T350 1328T306 1263T289 1183Q289 1141 305 1104T348 1039T413 995T494 979Q580 979 656 946T789 856T879 723T912 562Q912 385 773 250Q912
+115 912 -60Q912 -146 879 -222T788 -355T656 -445T494 -479Q408 -479 332 -446T199 -355T109 -222T76 -60Q76 -14 106 16T184 47Q229 47 259 17T289 -60Q289 -102 305 -139T349 -204T414 -248T494 -265Q535 -265 572 -249T637 -205T681 -140T698 -60Q698 -19 682
+18T637 83T572 127T494 144Q408 144 332 176T199 266T109 399T76 562Q76 735 213 873Q136 947 106 1022T76 1183Q76 1268 109 1344T198 1478T331 1568T494 1602Q580 1602 655 1569T788 1478T878 1345T912 1183Z" />
+<glyph unicode="&#xa8;" glyph-name="dieresis" horiz-adv-x="960" d="M378 1359Q378 1308 342 1272T255 1236Q204 1236 168 1272T132 1359Q132 1410 168 1446T255 1482Q306 1482 342 1446T378 1359ZM833 1359Q833 1308 797 1272T710 1236Q659 1236 623 1272T587
+1359Q587 1410 623 1446T710 1482Q761 1482 797 1446T833 1359Z" />
+<glyph unicode="&#xa9;" glyph-name="copyright" horiz-adv-x="1760" d="M1175 561Q1220 561 1249 531T1278 457Q1278 436 1270 416T1245 381Q1169 313 1079 280T883 246Q653 246 491 409Q328 572 328 802Q328 1030 491 1194Q571 1275 669 1316T883 1357Q1093
+1357 1245 1222Q1281 1190 1281 1143Q1281 1098 1252 1069T1178 1039Q1160 1039 1142 1044T1111 1063Q1060 1106 1005 1128T883 1150Q811 1150 748 1122T637 1047T562 936T534 802Q534 730 561 667T636 557T746 482T883 454Q949 454 1004 475T1110 539Q1123 551
+1139 555T1175 561ZM1685 800Q1685 467 1450 234Q1214 0 886 0Q720 0 579 58T319 234Q201 351 144 492T86 800Q86 1130 319 1364Q552 1599 886 1599Q1218 1599 1450 1364Q1685 1132 1685 800ZM883 1437Q619 1437 433 1251Q247 1065 247 803Q247 668 292 557T433
+352Q618 167 883 167Q1015 167 1127 212T1332 352Q1518 540 1518 803Q1518 1065 1332 1251Q1146 1437 883 1437Z" />
+<glyph unicode="&#xaa;" glyph-name="ordfeminine" horiz-adv-x="960" d="M484 1367Q443 1367 407 1351T343 1308T300 1245T284 1167Q284 1126 299 1090T342 1026T405 984T484 968Q524 968 560 984T624 1027T667 1090T683 1167Q683 1208 667 1244T624 1308T560
+1351T484 1367ZM713 791Q702 802 695 816Q601 759 484 759Q400 759 326 791T196 880T108 1010T76 1167Q76 1250 108 1324T195 1455T325 1543T484 1576Q568 1576 642 1544T771 1455T859 1325T892 1167V864Q892 842 884 823T862 790T828 767T788 759Q743 759 713
+791Z" />
+<glyph unicode="&#xab;" glyph-name="guillemotleft" horiz-adv-x="960" d="M312 1055Q326 1087 351 1103T408 1119Q453 1119 482 1090T513 1015Q512 990 503 970L298 560L503 148Q512 129 512 104Q512 83 504 64T482 31T449 8T408 0Q379 0 353 16T312 64L91 505Q76
+534 76 559Q76 583 89 609L312 1055ZM694 1055Q708 1087 733 1103T790 1119Q835 1119 864 1090T895 1015Q894 990 885 970L680 560L885 148Q894 129 894 104Q894 83 886 64T864 31T831 8T790 0Q761 0 735 16T694 64L473 505Q458 534 458 559Q458 583 471 609L694
+1055Z" />
+<glyph unicode="&#xac;" glyph-name="logicalnot" horiz-adv-x="1120" d="M182 911Q137 911 108 941T78 1016Q78 1037 86 1056T108 1089T141 1112T182 1120H941Q963 1120 982 1112T1015 1090T1037 1056T1046 1016V712Q1046 690 1038 671T1015 638T982 615T941
+607Q920 607 901 615T868 637T845 671T837 712V911H182Z" />
+<glyph unicode="&#xad;" glyph-name="hyphen" horiz-adv-x="800" d="M178 456Q133 456 104 485T74 560Q74 605 103 634T178 664H634Q679 664 708 635T738 560Q738 515 709 486T634 456H178Z" />
+<glyph unicode="&#xae;" glyph-name="registered" horiz-adv-x="1760" d="M1688 802Q1688 468 1452 235Q1216 0 888 0Q721 0 580 58T320 235Q201 352 144 493T86 802Q86 1132 320 1366Q553 1602 888 1602Q1220 1602 1452 1366Q1688 1134 1688 802ZM885 1435Q622
+1435 437 1250Q252 1065 252 804Q252 670 297 560T437 356Q621 172 885 172Q1016 172 1127 217T1331 356Q1516 543 1516 804Q1516 1065 1331 1250Q1146 1435 885 1435ZM717 1181V840H888Q923 840 954 853T1008 890T1045 945T1059 1011Q1059 1046 1046 1077T1009
+1131T954 1167T888 1181H717ZM888 1338Q954 1338 1013 1312T1117 1242T1188 1138T1215 1011Q1215 923 1174 851T1051 727L1250 408Q1265 386 1265 364Q1265 348 1259 334T1242 309T1217 292T1187 285Q1143 285 1119 324L895 684H717V364Q717 332 694 309T638 285Q622
+285 608 291T584 308T567 333T560 364V1260Q560 1293 583 1315T638 1338H888Z" />
+<glyph unicode="&#xaf;" glyph-name="overscore" horiz-adv-x="1120" d="M182 1671Q137 1671 108 1700T78 1775Q78 1820 107 1849T182 1879H941Q985 1879 1015 1850T1046 1775Q1046 1730 1016 1701T941 1671H182Z" />
+<glyph unicode="&#xb0;" glyph-name="degree" horiz-adv-x="960" d="M892 1167Q892 1084 860 1010T772 880T642 792T484 759Q400 759 326 791T196 880T108 1010T76 1167Q76 1250 108 1324T195 1455T325 1543T484 1576Q568 1576 642 1544T771 1455T859 1325T892
+1167ZM484 1367Q443 1367 407 1351T343 1308T300 1245T284 1167Q284 1126 299 1090T342 1026T405 984T484 968Q524 968 560 984T624 1027T667 1090T683 1167Q683 1208 667 1244T624 1308T560 1351T484 1367Z" />
+<glyph unicode="&#xb1;" glyph-name="plusminus" horiz-adv-x="1120" d="M941 683H666V408Q666 363 637 334T562 304Q517 304 487 333T457 408V683H182Q137 683 108 713T78 788Q78 833 107 862T182 892H457V1167Q457 1210 487 1241T562 1272Q607 1272 636 1242T666
+1167V892H941Q984 892 1015 862T1046 787Q1046 744 1015 714T941 683ZM182 0Q137 0 108 29T78 104Q78 149 107 178T182 208H942Q987 208 1016 179T1046 104Q1046 59 1017 30T942 0H182Z" />
+<glyph unicode="&#xb2;" glyph-name="uni00B2" horiz-adv-x="640" d="M514 923Q540 923 559 903T579 857Q579 828 560 810T514 791H138Q109 791 91 809T72 857Q72 885 89 903L410 1258Q447 1295 447 1345Q447 1370 437 1392T411 1431T372 1458T326 1468Q300 1468
+278 1458T239 1432T213 1393T203 1345Q203 1319 184 1300T138 1280Q109 1280 91 1299T72 1345Q72 1398 92 1444T147 1525T228 1580T326 1600Q377 1600 423 1580T503 1525T558 1444T579 1345Q579 1294 560 1249T505 1167L287 923H514Z" />
+<glyph unicode="&#xb3;" glyph-name="uni00B3" horiz-adv-x="640" d="M328 1165Q299 1165 280 1183T261 1231Q261 1257 280 1277T328 1298Q363 1298 387 1322T412 1382Q412 1420 387 1444T328 1468Q310 1468 295 1461T267 1443T249 1416T242 1382Q242 1356 222
+1337T176 1317Q147 1317 129 1336T110 1382Q110 1428 127 1468T175 1537T244 1584T328 1601Q372 1601 411 1583T480 1535T527 1465T545 1382Q545 1342 531 1305T492 1238Q538 1205 560 1151T583 1042Q583 990 563 944T508 862T427 807T328 786Q275 786 229 806T147
+861T92 942T72 1042Q72 1071 90 1089T138 1108Q164 1108 184 1090T204 1042Q204 1017 213 995T238 956T278 929T328 919Q354 919 376 928T414 955T440 994T450 1042Q450 1067 440 1089T414 1128T375 1155T328 1165Z" />
+<glyph unicode="&#xb4;" glyph-name="acute" horiz-adv-x="560" d="M480 1421L280 1222Q252 1194 208 1194Q163 1194 134 1223T104 1298Q104 1341 130 1369L330 1568Q362 1599 404 1599Q449 1599 478 1569T508 1494Q508 1449 480 1421Z" />
+<glyph unicode="&#xb5;" glyph-name="mu" horiz-adv-x="1200" d="M288 522Q288 457 312 400T379 301T479 234T601 209Q665 209 722 233T822 301T889 400T914 522V1016Q914 1037 922 1056T944 1089T977 1112T1018 1120Q1040 1120 1059 1112T1092 1090T1114 1056T1123
+1016V104Q1123 83 1115 64T1092 31T1059 8T1018 0Q973 0 944 30T914 103Q845 49 768 25T601 0Q421 0 288 103V-374Q288 -396 280 -415T257 -448T224 -471T183 -479Q138 -479 109 -449T79 -374V1016Q79 1037 87 1056T109 1089T142 1112T183 1120Q205 1120 224 1112T257
+1090T279 1056T288 1016V522Z" />
+<glyph unicode="&#xb6;" glyph-name="paragraph" horiz-adv-x="1120" d="M970 104Q970 83 962 64T939 31T906 8T865 0Q844 0 825 8T792 30T769 64T761 104V1390H666V104Q666 83 658 64T636 31T603 8T562 0Q540 0 521 8T488 30T465 64T457 104V783Q378 788 309
+822T189 912T108 1040T78 1190Q78 1273 110 1347T197 1478T327 1566T486 1599H941Q963 1599 982 1591T1015 1568T1037 1535T1046 1494Q1046 1458 1025 1431T970 1394V104Z" />
+<glyph unicode="&#xb7;" glyph-name="middot" horiz-adv-x="400" d="M343 750Q343 691 302 650T201 608Q142 608 101 649T59 750Q59 809 100 850T201 892Q260 892 301 851T343 750Z" />
+<glyph unicode="&#xb8;" glyph-name="cedilla" horiz-adv-x="640" d="M293 82Q324 110 366 110Q411 110 440 80T470 5Q470 -6 467 -18L458 -53Q584 -127 584 -251Q584 -348 507 -414Q434 -479 328 -479Q264 -479 205 -448L118 -395Q72 -358 72 -308Q72 -264 101
+-234T176 -203Q205 -202 232 -219L304 -264Q316 -270 328 -270Q375 -270 375 -248Q375 -226 330 -223Q285 -223 249 -190T225 -104L265 35Q271 58 293 82Z" />
+<glyph unicode="&#xb9;" glyph-name="uni00B9" horiz-adv-x="480" d="M353 855Q353 826 333 807T286 788Q260 788 240 807T220 855V1443L198 1434Q189 1430 173 1430Q144 1430 126 1448T107 1496Q107 1514 118 1531T150 1558L265 1597Q275 1600 286 1600Q312 1600
+332 1581T353 1533V855Z" />
+<glyph unicode="&#xba;" glyph-name="ordmasculine" horiz-adv-x="640" d="M72 1194Q72 1290 89 1365T138 1492T218 1572T327 1600Q386 1600 433 1573T513 1493T563 1365T581 1194Q581 1098 564 1023T513 896T433 816T327 788Q266 788 219 815T139 895T89 1023T72
+1194ZM327 1468Q297 1468 274 1447T236 1388T212 1301T204 1194Q204 1018 268 945L266 946Q290 921 327 921Q358 921 381 942T419 1000T441 1087T449 1194Q449 1372 386 1443V1442Q362 1468 327 1468Z" />
+<glyph unicode="&#xbb;" glyph-name="guillemotright" horiz-adv-x="960" d="M882 609Q895 583 895 559Q895 534 880 505L659 64Q644 32 618 16T563 0Q541 0 522 8T489 30T467 64T459 104Q459 129 468 148L673 560L468 970Q459 990 458 1015Q459 1060 488 1089T563
+1119Q595 1119 620 1103T659 1055L882 609ZM500 609Q513 583 513 559Q513 534 498 505L277 64Q262 32 236 16T181 0Q159 0 140 8T107 30T85 64T77 104Q77 129 86 148L291 560L86 970Q77 990 76 1015Q77 1060 106 1089T181 1119Q213 1119 238 1103T277 1055L500
+609Z" />
+<glyph unicode="&#xbc;" glyph-name="onequarter" horiz-adv-x="1440" d="M1189 1600Q1211 1600 1230 1592T1263 1569T1285 1536T1294 1495Q1294 1465 1278 1438L352 51Q316 0 262 0Q240 0 221 8T188 30T166 64T158 104Q158 138 173 160L1105 1558Q1133 1600 1189
+1600ZM367 704Q367 673 346 652T292 630Q261 630 240 651T218 704V1421L182 1411Q168 1406 156 1406Q124 1406 103 1427T82 1480Q82 1502 94 1520T125 1547L266 1595Q279 1600 292 1600Q324 1600 345 1579T367 1526V704ZM1069 376V657L875 376H1069ZM733 228Q701
+228 680 249T659 302Q659 325 673 345L1082 937Q1104 968 1143 968Q1175 968 1196 947T1217 894V376H1280Q1311 376 1332 355T1354 302Q1354 270 1333 249T1280 228H1217V74Q1217 42 1196 21T1143 0Q1111 0 1090 21T1069 74V228H733Z" />
+<glyph unicode="&#xbd;" glyph-name="onehalf" horiz-adv-x="1600" d="M1433 148Q1463 148 1485 127T1508 74Q1508 42 1486 21T1433 0H977Q945 0 924 21T903 74Q903 102 924 125L1313 556Q1359 602 1359 667Q1359 699 1347 727T1313 776T1264 809T1205 821Q1173
+821 1145 809T1096 776T1063 727T1051 667Q1051 635 1030 614T977 593Q945 593 924 614T903 667Q903 729 927 784T992 880T1088 945T1205 969Q1266 969 1321 945T1418 879T1483 783T1508 667Q1508 606 1485 553T1419 454L1144 148H1433ZM1189 1600Q1211 1600 1230
+1592T1263 1569T1285 1536T1294 1495Q1294 1465 1278 1438L352 51Q316 0 262 0Q240 0 221 8T188 30T166 64T158 104Q158 138 173 160L1105 1558Q1133 1600 1189 1600ZM367 704Q367 673 346 652T292 630Q261 630 240 651T218 704V1421L182 1411Q168 1406 156 1406Q124
+1406 103 1427T82 1480Q82 1502 94 1520T125 1547L266 1595Q279 1600 292 1600Q324 1600 345 1579T367 1526V704Z" />
+<glyph unicode="&#xbe;" glyph-name="threequarters" horiz-adv-x="1600" d="M385 1089Q353 1089 332 1110T311 1163Q311 1192 332 1214T385 1236Q407 1236 426 1244T461 1268T484 1302T493 1344Q493 1367 484 1386T459 1420T425 1443T385 1452Q363 1452 344 1444T309
+1420T286 1386T277 1344Q277 1329 271 1316T255 1292T231 1276T203 1270Q172 1270 151 1291T129 1344Q129 1396 149 1442T204 1524T285 1579T385 1600Q438 1600 484 1580T565 1524T620 1442T640 1344Q640 1245 573 1172Q600 1144 621 1118T657 1063T678 1003T686
+935Q686 874 662 820T597 724T501 658T385 634Q323 634 269 658T173 723T108 818T84 935Q84 967 105 988T158 1009Q190 1009 211 988T232 935Q232 903 244 875T276 827T325 795T385 783Q416 783 443 795T492 828T525 876T537 935Q537 968 525 996T492 1044T444
+1077T385 1089ZM1343 1600Q1365 1600 1384 1592T1417 1569T1439 1536T1448 1495Q1448 1465 1432 1438L506 51Q470 0 416 0Q394 0 375 8T342 30T320 64T312 104Q312 138 327 160L1259 1558Q1287 1600 1343 1600ZM1222 376V657L1028 376H1222ZM886 228Q854 228 833
+249T812 302Q812 325 826 345L1235 937Q1257 968 1296 968Q1328 968 1349 947T1370 894V376H1433Q1464 376 1485 355T1507 302Q1507 270 1486 249T1433 228H1370V74Q1370 42 1349 21T1296 0Q1264 0 1243 21T1222 74V228H886Z" />
+<glyph unicode="&#xbf;" glyph-name="questiondown" horiz-adv-x="1120" d="M562 -271Q618 -271 668 -249T755 -190T815 -102T837 4Q837 116 757 199L600 345Q457 488 457 688Q457 733 487 762T562 792Q607 792 636 763T666 688Q666 573 746 493L903 348Q1046
+202 1046 4Q1046 -94 1008 -182T903 -336T749 -441T562 -480Q463 -480 375 -442T221 -338T117 -184T78 4Q78 49 107 79T182 109Q204 109 223 101T256 79T278 45T287 4Q287 -54 308 -104T367 -191T455 -249T562 -271ZM562 835Q503 835 462 876T420 977Q420 1036
+461 1077T562 1119Q621 1119 662 1078T704 977Q704 918 663 877T562 835Z" />
+<glyph unicode="&#xc0;" glyph-name="Agrave" horiz-adv-x="1440" d="M897 752L723 1201L549 752H897ZM88 154L622 1528Q654 1600 723 1600Q794 1600 824 1528L1360 149Q1368 129 1368 106Q1368 62 1337 31T1262 0Q1218 0 1188 31Q1172 47 1164 65L979 540H467L281
+65Q273 47 257 31Q226 0 182 0Q138 0 108 31T77 106Q77 130 88 154ZM444 1974Q444 2018 473 2048T548 2079Q590 2079 622 2048L822 1849Q848 1821 848 1778Q848 1733 819 1704T744 1674Q700 1674 672 1702L472 1901Q444 1929 444 1974Z" />
+<glyph unicode="&#xc1;" glyph-name="Aacute" horiz-adv-x="1440" d="M897 752L723 1201L549 752H897ZM88 154L622 1528Q654 1600 723 1600Q794 1600 824 1528L1360 149Q1368 129 1368 106Q1368 62 1337 31T1262 0Q1218 0 1188 31Q1172 47 1164 65L979 540H467L281
+65Q273 47 257 31Q226 0 182 0Q138 0 108 31T77 106Q77 130 88 154ZM987 1901L787 1702Q759 1674 715 1674Q670 1674 641 1703T611 1778Q611 1821 637 1849L837 2048Q869 2079 911 2079Q956 2079 985 2049T1015 1974Q1015 1929 987 1901Z" />
+<glyph unicode="&#xc2;" glyph-name="Acircumflex" horiz-adv-x="1440" d="M897 752L723 1201L549 752H897ZM88 154L622 1528Q654 1600 723 1600Q794 1600 824 1528L1360 149Q1368 129 1368 106Q1368 62 1337 31T1262 0Q1218 0 1188 31Q1172 47 1164 65L979 540H467L281
+65Q273 47 257 31Q226 0 182 0Q138 0 108 31T77 106Q77 130 88 154ZM998 1913Q1048 1875 1048 1823Q1048 1778 1019 1749T944 1719Q909 1719 878 1741L716 1848L554 1741Q524 1719 488 1719Q443 1719 414 1748T384 1823Q384 1876 433 1913L662 2064Q687 2080 716
+2080Q745 2080 770 2064L998 1913Z" />
+<glyph unicode="&#xc3;" glyph-name="Atilde" horiz-adv-x="1440" d="M897 752L723 1201L549 752H897ZM88 154L622 1528Q654 1600 723 1600Q794 1600 824 1528L1360 149Q1368 129 1368 106Q1368 62 1337 31T1262 0Q1218 0 1188 31Q1172 47 1164 65L979 540H467L281
+65Q273 47 257 31Q226 0 182 0Q138 0 108 31T77 106Q77 130 88 154ZM569 1711Q531 1711 485 1722T399 1755T331 1808T304 1882Q305 1929 335 1957T408 1986Q444 1986 489 1953T573 1920Q616 1920 646 1947Q733 2029 865 2029Q902 2029 948 2018T1035 1984T1102
+1930T1130 1858Q1130 1813 1100 1784T1025 1754Q993 1754 946 1787T862 1820Q821 1820 788 1793Q698 1711 569 1711Z" />
+<glyph unicode="&#xc4;" glyph-name="Adieresis" horiz-adv-x="1440" d="M897 752L723 1201L549 752H897ZM88 154L622 1528Q654 1600 723 1600Q794 1600 824 1528L1360 149Q1368 129 1368 106Q1368 62 1337 31T1262 0Q1218 0 1188 31Q1172 47 1164 65L979 540H467L281
+65Q273 47 257 31Q226 0 182 0Q138 0 108 31T77 106Q77 130 88 154ZM619 1839Q619 1788 583 1752T496 1716Q445 1716 409 1752T373 1839Q373 1890 409 1926T496 1962Q547 1962 583 1926T619 1839ZM1074 1839Q1074 1788 1038 1752T951 1716Q900 1716 864 1752T828
+1839Q828 1890 864 1926T951 1962Q1002 1962 1038 1926T1074 1839Z" />
+<glyph unicode="&#xc5;" glyph-name="Aring" horiz-adv-x="1440" d="M897 752L723 1201L549 752H897ZM88 154L622 1528Q654 1600 723 1600Q794 1600 824 1528L1360 149Q1368 129 1368 106Q1368 62 1337 31T1262 0Q1218 0 1188 31Q1172 47 1164 65L979 540H467L281
+65Q273 47 257 31Q226 0 182 0Q138 0 108 31T77 106Q77 130 88 154ZM938 1859Q938 1814 921 1774T873 1704T804 1657T719 1639Q674 1639 634 1656T564 1703T517 1773T499 1859Q499 1904 516 1944T564 2014T634 2061T719 2079Q764 2079 804 2061T874 2013T921 1943T938
+1859ZM719 1926Q691 1926 671 1906T651 1859Q651 1831 671 1812T719 1792Q746 1792 765 1811T785 1859Q785 1886 766 1906T719 1926Z" />
+<glyph unicode="&#xc6;" glyph-name="AE" horiz-adv-x="1760" d="M851 1084L710 829H851V1084ZM1574 1600Q1596 1600 1615 1592T1649 1570T1672 1536T1680 1494Q1680 1471 1672 1452T1650 1419T1616 1396T1574 1388H1063V829H1420Q1442 829 1461 821T1495 799T1518
+765T1526 723Q1526 700 1518 681T1496 648T1462 625T1420 617H1063V212H1574Q1596 212 1615 204T1649 182T1672 148T1680 106Q1680 83 1672 64T1650 31T1616 8T1574 0H957Q934 0 915 8T882 30T859 64T851 106V617H592L275 47Q243 0 186 0Q163 0 144 8T111 30T88
+64T80 106Q80 135 95 159L867 1550Q894 1600 957 1600H1574Z" />
+<glyph unicode="&#xc7;" glyph-name="Ccedilla" horiz-adv-x="1480" d="M1308 360Q1330 360 1349 352T1382 329T1405 296T1414 254Q1414 212 1381 178Q1158 0 878 0Q546 0 312 234Q78 468 78 800Q78 1131 312 1365Q547 1600 878 1600Q1162 1600 1391 1413Q1419
+1386 1419 1340Q1419 1317 1411 1298T1389 1265T1355 1242T1313 1234Q1274 1234 1240 1264Q1164 1324 1073 1356T878 1388Q634 1388 461 1215Q290 1044 290 800Q290 555 461 384Q633 212 878 212Q1087 212 1246 341Q1272 359 1308 360ZM719 82Q750 110 792 110Q837
+110 866 80T896 5Q896 -6 893 -18L884 -53Q1010 -127 1010 -251Q1010 -348 933 -414Q860 -479 754 -479Q690 -479 631 -448L544 -395Q498 -358 498 -308Q498 -264 527 -234T602 -203Q631 -202 658 -219L730 -264Q742 -270 754 -270Q801 -270 801 -248Q801 -226
+756 -223Q711 -223 675 -190T651 -104L691 35Q697 58 719 82Z" />
+<glyph unicode="&#xc8;" glyph-name="Egrave" horiz-adv-x="1280" d="M1108 212Q1152 212 1183 181T1214 106Q1214 62 1183 31T1108 0H183Q160 0 141 8T108 30T85 64T77 106V1494Q77 1516 85 1535T107 1569T141 1592T183 1600H1108Q1152 1600 1183 1569T1214 1494Q1214
+1450 1183 1419T1108 1388H289V906H877Q921 906 952 875T983 800Q983 756 952 725T877 694H289V212H1108ZM366 1974Q366 2018 395 2048T470 2079Q512 2079 544 2048L744 1849Q770 1821 770 1778Q770 1733 741 1704T666 1674Q622 1674 594 1702L394 1901Q366 1929
+366 1974Z" />
+<glyph unicode="&#xc9;" glyph-name="Eacute" horiz-adv-x="1280" d="M1108 212Q1152 212 1183 181T1214 106Q1214 62 1183 31T1108 0H183Q160 0 141 8T108 30T85 64T77 106V1494Q77 1516 85 1535T107 1569T141 1592T183 1600H1108Q1152 1600 1183 1569T1214 1494Q1214
+1450 1183 1419T1108 1388H289V906H877Q921 906 952 875T983 800Q983 756 952 725T877 694H289V212H1108ZM909 1901L709 1702Q681 1674 637 1674Q592 1674 563 1703T533 1778Q533 1821 559 1849L759 2048Q791 2079 833 2079Q878 2079 907 2049T937 1974Q937 1929
+909 1901Z" />
+<glyph unicode="&#xca;" glyph-name="Ecircumflex" horiz-adv-x="1280" d="M1108 212Q1152 212 1183 181T1214 106Q1214 62 1183 31T1108 0H183Q160 0 141 8T108 30T85 64T77 106V1494Q77 1516 85 1535T107 1569T141 1592T183 1600H1108Q1152 1600 1183 1569T1214
+1494Q1214 1450 1183 1419T1108 1388H289V906H877Q921 906 952 875T983 800Q983 756 952 725T877 694H289V212H1108ZM918 1913Q968 1875 968 1823Q968 1778 939 1749T864 1719Q829 1719 798 1741L636 1848L474 1741Q444 1719 408 1719Q363 1719 334 1748T304 1823Q304
+1876 353 1913L582 2064Q607 2080 636 2080Q665 2080 690 2064L918 1913Z" />
+<glyph unicode="&#xcb;" glyph-name="Edieresis" horiz-adv-x="1280" d="M1108 212Q1152 212 1183 181T1214 106Q1214 62 1183 31T1108 0H183Q160 0 141 8T108 30T85 64T77 106V1494Q77 1516 85 1535T107 1569T141 1592T183 1600H1108Q1152 1600 1183 1569T1214
+1494Q1214 1450 1183 1419T1108 1388H289V906H877Q921 906 952 875T983 800Q983 756 952 725T877 694H289V212H1108ZM541 1839Q541 1788 505 1752T418 1716Q367 1716 331 1752T295 1839Q295 1890 331 1926T418 1962Q469 1962 505 1926T541 1839ZM996 1839Q996 1788
+960 1752T873 1716Q822 1716 786 1752T750 1839Q750 1890 786 1926T873 1962Q924 1962 960 1926T996 1839Z" />
+<glyph unicode="&#xcc;" glyph-name="Igrave" horiz-adv-x="480" d="M605 106Q605 62 574 31T499 0Q455 0 424 31T393 106V1494Q393 1538 424 1569T499 1600Q543 1600 574 1569T605 1494V106ZM-3 1974Q-3 2018 26 2048T101 2079Q143 2079 175 2048L375 1849Q401
+1821 401 1778Q401 1733 372 1704T297 1674Q253 1674 225 1702L25 1901Q-3 1929 -3 1974Z" />
+<glyph unicode="&#xcd;" glyph-name="Iacute" horiz-adv-x="480" d="M605 106Q605 62 574 31T499 0Q455 0 424 31T393 106V1494Q393 1538 424 1569T499 1600Q543 1600 574 1569T605 1494V106ZM448 1901L248 1702Q220 1674 176 1674Q131 1674 102 1703T72 1778Q72
+1821 98 1849L298 2048Q330 2079 372 2079Q417 2079 446 2049T476 1974Q476 1929 448 1901Z" />
+<glyph unicode="&#xce;" glyph-name="Icircumflex" horiz-adv-x="480" d="M605 106Q605 62 574 31T499 0Q455 0 424 31T393 106V1494Q393 1538 424 1569T499 1600Q543 1600 574 1569T605 1494V106ZM531 1913Q581 1875 581 1823Q581 1778 552 1749T477 1719Q442
+1719 411 1741L249 1848L87 1741Q57 1719 21 1719Q-24 1719 -53 1748T-83 1823Q-83 1876 -34 1913L195 2064Q220 2080 249 2080Q278 2080 303 2064L531 1913Z" />
+<glyph unicode="&#xcf;" glyph-name="Idieresis" horiz-adv-x="480" d="M605 106Q605 62 574 31T499 0Q455 0 424 31T393 106V1494Q393 1538 424 1569T499 1600Q543 1600 574 1569T605 1494V106ZM142 1839Q142 1788 106 1752T19 1716Q-32 1716 -68 1752T-104 1839Q-104
+1890 -68 1926T19 1962Q70 1962 106 1926T142 1839ZM597 1839Q597 1788 561 1752T474 1716Q423 1716 387 1752T351 1839Q351 1890 387 1926T474 1962Q525 1962 561 1926T597 1839Z" />
+<glyph unicode="&#xd0;" glyph-name="Eth" horiz-adv-x="1520" d="M230 906V1494Q230 1516 238 1535T261 1569T295 1591T336 1600H645Q975 1600 1210 1365Q1328 1247 1386 1108T1445 800Q1445 469 1210 234Q976 0 645 0H336Q314 0 295 8T262 31T239 64T230 106V694H106Q83
+694 64 702T31 724T8 758T0 800Q0 822 8 841T30 875T64 898T106 906H230ZM442 906H722Q767 906 797 876T828 800Q828 777 820 758T798 725T764 702T722 694H442V212H645Q888 212 1060 384Q1147 471 1190 573T1233 800Q1233 1042 1060 1215Q887 1388 645 1388H442V906Z"
+/>
+<glyph unicode="&#xd1;" glyph-name="Ntilde" horiz-adv-x="1440" d="M77 106V1494Q77 1516 85 1535T107 1569T141 1592T183 1600Q230 1600 265 1561L1157 414V1494Q1157 1538 1188 1569T1263 1600Q1307 1600 1338 1569T1369 1494V106Q1369 83 1361 64T1339 31T1305
+8T1263 0Q1216 0 1182 37L289 1184V106Q289 62 258 31T183 0Q139 0 108 31T77 106ZM569 1711Q531 1711 485 1722T399 1755T331 1808T304 1882Q305 1929 335 1957T408 1986Q444 1986 489 1953T573 1920Q616 1920 646 1947Q733 2029 865 2029Q902 2029 948 2018T1035
+1984T1102 1930T1130 1858Q1130 1813 1100 1784T1025 1754Q993 1754 946 1787T862 1820Q821 1820 788 1793Q698 1711 569 1711Z" />
+<glyph unicode="&#xd2;" glyph-name="Ograve" horiz-adv-x="1760" d="M880 1388Q756 1388 654 1345T464 1215Q377 1128 335 1026T292 800Q292 556 464 384Q636 212 880 212Q1124 212 1296 384Q1468 556 1468 800Q1468 1043 1296 1215Q1123 1388 880 1388ZM1680
+800Q1680 469 1445 234Q1211 0 880 0Q548 0 314 234Q80 468 80 800Q80 1131 314 1365Q549 1600 880 1600Q1210 1600 1445 1365Q1563 1247 1621 1107T1680 800ZM684 1974Q684 2018 713 2048T788 2079Q830 2079 862 2048L1062 1849Q1088 1821 1088 1778Q1088 1733
+1059 1704T984 1674Q940 1674 912 1702L712 1901Q684 1929 684 1974Z" />
+<glyph unicode="&#xd3;" glyph-name="Oacute" horiz-adv-x="1760" d="M880 1388Q756 1388 654 1345T464 1215Q377 1128 335 1026T292 800Q292 556 464 384Q636 212 880 212Q1124 212 1296 384Q1468 556 1468 800Q1468 1043 1296 1215Q1123 1388 880 1388ZM1680
+800Q1680 469 1445 234Q1211 0 880 0Q548 0 314 234Q80 468 80 800Q80 1131 314 1365Q549 1600 880 1600Q1210 1600 1445 1365Q1563 1247 1621 1107T1680 800ZM1077 1901L877 1702Q849 1674 805 1674Q760 1674 731 1703T701 1778Q701 1821 727 1849L927 2048Q959
+2079 1001 2079Q1046 2079 1075 2049T1105 1974Q1105 1929 1077 1901Z" />
+<glyph unicode="&#xd4;" glyph-name="Ocircumflex" horiz-adv-x="1760" d="M880 1388Q756 1388 654 1345T464 1215Q377 1128 335 1026T292 800Q292 556 464 384Q636 212 880 212Q1124 212 1296 384Q1468 556 1468 800Q1468 1043 1296 1215Q1123 1388 880 1388ZM1680
+800Q1680 469 1445 234Q1211 0 880 0Q548 0 314 234Q80 468 80 800Q80 1131 314 1365Q549 1600 880 1600Q1210 1600 1445 1365Q1563 1247 1621 1107T1680 800ZM1158 1913Q1208 1875 1208 1823Q1208 1778 1179 1749T1104 1719Q1069 1719 1038 1741L876 1848L714
+1741Q684 1719 648 1719Q603 1719 574 1748T544 1823Q544 1876 593 1913L822 2064Q847 2080 876 2080Q905 2080 930 2064L1158 1913Z" />
+<glyph unicode="&#xd5;" glyph-name="Otilde" horiz-adv-x="1760" d="M880 1388Q756 1388 654 1345T464 1215Q377 1128 335 1026T292 800Q292 556 464 384Q636 212 880 212Q1124 212 1296 384Q1468 556 1468 800Q1468 1043 1296 1215Q1123 1388 880 1388ZM1680
+800Q1680 469 1445 234Q1211 0 880 0Q548 0 314 234Q80 468 80 800Q80 1131 314 1365Q549 1600 880 1600Q1210 1600 1445 1365Q1563 1247 1621 1107T1680 800ZM729 1711Q691 1711 645 1722T559 1755T491 1808T464 1882Q465 1929 495 1957T568 1986Q604 1986 649
+1953T733 1920Q776 1920 806 1947Q893 2029 1025 2029Q1062 2029 1108 2018T1195 1984T1262 1930T1290 1858Q1290 1813 1260 1784T1185 1754Q1153 1754 1106 1787T1022 1820Q981 1820 948 1793Q858 1711 729 1711Z" />
+<glyph unicode="&#xd6;" glyph-name="Odieresis" horiz-adv-x="1760" d="M880 1388Q756 1388 654 1345T464 1215Q377 1128 335 1026T292 800Q292 556 464 384Q636 212 880 212Q1124 212 1296 384Q1468 556 1468 800Q1468 1043 1296 1215Q1123 1388 880 1388ZM1680
+800Q1680 469 1445 234Q1211 0 880 0Q548 0 314 234Q80 468 80 800Q80 1131 314 1365Q549 1600 880 1600Q1210 1600 1445 1365Q1563 1247 1621 1107T1680 800ZM779 1839Q779 1788 743 1752T656 1716Q605 1716 569 1752T533 1839Q533 1890 569 1926T656 1962Q707
+1962 743 1926T779 1839ZM1234 1839Q1234 1788 1198 1752T1111 1716Q1060 1716 1024 1752T988 1839Q988 1890 1024 1926T1111 1962Q1162 1962 1198 1926T1234 1839Z" />
+<glyph unicode="&#xd7;" glyph-name="multiply" horiz-adv-x="960" d="M336 712L104 943Q76 974 76 1016Q76 1037 84 1056T106 1089T139 1112T180 1120Q224 1120 255 1089L484 860L713 1089Q744 1120 788 1120Q809 1120 828 1112T861 1090T884 1056T892 1016Q892
+975 863 943L632 712L863 481Q892 450 892 408Q892 386 884 367T862 334T828 312T788 304Q743 304 715 331L484 564L251 331Q223 304 180 304Q135 304 106 333T76 408Q76 454 104 481L336 712Z" />
+<glyph unicode="&#xd8;" glyph-name="Oslash" horiz-adv-x="1760" d="M1516 1286Q1600 1180 1640 1060T1680 800Q1680 469 1445 234Q1211 0 880 0Q740 0 620 40T394 164L261 30Q229 0 186 0Q163 0 144 8T111 30T88 64T80 106Q80 150 108 178L244 314Q160 420 120
+540T80 800Q80 1131 314 1365Q549 1600 880 1600Q1020 1600 1140 1560T1366 1436L1499 1569Q1530 1600 1574 1600Q1596 1600 1615 1592T1649 1570T1672 1536T1680 1494Q1680 1455 1656 1427L1516 1286ZM1215 1285Q1069 1388 880 1388Q756 1388 654 1345T464 1215Q377
+1128 335 1026T292 800Q292 611 395 466L1215 1285ZM546 315Q691 212 880 212Q1124 212 1296 384Q1468 556 1468 800Q1468 985 1364 1134L546 315Z" />
+<glyph unicode="&#xd9;" glyph-name="Ugrave" horiz-adv-x="1280" d="M288 1494V569Q288 496 316 431T392 318T505 241T644 212Q718 212 783 240T896 317T973 430T1001 569V1494Q1001 1538 1032 1569T1107 1600Q1151 1600 1182 1569T1213 1494V569Q1213 491 1193
+419T1135 284T1046 168T931 79T795 21T644 0Q408 0 243 167Q76 334 76 569V1494Q76 1538 107 1569T182 1600Q226 1600 257 1569T288 1494ZM364 1974Q364 2018 393 2048T468 2079Q510 2079 542 2048L742 1849Q768 1821 768 1778Q768 1733 739 1704T664 1674Q620
+1674 592 1702L392 1901Q364 1929 364 1974Z" />
+<glyph unicode="&#xda;" glyph-name="Uacute" horiz-adv-x="1280" d="M288 1494V569Q288 496 316 431T392 318T505 241T644 212Q718 212 783 240T896 317T973 430T1001 569V1494Q1001 1538 1032 1569T1107 1600Q1151 1600 1182 1569T1213 1494V569Q1213 491 1193
+419T1135 284T1046 168T931 79T795 21T644 0Q408 0 243 167Q76 334 76 569V1494Q76 1538 107 1569T182 1600Q226 1600 257 1569T288 1494ZM907 1901L707 1702Q679 1674 635 1674Q590 1674 561 1703T531 1778Q531 1821 557 1849L757 2048Q789 2079 831 2079Q876
+2079 905 2049T935 1974Q935 1929 907 1901Z" />
+<glyph unicode="&#xdb;" glyph-name="Ucircumflex" horiz-adv-x="1280" d="M288 1494V569Q288 496 316 431T392 318T505 241T644 212Q718 212 783 240T896 317T973 430T1001 569V1494Q1001 1538 1032 1569T1107 1600Q1151 1600 1182 1569T1213 1494V569Q1213 491
+1193 419T1135 284T1046 168T931 79T795 21T644 0Q408 0 243 167Q76 334 76 569V1494Q76 1538 107 1569T182 1600Q226 1600 257 1569T288 1494ZM918 1913Q968 1875 968 1823Q968 1778 939 1749T864 1719Q829 1719 798 1741L636 1848L474 1741Q444 1719 408 1719Q363
+1719 334 1748T304 1823Q304 1876 353 1913L582 2064Q607 2080 636 2080Q665 2080 690 2064L918 1913Z" />
+<glyph unicode="&#xdc;" glyph-name="Udieresis" horiz-adv-x="1280" d="M288 1494V569Q288 496 316 431T392 318T505 241T644 212Q718 212 783 240T896 317T973 430T1001 569V1494Q1001 1538 1032 1569T1107 1600Q1151 1600 1182 1569T1213 1494V569Q1213 491
+1193 419T1135 284T1046 168T931 79T795 21T644 0Q408 0 243 167Q76 334 76 569V1494Q76 1538 107 1569T182 1600Q226 1600 257 1569T288 1494ZM539 1839Q539 1788 503 1752T416 1716Q365 1716 329 1752T293 1839Q293 1890 329 1926T416 1962Q467 1962 503 1926T539
+1839ZM994 1839Q994 1788 958 1752T871 1716Q820 1716 784 1752T748 1839Q748 1890 784 1926T871 1962Q922 1962 958 1926T994 1839Z" />
+<glyph unicode="&#xdd;" glyph-name="Yacute" horiz-adv-x="1280" d="M268 1556L644 993L1020 1556Q1051 1600 1107 1600Q1151 1600 1181 1569T1212 1494Q1212 1458 1196 1434L750 768V106Q750 62 719 31T644 0Q601 0 570 31T538 106V768L93 1434Q76 1460 76 1494Q76
+1538 107 1569T182 1600Q238 1600 268 1556ZM907 1901L707 1702Q679 1674 635 1674Q590 1674 561 1703T531 1778Q531 1821 557 1849L757 2048Q789 2079 831 2079Q876 2079 905 2049T935 1974Q935 1929 907 1901Z" />
+<glyph unicode="&#xde;" glyph-name="Thorn" horiz-adv-x="1280" d="M76 1494Q76 1516 84 1535T106 1569T140 1592T182 1600Q204 1600 223 1592T257 1570T280 1536T288 1494V1292H722Q822 1292 911 1253T1068 1147T1174 991T1213 800Q1213 698 1174 609T1067 452T911
+347T722 308H288V106Q288 83 280 64T258 31T224 8T182 0Q159 0 140 8T107 30T84 64T76 106V1494ZM722 520Q780 520 831 542T919 602T979 691T1001 800Q1001 858 979 909T919 998T830 1058T722 1080H288V520H722Z" />
+<glyph unicode="&#xdf;" glyph-name="germandbls" horiz-adv-x="1120" d="M290 105Q290 84 282 65T259 31T225 8T183 0Q161 0 142 8T109 31T86 65T78 105V1183Q78 1267 110 1343T199 1475T331 1565T492 1598Q577 1598 652 1565T783 1476T872 1344T905 1183Q905
+1031 810 920Q793 894 793 863Q793 806 832 785Q886 756 928 716T1000 628T1044 526T1060 414Q1060 329 1027 254T938 122T806 33T646 0Q474 0 353 122Q319 155 319 199Q319 220 327 239T350 273T383 296T425 304Q467 304 503 272Q563 212 646 212Q686 212 723
+228T787 271T831 335T848 414Q848 499 789 558V557Q760 582 723 607T668 651Q578 739 578 864Q578 977 655 1065Q693 1112 693 1183Q693 1225 677 1262T633 1326T569 1370T492 1386Q450 1386 413 1371T349 1328T306 1263T290 1183V105Z" />
+<glyph unicode="&#xe0;" glyph-name="agrave" horiz-adv-x="1280" d="M640 911Q566 911 502 883T391 808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM991 104V124Q916
+64 828 32T640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1200 792 1200 560V104Q1200 61 1170 31T1096 0Q1052 0 1022 30T991 104ZM402 1494Q402 1538 431 1568T506 1599Q548 1599 580 1568L780 1369Q806 1341 806 1298Q806
+1253 777 1224T702 1194Q658 1194 630 1222L430 1421Q402 1449 402 1494Z" />
+<glyph unicode="&#xe1;" glyph-name="aacute" horiz-adv-x="1280" d="M640 911Q566 911 502 883T391 808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM991 104V124Q916
+64 828 32T640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1200 792 1200 560V104Q1200 61 1170 31T1096 0Q1052 0 1022 30T991 104ZM856 1421L656 1222Q628 1194 584 1194Q539 1194 510 1223T480 1298Q480 1341 506 1369L706
+1568Q738 1599 780 1599Q825 1599 854 1569T884 1494Q884 1449 856 1421Z" />
+<glyph unicode="&#xe2;" glyph-name="acircumflex" horiz-adv-x="1280" d="M640 911Q566 911 502 883T391 808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM991
+104V124Q916 64 828 32T640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1200 792 1200 560V104Q1200 61 1170 31T1096 0Q1052 0 1022 30T991 104ZM918 1433Q968 1395 968 1343Q968 1298 939 1269T864 1239Q829 1239 798
+1261L636 1368L474 1261Q444 1239 408 1239Q363 1239 334 1268T304 1343Q304 1396 353 1433L582 1584Q607 1600 636 1600Q665 1600 690 1584L918 1433Z" />
+<glyph unicode="&#xe3;" glyph-name="atilde" horiz-adv-x="1280" d="M640 911Q566 911 502 883T391 808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM991 104V124Q916
+64 828 32T640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1200 792 1200 560V104Q1200 61 1170 31T1096 0Q1052 0 1022 30T991 104ZM496 1231Q458 1231 412 1242T326 1275T258 1328T231 1402Q232 1449 262 1477T335 1506Q371
+1506 416 1473T500 1440Q543 1440 573 1467Q660 1549 792 1549Q829 1549 875 1538T962 1504T1029 1450T1057 1378Q1057 1333 1027 1304T952 1274Q920 1274 873 1307T789 1340Q748 1340 715 1313Q625 1231 496 1231Z" />
+<glyph unicode="&#xe4;" glyph-name="adieresis" horiz-adv-x="1280" d="M640 911Q566 911 502 883T391 808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM991
+104V124Q916 64 828 32T640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1200 792 1200 560V104Q1200 61 1170 31T1096 0Q1052 0 1022 30T991 104ZM539 1359Q539 1308 503 1272T416 1236Q365 1236 329 1272T293 1359Q293
+1410 329 1446T416 1482Q467 1482 503 1446T539 1359ZM994 1359Q994 1308 958 1272T871 1236Q820 1236 784 1272T748 1359Q748 1410 784 1446T871 1482Q922 1482 958 1446T994 1359Z" />
+<glyph unicode="&#xe5;" glyph-name="aring" horiz-adv-x="1280" d="M640 911Q566 911 502 883T391 808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM991 104V124Q916
+64 828 32T640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1200 792 1200 560V104Q1200 61 1170 31T1096 0Q1052 0 1022 30T991 104ZM859 1379Q859 1334 842 1294T794 1224T725 1177T640 1159Q595 1159 555 1176T485 1223T438
+1293T420 1379Q420 1424 437 1464T485 1534T555 1581T640 1599Q685 1599 725 1581T795 1533T842 1463T859 1379ZM640 1446Q612 1446 592 1426T572 1379Q572 1351 592 1332T640 1312Q667 1312 686 1331T706 1379Q706 1406 687 1426T640 1446Z" />
+<glyph unicode="&#xe6;" glyph-name="ae" horiz-adv-x="2240" d="M652 911Q579 911 515 884T404 809T329 697T301 560Q301 487 328 423T403 312T515 237T652 209Q725 209 789 236T900 311T975 423T1003 560Q1003 633 976 697T901 808T789 883T652 911ZM1900 664Q1883
+719 1850 765T1771 843T1673 893T1563 911Q1507 911 1453 893T1354 843T1276 765T1226 664H1900ZM1212 104Q1212 83 1204 64T1182 31T1148 8T1108 0Q1086 0 1067 8T1034 30T1011 64T1003 104V124Q928 64 840 32T652 0Q420 0 256 164Q92 328 92 560Q92 792 256 956Q420
+1120 652 1120Q793 1120 903 1062T1108 887Q1156 945 1206 988T1312 1061T1430 1105T1563 1120Q1795 1120 1959 956Q2123 792 2123 560Q2123 515 2094 486T2019 456H1226Q1244 399 1277 354T1355 276T1453 227T1563 209Q1629 209 1684 229T1786 289Q1818 315 1855
+315Q1899 315 1929 286T1960 211Q1960 166 1929 136Q1774 0 1563 0Q1463 0 1375 32T1212 124V104Z" />
+<glyph unicode="&#xe7;" glyph-name="ccedilla" horiz-adv-x="1120" d="M932 317Q977 317 1006 288T1036 213Q1036 169 1003 136Q848 0 638 0Q406 0 242 164Q78 328 78 560Q78 792 242 956Q406 1120 638 1120Q849 1120 1003 984Q1039 952 1039 905Q1039 860 1010
+830T935 800Q897 800 867 824Q816 867 760 889T638 911Q565 911 501 884T389 809T314 697T286 560Q286 487 313 423T389 312T501 237T638 209Q704 209 760 230T866 295Q894 316 932 317ZM530 82Q561 110 603 110Q648 110 677 80T707 5Q707 -6 704 -18L695 -53Q821
+-127 821 -251Q821 -348 744 -414Q671 -479 565 -479Q501 -479 442 -448L355 -395Q309 -358 309 -308Q309 -264 338 -234T413 -203Q442 -202 469 -219L541 -264Q553 -270 565 -270Q612 -270 612 -248Q612 -226 567 -223Q522 -223 486 -190T462 -104L502 35Q508
+58 530 82Z" />
+<glyph unicode="&#xe8;" glyph-name="egrave" horiz-adv-x="1280" d="M977 664Q960 719 927 764T849 842T751 893T640 911Q583 911 529 893T430 843T352 765T303 664H977ZM932 315Q977 315 1006 286T1036 211Q1036 167 1006 136Q851 0 640 0Q408 0 244 164Q80
+328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1118 875 1159 776T1200 560Q1200 515 1170 486T1095 456H303Q320 401 353 356T430 278T528 227T640 209Q706 209 761 229T863 289Q893 314 932 315ZM401 1494Q401 1538 430 1568T505 1599Q547
+1599 579 1568L779 1369Q805 1341 805 1298Q805 1253 776 1224T701 1194Q657 1194 629 1222L429 1421Q401 1449 401 1494Z" />
+<glyph unicode="&#xe9;" glyph-name="eacute" horiz-adv-x="1280" d="M977 664Q960 719 927 764T849 842T751 893T640 911Q583 911 529 893T430 843T352 765T303 664H977ZM932 315Q977 315 1006 286T1036 211Q1036 167 1006 136Q851 0 640 0Q408 0 244 164Q80
+328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1118 875 1159 776T1200 560Q1200 515 1170 486T1095 456H303Q320 401 353 356T430 278T528 227T640 209Q706 209 761 229T863 289Q893 314 932 315ZM856 1421L656 1222Q628 1194 584 1194Q539
+1194 510 1223T480 1298Q480 1341 506 1369L706 1568Q738 1599 780 1599Q825 1599 854 1569T884 1494Q884 1449 856 1421Z" />
+<glyph unicode="&#xea;" glyph-name="ecircumflex" horiz-adv-x="1280" d="M977 664Q960 719 927 764T849 842T751 893T640 911Q583 911 529 893T430 843T352 765T303 664H977ZM932 315Q977 315 1006 286T1036 211Q1036 167 1006 136Q851 0 640 0Q408 0 244 164Q80
+328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1118 875 1159 776T1200 560Q1200 515 1170 486T1095 456H303Q320 401 353 356T430 278T528 227T640 209Q706 209 761 229T863 289Q893 314 932 315ZM918 1433Q968 1395 968 1343Q968 1298 939
+1269T864 1239Q829 1239 798 1261L636 1368L474 1261Q444 1239 408 1239Q363 1239 334 1268T304 1343Q304 1396 353 1433L582 1584Q607 1600 636 1600Q665 1600 690 1584L918 1433Z" />
+<glyph unicode="&#xeb;" glyph-name="edieresis" horiz-adv-x="1280" d="M977 664Q960 719 927 764T849 842T751 893T640 911Q583 911 529 893T430 843T352 765T303 664H977ZM932 315Q977 315 1006 286T1036 211Q1036 167 1006 136Q851 0 640 0Q408 0 244 164Q80
+328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1118 875 1159 776T1200 560Q1200 515 1170 486T1095 456H303Q320 401 353 356T430 278T528 227T640 209Q706 209 761 229T863 289Q893 314 932 315ZM539 1359Q539 1308 503 1272T416 1236Q365
+1236 329 1272T293 1359Q293 1410 329 1446T416 1482Q467 1482 503 1446T539 1359ZM994 1359Q994 1308 958 1272T871 1236Q820 1236 784 1272T748 1359Q748 1410 784 1446T871 1482Q922 1482 958 1446T994 1359Z" />
+<glyph unicode="&#xec;" glyph-name="igrave" horiz-adv-x="480" d="M393 105V1015Q393 1059 423 1089T497 1120Q540 1120 570 1090T602 1015V105Q601 61 571 31T497 0Q454 0 424 30T393 105ZM260 1494Q260 1538 289 1568T364 1599Q406 1599 438 1568L638 1369Q664
+1341 664 1298Q664 1253 635 1224T560 1194Q516 1194 488 1222L288 1421Q260 1449 260 1494Z" />
+<glyph unicode="&#xed;" glyph-name="iacute" horiz-adv-x="480" d="M393 105V1015Q393 1059 423 1089T497 1120Q540 1120 570 1090T602 1015V105Q601 61 571 31T497 0Q454 0 424 30T393 105ZM709 1421L509 1222Q481 1194 437 1194Q392 1194 363 1223T333 1298Q333
+1341 359 1369L559 1568Q591 1599 633 1599Q678 1599 707 1569T737 1494Q737 1449 709 1421Z" />
+<glyph unicode="&#xee;" glyph-name="icircumflex" horiz-adv-x="560" d="M180 105V1015Q180 1059 210 1089T284 1120Q327 1120 357 1090T389 1015V105Q388 61 358 31T284 0Q241 0 211 30T180 105ZM820 1433Q870 1395 870 1343Q870 1298 841 1269T766 1239Q731
+1239 700 1261L538 1368L376 1261Q346 1239 310 1239Q265 1239 236 1268T206 1343Q206 1396 255 1433L484 1584Q509 1600 538 1600Q567 1600 592 1584L820 1433Z" />
+<glyph unicode="&#xef;" glyph-name="idieresis" horiz-adv-x="600" d="M196 105V1015Q196 1059 226 1089T300 1120Q343 1120 373 1090T405 1015V105Q404 61 374 31T300 0Q257 0 227 30T196 105ZM203 1359Q203 1308 167 1272T80 1236Q29 1236 -7 1272T-43 1359Q-43
+1410 -7 1446T80 1482Q131 1482 167 1446T203 1359ZM658 1359Q658 1308 622 1272T535 1236Q484 1236 448 1272T412 1359Q412 1410 448 1446T535 1482Q586 1482 622 1446T658 1359Z" />
+<glyph unicode="&#xf0;" glyph-name="eth" horiz-adv-x="1280" d="M638 924Q563 924 498 896T386 819T310 706T282 568Q282 495 310 430T385 317T498 241T638 212Q712 212 777 240T890 317T966 430T994 568Q994 641 966 705T890 818T777 895T638 924ZM554 1429L538
+1457Q531 1473 531 1495Q531 1517 539 1536T562 1569T596 1592T638 1601Q688 1601 713 1568L735 1535L831 1592Q850 1601 876 1601Q904 1601 929 1588T968 1550Q982 1525 982 1495Q982 1468 969 1443T930 1404L843 1353L1137 842Q1172 781 1189 712T1206 568Q1206
+331 1039 166Q871 0 638 0Q403 0 236 166Q70 333 70 568Q70 803 236 969Q403 1136 638 1136Q682 1136 724 1130L659 1246L549 1183Q529 1173 503 1173Q475 1173 451 1186T412 1223Q398 1248 398 1278Q398 1305 410 1330T449 1369L554 1429Z" />
+<glyph unicode="&#xf1;" glyph-name="ntilde" horiz-adv-x="1200" d="M288 1017Q421 1120 601 1120Q706 1120 800 1079T967 968T1081 802T1123 598V105Q1123 61 1093 31T1019 0Q975 0 945 30T914 105V598Q914 662 889 719T822 818T722 886T601 911Q536 911 480
+887T380 819T313 719T288 598V105Q288 61 258 31T184 0Q140 0 110 30T79 105V1015Q79 1058 109 1089T184 1120Q227 1120 257 1089T288 1017ZM461 1231Q423 1231 377 1242T291 1275T223 1328T196 1402Q197 1449 227 1477T300 1506Q336 1506 381 1473T465 1440Q508
+1440 538 1467Q625 1549 757 1549Q794 1549 840 1538T927 1504T994 1450T1022 1378Q1022 1333 992 1304T917 1274Q885 1274 838 1307T754 1340Q713 1340 680 1313Q590 1231 461 1231Z" />
+<glyph unicode="&#xf2;" glyph-name="ograve" horiz-adv-x="1280" d="M1200 560Q1200 326 1036 164Q870 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1118 874 1158 775T1200 560ZM640 911Q566 911 502 883T391
+808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM401 1494Q401 1538 430 1568T505 1599Q547 1599 579 1568L779 1369Q805 1341 805 1298Q805 1253 776 1224T701
+1194Q657 1194 629 1222L429 1421Q401 1449 401 1494Z" />
+<glyph unicode="&#xf3;" glyph-name="oacute" horiz-adv-x="1280" d="M1200 560Q1200 326 1036 164Q870 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1118 874 1158 775T1200 560ZM640 911Q566 911 502 883T391
+808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM856 1421L656 1222Q628 1194 584 1194Q539 1194 510 1223T480 1298Q480 1341 506 1369L706 1568Q738 1599 780
+1599Q825 1599 854 1569T884 1494Q884 1449 856 1421Z" />
+<glyph unicode="&#xf4;" glyph-name="ocircumflex" horiz-adv-x="1280" d="M1200 560Q1200 326 1036 164Q870 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1118 874 1158 775T1200 560ZM640 911Q566 911 502 883T391
+808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM918 1433Q968 1395 968 1343Q968 1298 939 1269T864 1239Q829 1239 798 1261L636 1368L474 1261Q444 1239 408
+1239Q363 1239 334 1268T304 1343Q304 1396 353 1433L582 1584Q607 1600 636 1600Q665 1600 690 1584L918 1433Z" />
+<glyph unicode="&#xf5;" glyph-name="otilde" horiz-adv-x="1280" d="M1200 560Q1200 326 1036 164Q870 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1118 874 1158 775T1200 560ZM640 911Q566 911 502 883T391
+808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM496 1231Q458 1231 412 1242T326 1275T258 1328T231 1402Q232 1449 262 1477T335 1506Q371 1506 416 1473T500
+1440Q543 1440 573 1467Q660 1549 792 1549Q829 1549 875 1538T962 1504T1029 1450T1057 1378Q1057 1333 1027 1304T952 1274Q920 1274 873 1307T789 1340Q748 1340 715 1313Q625 1231 496 1231Z" />
+<glyph unicode="&#xf6;" glyph-name="odieresis" horiz-adv-x="1280" d="M1200 560Q1200 326 1036 164Q870 0 640 0Q408 0 244 164Q80 328 80 560Q80 792 244 956Q408 1120 640 1120Q870 1120 1036 956Q1118 874 1158 775T1200 560ZM640 911Q566 911 502 883T391
+808T317 696T289 560Q289 488 316 424T391 313T502 237T640 209Q713 209 777 237T888 313T963 424T991 560Q991 632 964 695T889 807T777 883T640 911ZM539 1359Q539 1308 503 1272T416 1236Q365 1236 329 1272T293 1359Q293 1410 329 1446T416 1482Q467 1482 503
+1446T539 1359ZM994 1359Q994 1308 958 1272T871 1236Q820 1236 784 1272T748 1359Q748 1410 784 1446T871 1482Q922 1482 958 1446T994 1359Z" />
+<glyph unicode="&#xf7;" glyph-name="divide" horiz-adv-x="960" d="M180 607Q135 607 106 637T76 712Q76 757 105 786T180 816H788Q833 816 862 787T892 712Q892 667 863 637T788 607H180ZM607 997Q607 945 571 909T484 873Q432 873 396 909T360 997Q360 1048
+396 1084T484 1120Q535 1120 571 1084T607 997ZM607 428Q607 376 571 340T484 304Q432 304 396 340T360 428Q360 479 396 515T484 551Q535 551 571 515T607 428Z" />
+<glyph unicode="&#xf8;" glyph-name="oslash" horiz-adv-x="1280" d="M804 871Q767 892 726 901T640 911Q566 911 502 883T391 808T317 696T289 560Q289 469 327 396L804 871ZM476 248Q513 228 553 219T640 209Q713 209 777 237T888 313T963 424T991 560Q991 606
+982 646T952 724L476 248ZM1019 1087Q1050 1120 1095 1120Q1117 1120 1136 1112T1169 1090T1191 1056T1200 1016Q1200 974 1170 943L1103 875Q1200 738 1200 560Q1200 326 1036 164Q870 0 640 0Q461 0 325 97L255 24Q228 0 184 0Q162 0 143 8T110 30T88 64T80 104Q80
+125 86 143T108 177L177 245Q80 381 80 560Q80 792 244 956Q408 1120 640 1120Q820 1120 956 1023L1019 1087Z" />
+<glyph unicode="&#xf9;" glyph-name="ugrave" horiz-adv-x="1200" d="M1018 0Q973 0 944 30T914 103Q845 49 768 25T601 0Q494 0 399 41T233 154T121 320T79 522V1016Q79 1059 109 1089T184 1120Q227 1120 257 1090T288 1016V522Q288 457 312 400T379 301T479
+234T601 209Q665 209 722 233T822 301T889 400T914 522V1016Q914 1059 944 1089T1019 1120Q1062 1120 1092 1090T1123 1016V104Q1123 61 1093 31T1018 0ZM391 1494Q391 1538 420 1568T495 1599Q537 1599 569 1568L769 1369Q795 1341 795 1298Q795 1253 766 1224T691
+1194Q647 1194 619 1222L419 1421Q391 1449 391 1494Z" />
+<glyph unicode="&#xfa;" glyph-name="uacute" horiz-adv-x="1200" d="M1018 0Q973 0 944 30T914 103Q845 49 768 25T601 0Q494 0 399 41T233 154T121 320T79 522V1016Q79 1059 109 1089T184 1120Q227 1120 257 1090T288 1016V522Q288 457 312 400T379 301T479
+234T601 209Q665 209 722 233T822 301T889 400T914 522V1016Q914 1059 944 1089T1019 1120Q1062 1120 1092 1090T1123 1016V104Q1123 61 1093 31T1018 0ZM800 1421L600 1222Q572 1194 528 1194Q483 1194 454 1223T424 1298Q424 1341 450 1369L650 1568Q682 1599
+724 1599Q769 1599 798 1569T828 1494Q828 1449 800 1421Z" />
+<glyph unicode="&#xfb;" glyph-name="ucircumflex" horiz-adv-x="1200" d="M1018 0Q973 0 944 30T914 103Q845 49 768 25T601 0Q494 0 399 41T233 154T121 320T79 522V1016Q79 1059 109 1089T184 1120Q227 1120 257 1090T288 1016V522Q288 457 312 400T379 301T479
+234T601 209Q665 209 722 233T822 301T889 400T914 522V1016Q914 1059 944 1089T1019 1120Q1062 1120 1092 1090T1123 1016V104Q1123 61 1093 31T1018 0ZM878 1433Q928 1395 928 1343Q928 1298 899 1269T824 1239Q789 1239 758 1261L596 1368L434 1261Q404 1239
+368 1239Q323 1239 294 1268T264 1343Q264 1396 313 1433L542 1584Q567 1600 596 1600Q625 1600 650 1584L878 1433Z" />
+<glyph unicode="&#xfc;" glyph-name="udieresis" horiz-adv-x="1200" d="M1018 0Q973 0 944 30T914 103Q845 49 768 25T601 0Q494 0 399 41T233 154T121 320T79 522V1016Q79 1059 109 1089T184 1120Q227 1120 257 1090T288 1016V522Q288 457 312 400T379 301T479
+234T601 209Q665 209 722 233T822 301T889 400T914 522V1016Q914 1059 944 1089T1019 1120Q1062 1120 1092 1090T1123 1016V104Q1123 61 1093 31T1018 0ZM499 1359Q499 1308 463 1272T376 1236Q325 1236 289 1272T253 1359Q253 1410 289 1446T376 1482Q427 1482
+463 1446T499 1359ZM954 1359Q954 1308 918 1272T831 1236Q780 1236 744 1272T708 1359Q708 1410 744 1446T831 1482Q882 1482 918 1446T954 1359Z" />
+<glyph unicode="&#xfd;" glyph-name="yacute" horiz-adv-x="1120" d="M448 104L88 969Q78 992 78 1016Q78 1037 86 1056T108 1089T141 1112T182 1120Q213 1120 240 1103T281 1051L562 380L843 1053Q855 1083 877 1101T941 1120Q963 1120 982 1112T1015 1090T1037
+1056T1046 1016Q1046 994 1035 969L460 -410Q447 -441 420 -460T361 -480Q316 -480 287 -450T257 -375Q257 -351 267 -329L448 104ZM827 1421L627 1222Q599 1194 555 1194Q510 1194 481 1223T451 1298Q451 1341 477 1369L677 1568Q709 1599 751 1599Q796 1599 825
+1569T855 1494Q855 1449 827 1421Z" />
+<glyph unicode="&#xfe;" glyph-name="thorn" horiz-adv-x="1280" d="M289 562Q289 490 316 426T391 315T502 239T640 211Q713 211 777 239T888 315T963 426T991 562Q991 634 964 697T889 809T777 885T640 913Q566 913 502 885T391 810T317 698T289 562ZM289 998Q364
+1058 452 1090T640 1122Q870 1122 1036 958Q1118 877 1159 778T1200 562Q1200 328 1036 166Q870 2 640 2Q540 2 452 34T289 126V-374Q289 -396 281 -415T258 -448T225 -471T184 -479Q139 -479 110 -449T80 -374V1496Q80 1541 109 1570T184 1600Q228 1600 258 1571T289
+1496V998Z" />
+<glyph unicode="&#xff;" glyph-name="ydieresis" horiz-adv-x="1120" d="M448 104L88 969Q78 992 78 1016Q78 1037 86 1056T108 1089T141 1112T182 1120Q213 1120 240 1103T281 1051L562 380L843 1053Q855 1083 877 1101T941 1120Q963 1120 982 1112T1015 1090T1037
+1056T1046 1016Q1046 994 1035 969L460 -410Q447 -441 420 -460T361 -480Q316 -480 287 -450T257 -375Q257 -351 267 -329L448 104ZM459 1359Q459 1308 423 1272T336 1236Q285 1236 249 1272T213 1359Q213 1410 249 1446T336 1482Q387 1482 423 1446T459 1359ZM914
+1359Q914 1308 878 1272T791 1236Q740 1236 704 1272T668 1359Q668 1410 704 1446T791 1482Q842 1482 878 1446T914 1359Z" />
+<glyph unicode="&#x2013;" glyph-name="endash" horiz-adv-x="800" d="M0 456Q-45 456 -74 485T-104 560Q-104 605 -75 634T0 664H802Q846 664 876 635T907 560Q907 515 877 486T802 456H0Z" />
+<glyph unicode="&#x2014;" glyph-name="emdash" horiz-adv-x="1920" d="M0 664H1919Q1964 664 1993 635T2023 560Q2023 515 1994 486T1919 456H0Q-45 456 -74 485T-104 560Q-104 605 -75 634T0 664Z" />
+<glyph unicode="&#x2018;" glyph-name="quoteleft" horiz-adv-x="480" d="M405 1039Q405 1013 395 991T369 951T329 925T281 915Q235 915 202 947T148 1025T118 1121T108 1214Q108 1391 259 1572Q286 1599 320 1599Q355 1599 380 1574T405 1514Q405 1497 398 1479Q353
+1369 353 1270Q353 1176 394 1088Q405 1063 405 1039Z" />
+<glyph unicode="&#x2019;" glyph-name="quoteright" horiz-adv-x="480" d="M108 1475Q108 1501 118 1523T144 1563T184 1589T232 1599Q278 1599 311 1567T365 1489T395 1393T405 1300Q405 1123 254 942Q227 915 193 915Q158 915 133 940T108 1000Q108 1017 115
+1035Q160 1145 160 1244Q160 1338 119 1426Q108 1451 108 1475Z" />
+<glyph unicode="&#x201a;" glyph-name="quotesinglbase" horiz-adv-x="480" d="M108 197Q108 223 118 245T144 285T184 311T232 321Q278 321 311 289T365 211T395 115T405 22Q405 -155 254 -336Q227 -363 193 -363Q158 -363 133 -338T108 -278Q108 -261 115 -243Q160
+-133 160 -34Q160 60 119 148Q108 173 108 197Z" />
+<glyph unicode="&#x201c;" glyph-name="quotedblleft" horiz-adv-x="760" d="M370 1039Q370 1013 360 991T334 951T294 925T246 915Q200 915 167 947T113 1025T83 1121T73 1214Q73 1391 224 1572Q251 1599 285 1599Q320 1599 345 1574T370 1514Q370 1497 363 1479Q318
+1369 318 1270Q318 1176 359 1088Q370 1063 370 1039ZM699 1039Q699 1013 689 991T663 951T623 925T575 915Q529 915 496 947T442 1025T412 1121T402 1214Q402 1391 553 1572Q580 1599 614 1599Q649 1599 674 1574T699 1514Q699 1497 692 1479Q647 1369 647 1270Q647
+1176 688 1088Q699 1063 699 1039Z" />
+<glyph unicode="&#x201d;" glyph-name="quotedblright" horiz-adv-x="760" d="M402 1475Q402 1501 412 1523T438 1563T478 1589T526 1599Q572 1599 605 1567T659 1489T689 1393T699 1300Q699 1123 548 942Q521 915 487 915Q452 915 427 940T402 1000Q402 1017
+409 1035Q454 1145 454 1244Q454 1338 413 1426Q402 1451 402 1475ZM73 1475Q73 1501 83 1523T109 1563T149 1589T197 1599Q243 1599 276 1567T330 1489T360 1393T370 1300Q370 1123 219 942Q192 915 158 915Q123 915 98 940T73 1000Q73 1017 80 1035Q125 1145
+125 1244Q125 1338 84 1426Q73 1451 73 1475Z" />
+<glyph unicode="&#x201e;" glyph-name="quotedblbase" horiz-adv-x="760" d="M402 197Q402 223 412 245T438 285T478 311T526 321Q572 321 605 289T659 211T689 115T699 22Q699 -155 548 -336Q521 -363 487 -363Q452 -363 427 -338T402 -278Q402 -261 409 -243Q454
+-133 454 -34Q454 60 413 148Q402 173 402 197ZM73 197Q73 223 83 245T109 285T149 311T197 321Q243 321 276 289T330 211T360 115T370 22Q370 -155 219 -336Q192 -363 158 -363Q123 -363 98 -338T73 -278Q73 -261 80 -243Q125 -133 125 -34Q125 60 84 148Q73 173
+73 197Z" />
+<glyph unicode="&#x2022;" glyph-name="bullet" horiz-adv-x="800" d="M662 788Q662 737 642 691T588 609T507 553T406 532Q353 532 307 552T225 607T170 688T150 788Q150 842 171 888T227 969T308 1024T406 1044Q457 1044 503 1024T585 968T641 886T662 788Z" />
+<glyph unicode="&#x2039;" glyph-name="guilsinglleft" horiz-adv-x="560" d="M312 1055Q326 1087 351 1103T408 1119Q453 1119 482 1090T513 1015Q512 990 503 970L298 560L503 148Q512 129 512 104Q512 83 504 64T482 31T449 8T408 0Q379 0 353 16T312 64L91
+505Q76 534 76 559Q76 583 89 609L312 1055Z" />
+<glyph unicode="&#x203a;" glyph-name="guilsinglright" horiz-adv-x="560" d="M500 609Q513 583 513 559Q513 534 498 505L277 64Q262 32 236 16T181 0Q159 0 140 8T107 30T85 64T77 104Q77 129 86 148L291 560L86 970Q77 990 76 1015Q77 1060 106 1089T181 1119Q213
+1119 238 1103T277 1055L500 609Z" />
+<hkern g1="A" g2="C" k="98" />
+<hkern g1="A" g2="G" k="98" />
+<hkern g1="A" g2="O" k="69" />
+<hkern g1="A" g2="Q" k="69" />
+<hkern g1="A" g2="T" k="179" />
+<hkern g1="A" g2="V" k="189" />
+<hkern g1="A" g2="W" k="116" />
+<hkern g1="A" g2="Y" k="179" />
+<hkern g1="A" g2="f" k="64" />
+<hkern g1="A" g2="j" k="186" />
+<hkern g1="A" g2="t" k="148" />
+<hkern g1="A" g2="v" k="225" />
+<hkern g1="A" g2="w" k="199" />
+<hkern g1="A" g2="y" k="256" />
+<hkern g1="A" g2="Ccedilla" k="98" />
+<hkern g1="A" g2="Eth" k="52" />
+<hkern g1="A" g2="Ograve" k="69" />
+<hkern g1="A" g2="Oacute" k="69" />
+<hkern g1="A" g2="Ocircumflex" k="69" />
+<hkern g1="A" g2="Otilde" k="69" />
+<hkern g1="A" g2="Odieresis" k="69" />
+<hkern g1="A" g2="Yacute" k="179" />
+<hkern g1="A" g2="yacute" k="256" />
+<hkern g1="A" g2="ydieresis" k="256" />
+<hkern g1="B" g2="T" k="158" />
+<hkern g1="B" g2="V" k="127" />
+<hkern g1="B" g2="W" k="100" />
+<hkern g1="B" g2="Y" k="157" />
+<hkern g1="B" g2="j" k="230" />
+<hkern g1="B" g2="x" k="65" />
+<hkern g1="B" g2="y" k="65" />
+<hkern g1="B" g2="Yacute" k="157" />
+<hkern g1="B" g2="yacute" k="65" />
+<hkern g1="B" g2="ydieresis" k="65" />
+<hkern g1="C" g2="C" k="74" />
+<hkern g1="C" g2="G" k="74" />
+<hkern g1="C" g2="O" k="45" />
+<hkern g1="C" g2="Q" k="45" />
+<hkern g1="C" g2="f" k="91" />
+<hkern g1="C" g2="j" k="256" />
+<hkern g1="C" g2="t" k="40" />
+<hkern g1="C" g2="v" k="84" />
+<hkern g1="C" g2="w" k="143" />
+<hkern g1="C" g2="y" k="116" />
+<hkern g1="C" g2="Ccedilla" k="74" />
+<hkern g1="C" g2="Ograve" k="45" />
+<hkern g1="C" g2="Oacute" k="45" />
+<hkern g1="C" g2="Ocircumflex" k="45" />
+<hkern g1="C" g2="Otilde" k="45" />
+<hkern g1="C" g2="Odieresis" k="45" />
+<hkern g1="C" g2="yacute" k="79" />
+<hkern g1="C" g2="ydieresis" k="62" />
+<hkern g1="D" g2="A" k="113" />
+<hkern g1="D" g2="T" k="143" />
+<hkern g1="D" g2="V" k="113" />
+<hkern g1="D" g2="X" k="175" />
+<hkern g1="D" g2="Y" k="175" />
+<hkern g1="D" g2="Z" k="207" />
+<hkern g1="D" g2="j" k="276" />
+<hkern g1="D" g2="Agrave" k="113" />
+<hkern g1="D" g2="Aacute" k="113" />
+<hkern g1="D" g2="Acircumflex" k="113" />
+<hkern g1="D" g2="Atilde" k="113" />
+<hkern g1="D" g2="Adieresis" k="113" />
+<hkern g1="D" g2="Aring" k="113" />
+<hkern g1="D" g2="AE" k="116" />
+<hkern g1="D" g2="Yacute" k="175" />
+<hkern g1="E" g2="C" k="128" />
+<hkern g1="E" g2="G" k="128" />
+<hkern g1="E" g2="O" k="130" />
+<hkern g1="E" g2="Q" k="130" />
+<hkern g1="E" g2="c" k="65" />
+<hkern g1="E" g2="f" k="62" />
+<hkern g1="E" g2="j" k="184" />
+<hkern g1="E" g2="t" k="62" />
+<hkern g1="E" g2="v" k="90" />
+<hkern g1="E" g2="w" k="166" />
+<hkern g1="E" g2="y" k="122" />
+<hkern g1="E" g2="Ccedilla" k="128" />
+<hkern g1="E" g2="Eth" k="50" />
+<hkern g1="E" g2="Ograve" k="130" />
+<hkern g1="E" g2="Oacute" k="130" />
+<hkern g1="E" g2="Ocircumflex" k="130" />
+<hkern g1="E" g2="Otilde" k="130" />
+<hkern g1="E" g2="Odieresis" k="130" />
+<hkern g1="E" g2="ae" k="48" />
+<hkern g1="E" g2="ccedilla" k="65" />
+<hkern g1="E" g2="eth" k="57" />
+<hkern g1="E" g2="yacute" k="109" />
+<hkern g1="E" g2="ydieresis" k="65" />
+<hkern g1="F" g2="A" k="183" />
+<hkern g1="F" g2="C" k="128" />
+<hkern g1="F" g2="G" k="128" />
+<hkern g1="F" g2="J" k="148" />
+<hkern g1="F" g2="O" k="130" />
+<hkern g1="F" g2="Q" k="130" />
+<hkern g1="F" g2="S" k="99" />
+<hkern g1="F" g2="a" k="206" />
+<hkern g1="F" g2="c" k="217" />
+<hkern g1="F" g2="d" k="225" />
+<hkern g1="F" g2="e" k="206" />
+<hkern g1="F" g2="f" k="157" />
+<hkern g1="F" g2="g" k="162" />
+<hkern g1="F" g2="j" k="222" />
+<hkern g1="F" g2="m" k="136" />
+<hkern g1="F" g2="n" k="129" />
+<hkern g1="F" g2="o" k="162" />
+<hkern g1="F" g2="p" k="162" />
+<hkern g1="F" g2="q" k="162" />
+<hkern g1="F" g2="r" k="126" />
+<hkern g1="F" g2="s" k="127" />
+<hkern g1="F" g2="t" k="62" />
+<hkern g1="F" g2="u" k="179" />
+<hkern g1="F" g2="v" k="192" />
+<hkern g1="F" g2="w" k="166" />
+<hkern g1="F" g2="x" k="254" />
+<hkern g1="F" g2="y" k="223" />
+<hkern g1="F" g2="z" k="60" />
+<hkern g1="F" g2="Agrave" k="183" />
+<hkern g1="F" g2="Aacute" k="175" />
+<hkern g1="F" g2="Acircumflex" k="183" />
+<hkern g1="F" g2="Atilde" k="167" />
+<hkern g1="F" g2="Adieresis" k="183" />
+<hkern g1="F" g2="Aring" k="198" />
+<hkern g1="F" g2="AE" k="285" />
+<hkern g1="F" g2="Ccedilla" k="128" />
+<hkern g1="F" g2="Eth" k="50" />
+<hkern g1="F" g2="Ograve" k="130" />
+<hkern g1="F" g2="Oacute" k="130" />
+<hkern g1="F" g2="Ocircumflex" k="130" />
+<hkern g1="F" g2="Otilde" k="130" />
+<hkern g1="F" g2="Odieresis" k="130" />
+<hkern g1="F" g2="Oslash" k="130" />
+<hkern g1="F" g2="agrave" k="162" />
+<hkern g1="F" g2="aacute" k="162" />
+<hkern g1="F" g2="acircumflex" k="162" />
+<hkern g1="F" g2="adieresis" k="130" />
+<hkern g1="F" g2="aring" k="162" />
+<hkern g1="F" g2="ae" k="174" />
+<hkern g1="F" g2="ccedilla" k="160" />
+<hkern g1="F" g2="egrave" k="162" />
+<hkern g1="F" g2="eacute" k="162" />
+<hkern g1="F" g2="ecircumflex" k="162" />
+<hkern g1="F" g2="edieresis" k="130" />
+<hkern g1="F" g2="eth" k="152" />
+<hkern g1="F" g2="ograve" k="162" />
+<hkern g1="F" g2="oacute" k="162" />
+<hkern g1="F" g2="ocircumflex" k="162" />
+<hkern g1="F" g2="odieresis" k="130" />
+<hkern g1="F" g2="oslash" k="162" />
+<hkern g1="F" g2="ugrave" k="129" />
+<hkern g1="F" g2="uacute" k="129" />
+<hkern g1="F" g2="ucircumflex" k="98" />
+<hkern g1="F" g2="udieresis" k="66" />
+<hkern g1="F" g2="yacute" k="223" />
+<hkern g1="F" g2="ydieresis" k="65" />
+<hkern g1="F" g2="dotlessi" k="196" />
+<hkern g1="G" g2="f" k="60" />
+<hkern g1="G" g2="j" k="198" />
+<hkern g1="G" g2="t" k="60" />
+<hkern g1="H" g2="j" k="159" />
+<hkern g1="I" g2="I" k="26" />
+<hkern g1="I" g2="j" k="192" />
+<hkern g1="I" g2="Igrave" k="60" />
+<hkern g1="I" g2="Iacute" k="66" />
+<hkern g1="I" g2="Icircumflex" k="73" />
+<hkern g1="I" g2="Idieresis" k="52" />
+<hkern g1="I" g2="dotlessi" k="51" />
+<hkern g1="J" g2="j" k="145" />
+<hkern g1="K" g2="C" k="194" />
+<hkern g1="K" g2="G" k="207" />
+<hkern g1="K" g2="O" k="177" />
+<hkern g1="K" g2="Q" k="177" />
+<hkern g1="K" g2="a" k="89" />
+<hkern g1="K" g2="c" k="81" />
+<hkern g1="K" g2="d" k="89" />
+<hkern g1="K" g2="e" k="83" />
+<hkern g1="K" g2="f" k="65" />
+<hkern g1="K" g2="j" k="180" />
+<hkern g1="K" g2="o" k="83" />
+<hkern g1="K" g2="q" k="83" />
+<hkern g1="K" g2="t" k="71" />
+<hkern g1="K" g2="v" k="117" />
+<hkern g1="K" g2="w" k="181" />
+<hkern g1="K" g2="y" k="71" />
+<hkern g1="K" g2="Ccedilla" k="105" />
+<hkern g1="K" g2="Ograve" k="177" />
+<hkern g1="K" g2="Oacute" k="177" />
+<hkern g1="K" g2="Ocircumflex" k="177" />
+<hkern g1="K" g2="Otilde" k="177" />
+<hkern g1="K" g2="Odieresis" k="177" />
+<hkern g1="K" g2="agrave" k="101" />
+<hkern g1="K" g2="aacute" k="83" />
+<hkern g1="K" g2="acircumflex" k="76" />
+<hkern g1="K" g2="atilde" k="70" />
+<hkern g1="K" g2="adieresis" k="83" />
+<hkern g1="K" g2="aring" k="76" />
+<hkern g1="K" g2="ae" k="95" />
+<hkern g1="K" g2="ccedilla" k="87" />
+<hkern g1="K" g2="egrave" k="76" />
+<hkern g1="K" g2="eacute" k="76" />
+<hkern g1="K" g2="ecircumflex" k="95" />
+<hkern g1="K" g2="edieresis" k="95" />
+<hkern g1="K" g2="eth" k="85" />
+<hkern g1="K" g2="ograve" k="76" />
+<hkern g1="K" g2="oacute" k="89" />
+<hkern g1="K" g2="ocircumflex" k="83" />
+<hkern g1="K" g2="otilde" k="76" />
+<hkern g1="K" g2="odieresis" k="95" />
+<hkern g1="K" g2="yacute" k="143" />
+<hkern g1="K" g2="ydieresis" k="158" />
+<hkern g1="L" g2="C" k="166" />
+<hkern g1="L" g2="G" k="151" />
+<hkern g1="L" g2="O" k="166" />
+<hkern g1="L" g2="Q" k="143" />
+<hkern g1="L" g2="T" k="316" />
+<hkern g1="L" g2="U" k="79" />
+<hkern g1="L" g2="V" k="277" />
+<hkern g1="L" g2="W" k="229" />
+<hkern g1="L" g2="Y" k="309" />
+<hkern g1="L" g2="a" k="51" />
+<hkern g1="L" g2="b" k="51" />
+<hkern g1="L" g2="c" k="81" />
+<hkern g1="L" g2="d" k="51" />
+<hkern g1="L" g2="e" k="51" />
+<hkern g1="L" g2="f" k="46" />
+<hkern g1="L" g2="j" k="221" />
+<hkern g1="L" g2="o" k="51" />
+<hkern g1="L" g2="q" k="51" />
+<hkern g1="L" g2="t" k="109" />
+<hkern g1="L" g2="v" k="238" />
+<hkern g1="L" g2="w" k="181" />
+<hkern g1="L" g2="y" k="145" />
+<hkern g1="L" g2="Ccedilla" k="141" />
+<hkern g1="L" g2="Ograve" k="166" />
+<hkern g1="L" g2="Oacute" k="158" />
+<hkern g1="L" g2="Ocircumflex" k="182" />
+<hkern g1="L" g2="Otilde" k="151" />
+<hkern g1="L" g2="Odieresis" k="189" />
+<hkern g1="L" g2="Ugrave" k="79" />
+<hkern g1="L" g2="Uacute" k="79" />
+<hkern g1="L" g2="Ucircumflex" k="79" />
+<hkern g1="L" g2="Udieresis" k="79" />
+<hkern g1="L" g2="Yacute" k="277" />
+<hkern g1="L" g2="agrave" k="51" />
+<hkern g1="L" g2="aacute" k="51" />
+<hkern g1="L" g2="acircumflex" k="51" />
+<hkern g1="L" g2="atilde" k="51" />
+<hkern g1="L" g2="adieresis" k="51" />
+<hkern g1="L" g2="aring" k="51" />
+<hkern g1="L" g2="ae" k="63" />
+<hkern g1="L" g2="ccedilla" k="81" />
+<hkern g1="L" g2="egrave" k="51" />
+<hkern g1="L" g2="eacute" k="51" />
+<hkern g1="L" g2="ecircumflex" k="51" />
+<hkern g1="L" g2="edieresis" k="51" />
+<hkern g1="L" g2="eth" k="41" />
+<hkern g1="L" g2="ograve" k="51" />
+<hkern g1="L" g2="oacute" k="51" />
+<hkern g1="L" g2="ocircumflex" k="51" />
+<hkern g1="L" g2="otilde" k="51" />
+<hkern g1="L" g2="odieresis" k="51" />
+<hkern g1="L" g2="yacute" k="131" />
+<hkern g1="L" g2="ydieresis" k="154" />
+<hkern g1="M" g2="j" k="189" />
+<hkern g1="N" g2="j" k="177" />
+<hkern g1="O" g2="A" k="131" />
+<hkern g1="O" g2="S" k="65" />
+<hkern g1="O" g2="T" k="106" />
+<hkern g1="O" g2="V" k="131" />
+<hkern g1="O" g2="W" k="73" />
+<hkern g1="O" g2="X" k="224" />
+<hkern g1="O" g2="Y" k="224" />
+<hkern g1="O" g2="Z" k="225" />
+<hkern g1="O" g2="j" k="255" />
+<hkern g1="O" g2="Agrave" k="131" />
+<hkern g1="O" g2="Aacute" k="131" />
+<hkern g1="O" g2="Acircumflex" k="131" />
+<hkern g1="O" g2="Atilde" k="131" />
+<hkern g1="O" g2="Adieresis" k="131" />
+<hkern g1="O" g2="Aring" k="131" />
+<hkern g1="O" g2="AE" k="165" />
+<hkern g1="O" g2="Yacute" k="224" />
+<hkern g1="P" g2="A" k="226" />
+<hkern g1="P" g2="J" k="176" />
+<hkern g1="P" g2="T" k="55" />
+<hkern g1="P" g2="X" k="54" />
+<hkern g1="P" g2="Y" k="54" />
+<hkern g1="P" g2="Z" k="55" />
+<hkern g1="P" g2="j" k="243" />
+<hkern g1="P" g2="Agrave" k="195" />
+<hkern g1="P" g2="Aacute" k="242" />
+<hkern g1="P" g2="Acircumflex" k="250" />
+<hkern g1="P" g2="Atilde" k="211" />
+<hkern g1="P" g2="Adieresis" k="203" />
+<hkern g1="P" g2="Aring" k="234" />
+<hkern g1="P" g2="AE" k="321" />
+<hkern g1="P" g2="Yacute" k="54" />
+<hkern g1="Q" g2="T" k="139" />
+<hkern g1="Q" g2="V" k="131" />
+<hkern g1="Q" g2="W" k="73" />
+<hkern g1="Q" g2="Y" k="224" />
+<hkern g1="Q" g2="j" k="163" />
+<hkern g1="Q" g2="Yacute" k="224" />
+<hkern g1="R" g2="J" k="95" />
+<hkern g1="R" g2="T" k="111" />
+<hkern g1="R" g2="V" k="80" />
+<hkern g1="R" g2="Y" k="110" />
+<hkern g1="R" g2="a" k="101" />
+<hkern g1="R" g2="c" k="106" />
+<hkern g1="R" g2="d" k="89" />
+<hkern g1="R" g2="e" k="95" />
+<hkern g1="R" g2="j" k="150" />
+<hkern g1="R" g2="o" k="89" />
+<hkern g1="R" g2="q" k="76" />
+<hkern g1="R" g2="Yacute" k="110" />
+<hkern g1="R" g2="agrave" k="83" />
+<hkern g1="R" g2="aacute" k="89" />
+<hkern g1="R" g2="acircumflex" k="76" />
+<hkern g1="R" g2="atilde" k="76" />
+<hkern g1="R" g2="adieresis" k="76" />
+<hkern g1="R" g2="aring" k="76" />
+<hkern g1="R" g2="ae" k="82" />
+<hkern g1="R" g2="ccedilla" k="81" />
+<hkern g1="R" g2="egrave" k="83" />
+<hkern g1="R" g2="eacute" k="95" />
+<hkern g1="R" g2="ecircumflex" k="89" />
+<hkern g1="R" g2="edieresis" k="83" />
+<hkern g1="R" g2="eth" k="73" />
+<hkern g1="R" g2="ograve" k="95" />
+<hkern g1="R" g2="oacute" k="95" />
+<hkern g1="R" g2="ocircumflex" k="83" />
+<hkern g1="R" g2="otilde" k="70" />
+<hkern g1="R" g2="odieresis" k="76" />
+<hkern g1="S" g2="j" k="179" />
+<hkern g1="S" g2="y" k="68" />
+<hkern g1="S" g2="yacute" k="68" />
+<hkern g1="S" g2="ydieresis" k="68" />
+<hkern g1="T" g2="A" k="324" />
+<hkern g1="T" g2="C" k="190" />
+<hkern g1="T" g2="G" k="159" />
+<hkern g1="T" g2="J" k="269" />
+<hkern g1="T" g2="O" k="128" />
+<hkern g1="T" g2="Q" k="167" />
+<hkern g1="T" g2="S" k="46" />
+<hkern g1="T" g2="a" k="277" />
+<hkern g1="T" g2="c" k="308" />
+<hkern g1="T" g2="d" k="238" />
+<hkern g1="T" g2="e" k="285" />
+<hkern g1="T" g2="f" k="190" />
+<hkern g1="T" g2="g" k="243" />
+<hkern g1="T" g2="j" k="270" />
+<hkern g1="T" g2="m" k="204" />
+<hkern g1="T" g2="n" k="182" />
+<hkern g1="T" g2="o" k="238" />
+<hkern g1="T" g2="p" k="244" />
+<hkern g1="T" g2="q" k="258" />
+<hkern g1="T" g2="r" k="95" />
+<hkern g1="T" g2="s" k="137" />
+<hkern g1="T" g2="t" k="47" />
+<hkern g1="T" g2="u" k="114" />
+<hkern g1="T" g2="v" k="152" />
+<hkern g1="T" g2="w" k="114" />
+<hkern g1="T" g2="x" k="137" />
+<hkern g1="T" g2="y" k="146" />
+<hkern g1="T" g2="z" k="90" />
+<hkern g1="T" g2="Agrave" k="168" />
+<hkern g1="T" g2="Aacute" k="152" />
+<hkern g1="T" g2="Acircumflex" k="160" />
+<hkern g1="T" g2="Atilde" k="191" />
+<hkern g1="T" g2="Adieresis" k="176" />
+<hkern g1="T" g2="Aring" k="191" />
+<hkern g1="T" g2="AE" k="277" />
+<hkern g1="T" g2="Ccedilla" k="94" />
+<hkern g1="T" g2="Ograve" k="151" />
+<hkern g1="T" g2="Oacute" k="174" />
+<hkern g1="T" g2="Ocircumflex" k="151" />
+<hkern g1="T" g2="Otilde" k="159" />
+<hkern g1="T" g2="Odieresis" k="174" />
+<hkern g1="T" g2="Oslash" k="174" />
+<hkern g1="T" g2="agrave" k="214" />
+<hkern g1="T" g2="aacute" k="238" />
+<hkern g1="T" g2="acircumflex" k="175" />
+<hkern g1="T" g2="atilde" k="147" />
+<hkern g1="T" g2="adieresis" k="238" />
+<hkern g1="T" g2="aring" k="112" />
+<hkern g1="T" g2="ae" k="277" />
+<hkern g1="T" g2="ccedilla" k="278" />
+<hkern g1="T" g2="egrave" k="214" />
+<hkern g1="T" g2="eacute" k="238" />
+<hkern g1="T" g2="ecircumflex" k="175" />
+<hkern g1="T" g2="edieresis" k="238" />
+<hkern g1="T" g2="idieresis" k="17" />
+<hkern g1="T" g2="eth" k="175" />
+<hkern g1="T" g2="ograve" k="175" />
+<hkern g1="T" g2="oacute" k="160" />
+<hkern g1="T" g2="ocircumflex" k="175" />
+<hkern g1="T" g2="otilde" k="52" />
+<hkern g1="T" g2="odieresis" k="152" />
+<hkern g1="T" g2="oslash" k="152" />
+<hkern g1="T" g2="ugrave" k="82" />
+<hkern g1="T" g2="uacute" k="145" />
+<hkern g1="T" g2="ucircumflex" k="175" />
+<hkern g1="T" g2="udieresis" k="121" />
+<hkern g1="T" g2="yacute" k="171" />
+<hkern g1="T" g2="ydieresis" k="162" />
+<hkern g1="T" g2="dotlessi" k="288" />
+<hkern g1="U" g2="j" k="187" />
+<hkern g1="V" g2="A" k="232" />
+<hkern g1="V" g2="C" k="98" />
+<hkern g1="V" g2="G" k="98" />
+<hkern g1="V" g2="J" k="214" />
+<hkern g1="V" g2="O" k="69" />
+<hkern g1="V" g2="Q" k="69" />
+<hkern g1="V" g2="S" k="63" />
+<hkern g1="V" g2="a" k="195" />
+<hkern g1="V" g2="c" k="224" />
+<hkern g1="V" g2="d" k="195" />
+<hkern g1="V" g2="e" k="195" />
+<hkern g1="V" g2="f" k="95" />
+<hkern g1="V" g2="g" k="195" />
+<hkern g1="V" g2="j" k="270" />
+<hkern g1="V" g2="m" k="75" />
+<hkern g1="V" g2="o" k="195" />
+<hkern g1="V" g2="p" k="195" />
+<hkern g1="V" g2="q" k="195" />
+<hkern g1="V" g2="r" k="65" />
+<hkern g1="V" g2="s" k="160" />
+<hkern g1="V" g2="t" k="64" />
+<hkern g1="V" g2="w" k="73" />
+<hkern g1="V" g2="x" k="67" />
+<hkern g1="V" g2="y" k="67" />
+<hkern g1="V" g2="z" k="67" />
+<hkern g1="V" g2="Agrave" k="232" />
+<hkern g1="V" g2="Aacute" k="232" />
+<hkern g1="V" g2="Acircumflex" k="232" />
+<hkern g1="V" g2="Atilde" k="232" />
+<hkern g1="V" g2="Adieresis" k="232" />
+<hkern g1="V" g2="Aring" k="232" />
+<hkern g1="V" g2="AE" k="239" />
+<hkern g1="V" g2="Ccedilla" k="98" />
+<hkern g1="V" g2="Eth" k="52" />
+<hkern g1="V" g2="Ograve" k="69" />
+<hkern g1="V" g2="Oacute" k="69" />
+<hkern g1="V" g2="Ocircumflex" k="69" />
+<hkern g1="V" g2="Otilde" k="69" />
+<hkern g1="V" g2="Odieresis" k="69" />
+<hkern g1="V" g2="Oslash" k="69" />
+<hkern g1="V" g2="agrave" k="195" />
+<hkern g1="V" g2="aacute" k="195" />
+<hkern g1="V" g2="acircumflex" k="163" />
+<hkern g1="V" g2="adieresis" k="132" />
+<hkern g1="V" g2="aring" k="195" />
+<hkern g1="V" g2="ae" k="207" />
+<hkern g1="V" g2="ccedilla" k="130" />
+<hkern g1="V" g2="egrave" k="195" />
+<hkern g1="V" g2="eacute" k="195" />
+<hkern g1="V" g2="ecircumflex" k="163" />
+<hkern g1="V" g2="edieresis" k="132" />
+<hkern g1="V" g2="eth" k="216" />
+<hkern g1="V" g2="ograve" k="195" />
+<hkern g1="V" g2="oacute" k="195" />
+<hkern g1="V" g2="ocircumflex" k="163" />
+<hkern g1="V" g2="odieresis" k="132" />
+<hkern g1="V" g2="oslash" k="195" />
+<hkern g1="V" g2="yacute" k="67" />
+<hkern g1="V" g2="ydieresis" k="67" />
+<hkern g1="V" g2="dotlessi" k="135" />
+<hkern g1="W" g2="A" k="151" />
+<hkern g1="W" g2="C" k="101" />
+<hkern g1="W" g2="G" k="101" />
+<hkern g1="W" g2="J" k="191" />
+<hkern g1="W" g2="O" k="71" />
+<hkern g1="W" g2="Q" k="71" />
+<hkern g1="W" g2="S" k="65" />
+<hkern g1="W" g2="a" k="134" />
+<hkern g1="W" g2="c" k="164" />
+<hkern g1="W" g2="d" k="134" />
+<hkern g1="W" g2="e" k="134" />
+<hkern g1="W" g2="f" k="66" />
+<hkern g1="W" g2="g" k="134" />
+<hkern g1="W" g2="j" k="222" />
+<hkern g1="W" g2="m" k="46" />
+<hkern g1="W" g2="o" k="134" />
+<hkern g1="W" g2="p" k="134" />
+<hkern g1="W" g2="q" k="134" />
+<hkern g1="W" g2="r" k="67" />
+<hkern g1="W" g2="s" k="131" />
+<hkern g1="W" g2="t" k="66" />
+<hkern g1="W" g2="w" k="44" />
+<hkern g1="W" g2="x" k="69" />
+<hkern g1="W" g2="y" k="69" />
+<hkern g1="W" g2="z" k="69" />
+<hkern g1="W" g2="Agrave" k="159" />
+<hkern g1="W" g2="Aacute" k="159" />
+<hkern g1="W" g2="Acircumflex" k="183" />
+<hkern g1="W" g2="Atilde" k="159" />
+<hkern g1="W" g2="Adieresis" k="136" />
+<hkern g1="W" g2="Aring" k="190" />
+<hkern g1="W" g2="AE" k="167" />
+<hkern g1="W" g2="Ccedilla" k="101" />
+<hkern g1="W" g2="Ograve" k="71" />
+<hkern g1="W" g2="Oacute" k="71" />
+<hkern g1="W" g2="Ocircumflex" k="71" />
+<hkern g1="W" g2="Otilde" k="71" />
+<hkern g1="W" g2="Odieresis" k="71" />
+<hkern g1="W" g2="Oslash" k="71" />
+<hkern g1="W" g2="agrave" k="134" />
+<hkern g1="W" g2="aacute" k="134" />
+<hkern g1="W" g2="acircumflex" k="134" />
+<hkern g1="W" g2="atilde" k="71" />
+<hkern g1="W" g2="adieresis" k="134" />
+<hkern g1="W" g2="aring" k="134" />
+<hkern g1="W" g2="ae" k="178" />
+<hkern g1="W" g2="ccedilla" k="164" />
+<hkern g1="W" g2="egrave" k="134" />
+<hkern g1="W" g2="eacute" k="134" />
+<hkern g1="W" g2="ecircumflex" k="134" />
+<hkern g1="W" g2="edieresis" k="134" />
+<hkern g1="W" g2="eth" k="156" />
+<hkern g1="W" g2="ograve" k="134" />
+<hkern g1="W" g2="oacute" k="134" />
+<hkern g1="W" g2="ocircumflex" k="134" />
+<hkern g1="W" g2="otilde" k="71" />
+<hkern g1="W" g2="odieresis" k="134" />
+<hkern g1="W" g2="oslash" k="134" />
+<hkern g1="W" g2="yacute" k="69" />
+<hkern g1="W" g2="ydieresis" k="69" />
+<hkern g1="W" g2="dotlessi" k="106" />
+<hkern g1="X" g2="C" k="194" />
+<hkern g1="X" g2="G" k="140" />
+<hkern g1="X" g2="O" k="164" />
+<hkern g1="X" g2="Q" k="164" />
+<hkern g1="X" g2="c" k="68" />
+<hkern g1="X" g2="f" k="65" />
+<hkern g1="X" g2="j" k="133" />
+<hkern g1="X" g2="t" k="65" />
+<hkern g1="X" g2="v" k="163" />
+<hkern g1="X" g2="w" k="200" />
+<hkern g1="X" g2="y" k="103" />
+<hkern g1="X" g2="Ccedilla" k="114" />
+<hkern g1="X" g2="Eth" k="53" />
+<hkern g1="X" g2="Ograve" k="109" />
+<hkern g1="X" g2="Oacute" k="164" />
+<hkern g1="X" g2="Ocircumflex" k="109" />
+<hkern g1="X" g2="Otilde" k="109" />
+<hkern g1="X" g2="Odieresis" k="164" />
+<hkern g1="X" g2="ae" k="82" />
+<hkern g1="X" g2="ccedilla" k="68" />
+<hkern g1="X" g2="eth" k="60" />
+<hkern g1="X" g2="yacute" k="128" />
+<hkern g1="X" g2="ydieresis" k="111" />
+<hkern g1="Y" g2="A" k="240" />
+<hkern g1="Y" g2="C" k="160" />
+<hkern g1="Y" g2="G" k="160" />
+<hkern g1="Y" g2="J" k="193" />
+<hkern g1="Y" g2="O" k="130" />
+<hkern g1="Y" g2="Q" k="130" />
+<hkern g1="Y" g2="S" k="61" />
+<hkern g1="Y" g2="a" k="170" />
+<hkern g1="Y" g2="c" k="162" />
+<hkern g1="Y" g2="d" k="162" />
+<hkern g1="Y" g2="e" k="162" />
+<hkern g1="Y" g2="f" k="157" />
+<hkern g1="Y" g2="g" k="167" />
+<hkern g1="Y" g2="j" k="201" />
+<hkern g1="Y" g2="m" k="168" />
+<hkern g1="Y" g2="n" k="129" />
+<hkern g1="Y" g2="o" k="193" />
+<hkern g1="Y" g2="p" k="168" />
+<hkern g1="Y" g2="q" k="182" />
+<hkern g1="Y" g2="r" k="158" />
+<hkern g1="Y" g2="s" k="131" />
+<hkern g1="Y" g2="t" k="62" />
+<hkern g1="Y" g2="u" k="129" />
+<hkern g1="Y" g2="v" k="129" />
+<hkern g1="Y" g2="w" k="166" />
+<hkern g1="Y" g2="x" k="160" />
+<hkern g1="Y" g2="y" k="160" />
+<hkern g1="Y" g2="z" k="160" />
+<hkern g1="Y" g2="Agrave" k="193" />
+<hkern g1="Y" g2="Aacute" k="162" />
+<hkern g1="Y" g2="Acircumflex" k="162" />
+<hkern g1="Y" g2="Atilde" k="162" />
+<hkern g1="Y" g2="Adieresis" k="162" />
+<hkern g1="Y" g2="Aring" k="162" />
+<hkern g1="Y" g2="AE" k="162" />
+<hkern g1="Y" g2="Ccedilla" k="160" />
+<hkern g1="Y" g2="Eth" k="50" />
+<hkern g1="Y" g2="Ograve" k="130" />
+<hkern g1="Y" g2="Oacute" k="130" />
+<hkern g1="Y" g2="Ocircumflex" k="130" />
+<hkern g1="Y" g2="Otilde" k="130" />
+<hkern g1="Y" g2="Odieresis" k="130" />
+<hkern g1="Y" g2="Oslash" k="130" />
+<hkern g1="Y" g2="agrave" k="162" />
+<hkern g1="Y" g2="aacute" k="162" />
+<hkern g1="Y" g2="acircumflex" k="131" />
+<hkern g1="Y" g2="atilde" k="67" />
+<hkern g1="Y" g2="adieresis" k="131" />
+<hkern g1="Y" g2="aring" k="99" />
+<hkern g1="Y" g2="ae" k="162" />
+<hkern g1="Y" g2="ccedilla" k="171" />
+<hkern g1="Y" g2="egrave" k="162" />
+<hkern g1="Y" g2="eacute" k="162" />
+<hkern g1="Y" g2="ecircumflex" k="131" />
+<hkern g1="Y" g2="edieresis" k="131" />
+<hkern g1="Y" g2="eth" k="162" />
+<hkern g1="Y" g2="ograve" k="162" />
+<hkern g1="Y" g2="oacute" k="162" />
+<hkern g1="Y" g2="ocircumflex" k="131" />
+<hkern g1="Y" g2="otilde" k="67" />
+<hkern g1="Y" g2="odieresis" k="131" />
+<hkern g1="Y" g2="oslash" k="162" />
+<hkern g1="Y" g2="ugrave" k="129" />
+<hkern g1="Y" g2="uacute" k="129" />
+<hkern g1="Y" g2="ucircumflex" k="129" />
+<hkern g1="Y" g2="udieresis" k="98" />
+<hkern g1="Y" g2="yacute" k="160" />
+<hkern g1="Y" g2="ydieresis" k="97" />
+<hkern g1="Y" g2="dotlessi" k="228" />
+<hkern g1="Z" g2="C" k="193" />
+<hkern g1="Z" g2="G" k="193" />
+<hkern g1="Z" g2="O" k="163" />
+<hkern g1="Z" g2="Q" k="163" />
+<hkern g1="Z" g2="a" k="69" />
+<hkern g1="Z" g2="c" k="98" />
+<hkern g1="Z" g2="d" k="69" />
+<hkern g1="Z" g2="e" k="69" />
+<hkern g1="Z" g2="f" k="64" />
+<hkern g1="Z" g2="j" k="115" />
+<hkern g1="Z" g2="o" k="69" />
+<hkern g1="Z" g2="q" k="69" />
+<hkern g1="Z" g2="t" k="64" />
+<hkern g1="Z" g2="v" k="162" />
+<hkern g1="Z" g2="w" k="199" />
+<hkern g1="Z" g2="y" k="193" />
+<hkern g1="Z" g2="Ccedilla" k="193" />
+<hkern g1="Z" g2="Eth" k="52" />
+<hkern g1="Z" g2="Ograve" k="163" />
+<hkern g1="Z" g2="Oacute" k="163" />
+<hkern g1="Z" g2="Ocircumflex" k="163" />
+<hkern g1="Z" g2="Otilde" k="163" />
+<hkern g1="Z" g2="Odieresis" k="163" />
+<hkern g1="Z" g2="agrave" k="69" />
+<hkern g1="Z" g2="aacute" k="69" />
+<hkern g1="Z" g2="acircumflex" k="69" />
+<hkern g1="Z" g2="adieresis" k="69" />
+<hkern g1="Z" g2="aring" k="69" />
+<hkern g1="Z" g2="ae" k="81" />
+<hkern g1="Z" g2="ccedilla" k="98" />
+<hkern g1="Z" g2="egrave" k="69" />
+<hkern g1="Z" g2="eacute" k="69" />
+<hkern g1="Z" g2="ecircumflex" k="69" />
+<hkern g1="Z" g2="edieresis" k="69" />
+<hkern g1="Z" g2="eth" k="59" />
+<hkern g1="Z" g2="ograve" k="69" />
+<hkern g1="Z" g2="oacute" k="69" />
+<hkern g1="Z" g2="ocircumflex" k="69" />
+<hkern g1="Z" g2="odieresis" k="69" />
+<hkern g1="Z" g2="yacute" k="193" />
+<hkern g1="Z" g2="ydieresis" k="67" />
+<hkern g1="underscore" g2="underscore" k="39" />
+<hkern g1="a" g2="T" k="353" />
+<hkern g1="a" g2="V" k="249" />
+<hkern g1="a" g2="W" k="160" />
+<hkern g1="a" g2="Y" k="306" />
+<hkern g1="a" g2="f" k="58" />
+<hkern g1="a" g2="j" k="259" />
+<hkern g1="a" g2="t" k="90" />
+<hkern g1="a" g2="v" k="62" />
+<hkern g1="a" g2="y" k="61" />
+<hkern g1="a" g2="Yacute" k="298" />
+<hkern g1="a" g2="icircumflex" k="58" />
+<hkern g1="a" g2="idieresis" k="65" />
+<hkern g1="a" g2="yacute" k="61" />
+<hkern g1="a" g2="ydieresis" k="61" />
+<hkern g1="b" g2="A" k="60" />
+<hkern g1="b" g2="T" k="279" />
+<hkern g1="b" g2="V" k="129" />
+<hkern g1="b" g2="W" k="160" />
+<hkern g1="b" g2="X" k="122" />
+<hkern g1="b" g2="Y" k="294" />
+<hkern g1="b" g2="Z" k="123" />
+<hkern g1="b" g2="f" k="58" />
+<hkern g1="b" g2="j" k="199" />
+<hkern g1="b" g2="t" k="90" />
+<hkern g1="b" g2="v" k="62" />
+<hkern g1="b" g2="x" k="93" />
+<hkern g1="b" g2="y" k="61" />
+<hkern g1="b" g2="z" k="93" />
+<hkern g1="b" g2="Agrave" k="60" />
+<hkern g1="b" g2="Aacute" k="60" />
+<hkern g1="b" g2="Acircumflex" k="60" />
+<hkern g1="b" g2="Atilde" k="60" />
+<hkern g1="b" g2="Adieresis" k="60" />
+<hkern g1="b" g2="Aring" k="60" />
+<hkern g1="b" g2="AE" k="63" />
+<hkern g1="b" g2="Yacute" k="256" />
+<hkern g1="b" g2="icircumflex" k="58" />
+<hkern g1="b" g2="idieresis" k="65" />
+<hkern g1="b" g2="yacute" k="61" />
+<hkern g1="b" g2="ydieresis" k="61" />
+<hkern g1="c" g2="T" k="281" />
+<hkern g1="c" g2="V" k="123" />
+<hkern g1="c" g2="Y" k="148" />
+<hkern g1="c" g2="j" k="172" />
+<hkern g1="c" g2="Yacute" k="148" />
+<hkern g1="d" g2="A" k="60" />
+<hkern g1="d" g2="j" k="154" />
+<hkern g1="d" g2="Agrave" k="60" />
+<hkern g1="d" g2="Aacute" k="60" />
+<hkern g1="d" g2="Acircumflex" k="60" />
+<hkern g1="d" g2="Atilde" k="60" />
+<hkern g1="d" g2="Adieresis" k="60" />
+<hkern g1="d" g2="Aring" k="60" />
+<hkern g1="d" g2="AE" k="63" />
+<hkern g1="e" g2="A" k="92" />
+<hkern g1="e" g2="T" k="316" />
+<hkern g1="e" g2="V" k="249" />
+<hkern g1="e" g2="W" k="160" />
+<hkern g1="e" g2="X" k="122" />
+<hkern g1="e" g2="Y" k="246" />
+<hkern g1="e" g2="Z" k="123" />
+<hkern g1="e" g2="f" k="58" />
+<hkern g1="e" g2="j" k="229" />
+<hkern g1="e" g2="t" k="90" />
+<hkern g1="e" g2="v" k="62" />
+<hkern g1="e" g2="x" k="93" />
+<hkern g1="e" g2="y" k="61" />
+<hkern g1="e" g2="z" k="93" />
+<hkern g1="e" g2="Agrave" k="92" />
+<hkern g1="e" g2="Aacute" k="92" />
+<hkern g1="e" g2="Acircumflex" k="92" />
+<hkern g1="e" g2="Atilde" k="92" />
+<hkern g1="e" g2="Adieresis" k="92" />
+<hkern g1="e" g2="Aring" k="92" />
+<hkern g1="e" g2="AE" k="95" />
+<hkern g1="e" g2="Yacute" k="215" />
+<hkern g1="e" g2="icircumflex" k="58" />
+<hkern g1="e" g2="idieresis" k="65" />
+<hkern g1="e" g2="yacute" k="61" />
+<hkern g1="e" g2="ydieresis" k="61" />
+<hkern g1="f" g2="A" k="124" />
+<hkern g1="f" g2="J" k="178" />
+<hkern g1="f" g2="j" k="242" />
+<hkern g1="f" g2="Agrave" k="124" />
+<hkern g1="f" g2="Aacute" k="77" />
+<hkern g1="f" g2="Acircumflex" k="77" />
+<hkern g1="f" g2="Atilde" k="77" />
+<hkern g1="f" g2="Adieresis" k="77" />
+<hkern g1="f" g2="Aring" k="77" />
+<hkern g1="f" g2="AE" k="139" />
+<hkern g1="g" g2="T" k="285" />
+<hkern g1="g" g2="V" k="249" />
+<hkern g1="g" g2="W" k="160" />
+<hkern g1="g" g2="Y" k="254" />
+<hkern g1="g" g2="f" k="58" />
+<hkern g1="g" g2="t" k="90" />
+<hkern g1="g" g2="v" k="62" />
+<hkern g1="g" g2="y" k="61" />
+<hkern g1="g" g2="Yacute" k="254" />
+<hkern g1="g" g2="icircumflex" k="58" />
+<hkern g1="g" g2="idieresis" k="65" />
+<hkern g1="g" g2="yacute" k="61" />
+<hkern g1="g" g2="ydieresis" k="61" />
+<hkern g1="h" g2="T" k="308" />
+<hkern g1="h" g2="V" k="233" />
+<hkern g1="h" g2="W" k="144" />
+<hkern g1="h" g2="Y" k="261" />
+<hkern g1="h" g2="f" k="42" />
+<hkern g1="h" g2="j" k="198" />
+<hkern g1="h" g2="t" k="74" />
+<hkern g1="h" g2="v" k="46" />
+<hkern g1="h" g2="y" k="45" />
+<hkern g1="h" g2="Yacute" k="261" />
+<hkern g1="h" g2="icircumflex" k="42" />
+<hkern g1="h" g2="idieresis" k="49" />
+<hkern g1="h" g2="yacute" k="45" />
+<hkern g1="h" g2="ydieresis" k="45" />
+<hkern g1="i" g2="j" k="171" />
+<hkern g1="k" g2="T" k="251" />
+<hkern g1="k" g2="V" k="91" />
+<hkern g1="k" g2="Y" k="185" />
+<hkern g1="k" g2="a" k="63" />
+<hkern g1="k" g2="c" k="92" />
+<hkern g1="k" g2="d" k="63" />
+<hkern g1="k" g2="e" k="63" />
+<hkern g1="k" g2="j" k="156" />
+<hkern g1="k" g2="o" k="63" />
+<hkern g1="k" g2="q" k="63" />
+<hkern g1="k" g2="Yacute" k="185" />
+<hkern g1="k" g2="agrave" k="63" />
+<hkern g1="k" g2="aacute" k="63" />
+<hkern g1="k" g2="acircumflex" k="63" />
+<hkern g1="k" g2="atilde" k="63" />
+<hkern g1="k" g2="adieresis" k="63" />
+<hkern g1="k" g2="aring" k="63" />
+<hkern g1="k" g2="ae" k="75" />
+<hkern g1="k" g2="ccedilla" k="92" />
+<hkern g1="k" g2="egrave" k="63" />
+<hkern g1="k" g2="eacute" k="63" />
+<hkern g1="k" g2="ecircumflex" k="63" />
+<hkern g1="k" g2="edieresis" k="63" />
+<hkern g1="k" g2="eth" k="53" />
+<hkern g1="k" g2="ograve" k="63" />
+<hkern g1="k" g2="oacute" k="63" />
+<hkern g1="k" g2="ocircumflex" k="63" />
+<hkern g1="k" g2="otilde" k="63" />
+<hkern g1="k" g2="odieresis" k="63" />
+<hkern g1="l" g2="j" k="153" />
+<hkern g1="l" g2="ae" k="41" />
+<hkern g1="m" g2="T" k="260" />
+<hkern g1="m" g2="V" k="219" />
+<hkern g1="m" g2="W" k="130" />
+<hkern g1="m" g2="Y" k="221" />
+<hkern g1="m" g2="j" k="166" />
+<hkern g1="m" g2="t" k="60" />
+<hkern g1="m" g2="y" k="63" />
+<hkern g1="m" g2="Yacute" k="229" />
+<hkern g1="m" g2="icircumflex" k="60" />
+<hkern g1="m" g2="idieresis" k="67" />
+<hkern g1="m" g2="yacute" k="63" />
+<hkern g1="m" g2="ydieresis" k="63" />
+<hkern g1="n" g2="T" k="221" />
+<hkern g1="n" g2="V" k="233" />
+<hkern g1="n" g2="W" k="144" />
+<hkern g1="n" g2="Y" k="190" />
+<hkern g1="n" g2="f" k="42" />
+<hkern g1="n" g2="j" k="126" />
+<hkern g1="n" g2="t" k="74" />
+<hkern g1="n" g2="v" k="46" />
+<hkern g1="n" g2="y" k="45" />
+<hkern g1="n" g2="Yacute" k="221" />
+<hkern g1="n" g2="icircumflex" k="42" />
+<hkern g1="n" g2="idieresis" k="49" />
+<hkern g1="n" g2="yacute" k="45" />
+<hkern g1="n" g2="ydieresis" k="45" />
+<hkern g1="o" g2="A" k="60" />
+<hkern g1="o" g2="T" k="256" />
+<hkern g1="o" g2="V" k="249" />
+<hkern g1="o" g2="W" k="160" />
+<hkern g1="o" g2="X" k="122" />
+<hkern g1="o" g2="Y" k="225" />
+<hkern g1="o" g2="Z" k="123" />
+<hkern g1="o" g2="f" k="58" />
+<hkern g1="o" g2="j" k="201" />
+<hkern g1="o" g2="t" k="90" />
+<hkern g1="o" g2="v" k="62" />
+<hkern g1="o" g2="x" k="93" />
+<hkern g1="o" g2="y" k="61" />
+<hkern g1="o" g2="z" k="93" />
+<hkern g1="o" g2="Agrave" k="60" />
+<hkern g1="o" g2="Aacute" k="60" />
+<hkern g1="o" g2="Acircumflex" k="60" />
+<hkern g1="o" g2="Atilde" k="60" />
+<hkern g1="o" g2="Adieresis" k="60" />
+<hkern g1="o" g2="Aring" k="60" />
+<hkern g1="o" g2="AE" k="63" />
+<hkern g1="o" g2="Yacute" k="225" />
+<hkern g1="o" g2="icircumflex" k="58" />
+<hkern g1="o" g2="idieresis" k="65" />
+<hkern g1="o" g2="yacute" k="61" />
+<hkern g1="o" g2="ydieresis" k="61" />
+<hkern g1="p" g2="A" k="60" />
+<hkern g1="p" g2="T" k="297" />
+<hkern g1="p" g2="V" k="249" />
+<hkern g1="p" g2="W" k="160" />
+<hkern g1="p" g2="X" k="122" />
+<hkern g1="p" g2="Y" k="227" />
+<hkern g1="p" g2="Z" k="123" />
+<hkern g1="p" g2="f" k="58" />
+<hkern g1="p" g2="j" k="180" />
+<hkern g1="p" g2="t" k="90" />
+<hkern g1="p" g2="v" k="62" />
+<hkern g1="p" g2="x" k="93" />
+<hkern g1="p" g2="y" k="61" />
+<hkern g1="p" g2="z" k="93" />
+<hkern g1="p" g2="Agrave" k="60" />
+<hkern g1="p" g2="Aacute" k="60" />
+<hkern g1="p" g2="Acircumflex" k="60" />
+<hkern g1="p" g2="Atilde" k="60" />
+<hkern g1="p" g2="Adieresis" k="60" />
+<hkern g1="p" g2="Aring" k="60" />
+<hkern g1="p" g2="AE" k="63" />
+<hkern g1="p" g2="Yacute" k="227" />
+<hkern g1="p" g2="icircumflex" k="58" />
+<hkern g1="p" g2="idieresis" k="65" />
+<hkern g1="p" g2="yacute" k="61" />
+<hkern g1="p" g2="ydieresis" k="61" />
+<hkern g1="q" g2="T" k="263" />
+<hkern g1="q" g2="V" k="120" />
+<hkern g1="q" g2="W" k="160" />
+<hkern g1="q" g2="Y" k="247" />
+<hkern g1="q" g2="f" k="58" />
+<hkern g1="q" g2="t" k="90" />
+<hkern g1="q" g2="v" k="62" />
+<hkern g1="q" g2="y" k="61" />
+<hkern g1="q" g2="Yacute" k="247" />
+<hkern g1="q" g2="icircumflex" k="58" />
+<hkern g1="q" g2="idieresis" k="65" />
+<hkern g1="q" g2="yacute" k="61" />
+<hkern g1="q" g2="ydieresis" k="61" />
+<hkern g1="r" g2="A" k="185" />
+<hkern g1="r" g2="J" k="233" />
+<hkern g1="r" g2="T" k="224" />
+<hkern g1="r" g2="V" k="59" />
+<hkern g1="r" g2="X" k="216" />
+<hkern g1="r" g2="Y" k="153" />
+<hkern g1="r" g2="Z" k="201" />
+<hkern g1="r" g2="j" k="168" />
+<hkern g1="r" g2="Agrave" k="185" />
+<hkern g1="r" g2="Aacute" k="185" />
+<hkern g1="r" g2="Acircumflex" k="185" />
+<hkern g1="r" g2="Atilde" k="185" />
+<hkern g1="r" g2="Adieresis" k="185" />
+<hkern g1="r" g2="Aring" k="185" />
+<hkern g1="r" g2="AE" k="239" />
+<hkern g1="r" g2="Yacute" k="153" />
+<hkern g1="s" g2="T" k="233" />
+<hkern g1="s" g2="V" k="158" />
+<hkern g1="s" g2="W" k="69" />
+<hkern g1="s" g2="Y" k="256" />
+<hkern g1="s" g2="j" k="186" />
+<hkern g1="s" g2="Yacute" k="202" />
+<hkern g1="t" g2="T" k="184" />
+<hkern g1="t" g2="V" k="152" />
+<hkern g1="t" g2="W" k="63" />
+<hkern g1="t" g2="Y" k="183" />
+<hkern g1="t" g2="a" k="61" />
+<hkern g1="t" g2="c" k="90" />
+<hkern g1="t" g2="d" k="61" />
+<hkern g1="t" g2="e" k="61" />
+<hkern g1="t" g2="j" k="143" />
+<hkern g1="t" g2="o" k="61" />
+<hkern g1="t" g2="q" k="61" />
+<hkern g1="t" g2="Yacute" k="183" />
+<hkern g1="t" g2="agrave" k="61" />
+<hkern g1="t" g2="aacute" k="61" />
+<hkern g1="t" g2="acircumflex" k="61" />
+<hkern g1="t" g2="atilde" k="61" />
+<hkern g1="t" g2="adieresis" k="61" />
+<hkern g1="t" g2="aring" k="61" />
+<hkern g1="t" g2="ae" k="73" />
+<hkern g1="t" g2="ccedilla" k="90" />
+<hkern g1="t" g2="egrave" k="61" />
+<hkern g1="t" g2="eacute" k="61" />
+<hkern g1="t" g2="ecircumflex" k="61" />
+<hkern g1="t" g2="edieresis" k="61" />
+<hkern g1="t" g2="eth" k="51" />
+<hkern g1="t" g2="ograve" k="61" />
+<hkern g1="t" g2="oacute" k="61" />
+<hkern g1="t" g2="ocircumflex" k="61" />
+<hkern g1="t" g2="otilde" k="61" />
+<hkern g1="t" g2="odieresis" k="61" />
+<hkern g1="u" g2="T" k="248" />
+<hkern g1="u" g2="V" k="107" />
+<hkern g1="u" g2="W" k="49" />
+<hkern g1="u" g2="Y" k="201" />
+<hkern g1="u" g2="j" k="154" />
+<hkern g1="u" g2="Yacute" k="201" />
+<hkern g1="u" g2="icircumflex" k="42" />
+<hkern g1="u" g2="idieresis" k="49" />
+<hkern g1="v" g2="A" k="161" />
+<hkern g1="v" g2="J" k="167" />
+<hkern g1="v" g2="T" k="248" />
+<hkern g1="v" g2="V" k="107" />
+<hkern g1="v" g2="W" k="49" />
+<hkern g1="v" g2="X" k="232" />
+<hkern g1="v" g2="Y" k="201" />
+<hkern g1="v" g2="Z" k="240" />
+<hkern g1="v" g2="a" k="47" />
+<hkern g1="v" g2="c" k="77" />
+<hkern g1="v" g2="d" k="47" />
+<hkern g1="v" g2="e" k="47" />
+<hkern g1="v" g2="g" k="47" />
+<hkern g1="v" g2="j" k="216" />
+<hkern g1="v" g2="o" k="47" />
+<hkern g1="v" g2="p" k="47" />
+<hkern g1="v" g2="q" k="47" />
+<hkern g1="v" g2="Agrave" k="153" />
+<hkern g1="v" g2="Aacute" k="146" />
+<hkern g1="v" g2="Acircumflex" k="153" />
+<hkern g1="v" g2="Atilde" k="146" />
+<hkern g1="v" g2="Adieresis" k="161" />
+<hkern g1="v" g2="Aring" k="177" />
+<hkern g1="v" g2="AE" k="201" />
+<hkern g1="v" g2="Yacute" k="201" />
+<hkern g1="v" g2="agrave" k="47" />
+<hkern g1="v" g2="aacute" k="47" />
+<hkern g1="v" g2="acircumflex" k="47" />
+<hkern g1="v" g2="atilde" k="47" />
+<hkern g1="v" g2="adieresis" k="47" />
+<hkern g1="v" g2="aring" k="47" />
+<hkern g1="v" g2="ae" k="91" />
+<hkern g1="v" g2="ccedilla" k="77" />
+<hkern g1="v" g2="egrave" k="47" />
+<hkern g1="v" g2="eacute" k="47" />
+<hkern g1="v" g2="ecircumflex" k="47" />
+<hkern g1="v" g2="edieresis" k="47" />
+<hkern g1="v" g2="icircumflex" k="42" />
+<hkern g1="v" g2="idieresis" k="49" />
+<hkern g1="v" g2="eth" k="69" />
+<hkern g1="v" g2="ograve" k="47" />
+<hkern g1="v" g2="oacute" k="47" />
+<hkern g1="v" g2="ocircumflex" k="47" />
+<hkern g1="v" g2="otilde" k="47" />
+<hkern g1="v" g2="odieresis" k="47" />
+<hkern g1="v" g2="oslash" k="47" />
+<hkern g1="w" g2="A" k="250" />
+<hkern g1="w" g2="J" k="90" />
+<hkern g1="w" g2="T" k="330" />
+<hkern g1="w" g2="V" k="124" />
+<hkern g1="w" g2="X" k="218" />
+<hkern g1="w" g2="Y" k="133" />
+<hkern g1="w" g2="Z" k="219" />
+<hkern g1="w" g2="j" k="220" />
+<hkern g1="w" g2="Agrave" k="250" />
+<hkern g1="w" g2="Aacute" k="250" />
+<hkern g1="w" g2="Acircumflex" k="250" />
+<hkern g1="w" g2="Atilde" k="250" />
+<hkern g1="w" g2="Adieresis" k="250" />
+<hkern g1="w" g2="Aring" k="250" />
+<hkern g1="w" g2="AE" k="222" />
+<hkern g1="w" g2="Yacute" k="148" />
+<hkern g1="w" g2="ae" k="45" />
+<hkern g1="w" g2="icircumflex" k="59" />
+<hkern g1="w" g2="idieresis" k="66" />
+<hkern g1="x" g2="T" k="210" />
+<hkern g1="x" g2="V" k="91" />
+<hkern g1="x" g2="Y" k="185" />
+<hkern g1="x" g2="a" k="63" />
+<hkern g1="x" g2="c" k="92" />
+<hkern g1="x" g2="d" k="63" />
+<hkern g1="x" g2="e" k="63" />
+<hkern g1="x" g2="j" k="154" />
+<hkern g1="x" g2="o" k="63" />
+<hkern g1="x" g2="q" k="63" />
+<hkern g1="x" g2="Yacute" k="185" />
+<hkern g1="x" g2="agrave" k="63" />
+<hkern g1="x" g2="aacute" k="63" />
+<hkern g1="x" g2="acircumflex" k="63" />
+<hkern g1="x" g2="atilde" k="63" />
+<hkern g1="x" g2="adieresis" k="63" />
+<hkern g1="x" g2="aring" k="63" />
+<hkern g1="x" g2="ae" k="75" />
+<hkern g1="x" g2="ccedilla" k="92" />
+<hkern g1="x" g2="egrave" k="63" />
+<hkern g1="x" g2="eacute" k="63" />
+<hkern g1="x" g2="ecircumflex" k="63" />
+<hkern g1="x" g2="edieresis" k="63" />
+<hkern g1="x" g2="eth" k="53" />
+<hkern g1="x" g2="ograve" k="63" />
+<hkern g1="x" g2="oacute" k="63" />
+<hkern g1="x" g2="ocircumflex" k="63" />
+<hkern g1="x" g2="otilde" k="63" />
+<hkern g1="x" g2="odieresis" k="63" />
+<hkern g1="y" g2="A" k="125" />
+<hkern g1="y" g2="J" k="88" />
+<hkern g1="y" g2="T" k="306" />
+<hkern g1="y" g2="V" k="91" />
+<hkern g1="y" g2="X" k="78" />
+<hkern g1="y" g2="Y" k="94" />
+<hkern g1="y" g2="Z" k="118" />
+<hkern g1="y" g2="j" k="180" />
+<hkern g1="y" g2="Agrave" k="86" />
+<hkern g1="y" g2="Aacute" k="86" />
+<hkern g1="y" g2="Acircumflex" k="86" />
+<hkern g1="y" g2="Atilde" k="86" />
+<hkern g1="y" g2="Adieresis" k="86" />
+<hkern g1="y" g2="Aring" k="86" />
+<hkern g1="y" g2="AE" k="118" />
+<hkern g1="y" g2="Yacute" k="55" />
+<hkern g1="z" g2="T" k="299" />
+<hkern g1="z" g2="V" k="91" />
+<hkern g1="z" g2="Y" k="63" />
+<hkern g1="z" g2="a" k="63" />
+<hkern g1="z" g2="c" k="92" />
+<hkern g1="z" g2="d" k="63" />
+<hkern g1="z" g2="e" k="63" />
+<hkern g1="z" g2="j" k="180" />
+<hkern g1="z" g2="o" k="63" />
+<hkern g1="z" g2="q" k="63" />
+<hkern g1="z" g2="Yacute" k="149" />
+<hkern g1="z" g2="agrave" k="63" />
+<hkern g1="z" g2="aacute" k="63" />
+<hkern g1="z" g2="acircumflex" k="63" />
+<hkern g1="z" g2="atilde" k="63" />
+<hkern g1="z" g2="adieresis" k="63" />
+<hkern g1="z" g2="aring" k="63" />
+<hkern g1="z" g2="ae" k="75" />
+<hkern g1="z" g2="ccedilla" k="92" />
+<hkern g1="z" g2="egrave" k="63" />
+<hkern g1="z" g2="eacute" k="63" />
+<hkern g1="z" g2="ecircumflex" k="63" />
+<hkern g1="z" g2="edieresis" k="63" />
+<hkern g1="z" g2="eth" k="53" />
+<hkern g1="z" g2="ograve" k="63" />
+<hkern g1="z" g2="oacute" k="63" />
+<hkern g1="z" g2="ocircumflex" k="63" />
+<hkern g1="z" g2="otilde" k="63" />
+<hkern g1="z" g2="odieresis" k="63" />
+<hkern g1="Agrave" g2="C" k="98" />
+<hkern g1="Agrave" g2="G" k="98" />
+<hkern g1="Agrave" g2="O" k="69" />
+<hkern g1="Agrave" g2="Q" k="69" />
+<hkern g1="Agrave" g2="T" k="208" />
+<hkern g1="Agrave" g2="V" k="247" />
+<hkern g1="Agrave" g2="W" k="121" />
+<hkern g1="Agrave" g2="Y" k="247" />
+<hkern g1="Agrave" g2="f" k="64" />
+<hkern g1="Agrave" g2="j" k="200" />
+<hkern g1="Agrave" g2="t" k="95" />
+<hkern g1="Agrave" g2="v" k="137" />
+<hkern g1="Agrave" g2="w" k="199" />
+<hkern g1="Agrave" g2="y" k="256" />
+<hkern g1="Agrave" g2="Ccedilla" k="98" />
+<hkern g1="Agrave" g2="Eth" k="52" />
+<hkern g1="Agrave" g2="Ograve" k="69" />
+<hkern g1="Agrave" g2="Oacute" k="69" />
+<hkern g1="Agrave" g2="Ocircumflex" k="69" />
+<hkern g1="Agrave" g2="Otilde" k="69" />
+<hkern g1="Agrave" g2="Odieresis" k="69" />
+<hkern g1="Agrave" g2="Yacute" k="224" />
+<hkern g1="Agrave" g2="yacute" k="124" />
+<hkern g1="Agrave" g2="ydieresis" k="61" />
+<hkern g1="Aacute" g2="C" k="98" />
+<hkern g1="Aacute" g2="G" k="98" />
+<hkern g1="Aacute" g2="O" k="69" />
+<hkern g1="Aacute" g2="Q" k="69" />
+<hkern g1="Aacute" g2="T" k="247" />
+<hkern g1="Aacute" g2="V" k="200" />
+<hkern g1="Aacute" g2="W" k="159" />
+<hkern g1="Aacute" g2="Y" k="239" />
+<hkern g1="Aacute" g2="f" k="64" />
+<hkern g1="Aacute" g2="j" k="207" />
+<hkern g1="Aacute" g2="t" k="95" />
+<hkern g1="Aacute" g2="v" k="225" />
+<hkern g1="Aacute" g2="w" k="199" />
+<hkern g1="Aacute" g2="y" k="256" />
+<hkern g1="Aacute" g2="Ccedilla" k="98" />
+<hkern g1="Aacute" g2="Eth" k="52" />
+<hkern g1="Aacute" g2="Ograve" k="69" />
+<hkern g1="Aacute" g2="Oacute" k="69" />
+<hkern g1="Aacute" g2="Ocircumflex" k="69" />
+<hkern g1="Aacute" g2="Otilde" k="69" />
+<hkern g1="Aacute" g2="Odieresis" k="69" />
+<hkern g1="Aacute" g2="Yacute" k="200" />
+<hkern g1="Aacute" g2="yacute" k="62" />
+<hkern g1="Aacute" g2="ydieresis" k="53" />
+<hkern g1="Acircumflex" g2="C" k="98" />
+<hkern g1="Acircumflex" g2="G" k="98" />
+<hkern g1="Acircumflex" g2="O" k="69" />
+<hkern g1="Acircumflex" g2="Q" k="69" />
+<hkern g1="Acircumflex" g2="T" k="216" />
+<hkern g1="Acircumflex" g2="V" k="200" />
+<hkern g1="Acircumflex" g2="W" k="121" />
+<hkern g1="Acircumflex" g2="Y" k="200" />
+<hkern g1="Acircumflex" g2="f" k="64" />
+<hkern g1="Acircumflex" g2="j" k="106" />
+<hkern g1="Acircumflex" g2="t" k="95" />
+<hkern g1="Acircumflex" g2="v" k="225" />
+<hkern g1="Acircumflex" g2="w" k="199" />
+<hkern g1="Acircumflex" g2="y" k="256" />
+<hkern g1="Acircumflex" g2="Ccedilla" k="98" />
+<hkern g1="Acircumflex" g2="Eth" k="52" />
+<hkern g1="Acircumflex" g2="Ograve" k="69" />
+<hkern g1="Acircumflex" g2="Oacute" k="69" />
+<hkern g1="Acircumflex" g2="Ocircumflex" k="69" />
+<hkern g1="Acircumflex" g2="Otilde" k="69" />
+<hkern g1="Acircumflex" g2="Odieresis" k="69" />
+<hkern g1="Acircumflex" g2="Yacute" k="200" />
+<hkern g1="Acircumflex" g2="yacute" k="62" />
+<hkern g1="Acircumflex" g2="ydieresis" k="53" />
+<hkern g1="Atilde" g2="C" k="98" />
+<hkern g1="Atilde" g2="G" k="98" />
+<hkern g1="Atilde" g2="O" k="69" />
+<hkern g1="Atilde" g2="Q" k="69" />
+<hkern g1="Atilde" g2="T" k="204" />
+<hkern g1="Atilde" g2="V" k="204" />
+<hkern g1="Atilde" g2="W" k="78" />
+<hkern g1="Atilde" g2="Y" k="204" />
+<hkern g1="Atilde" g2="f" k="64" />
+<hkern g1="Atilde" g2="j" k="110" />
+<hkern g1="Atilde" g2="t" k="95" />
+<hkern g1="Atilde" g2="v" k="225" />
+<hkern g1="Atilde" g2="w" k="199" />
+<hkern g1="Atilde" g2="y" k="256" />
+<hkern g1="Atilde" g2="Ccedilla" k="98" />
+<hkern g1="Atilde" g2="Eth" k="52" />
+<hkern g1="Atilde" g2="Ograve" k="69" />
+<hkern g1="Atilde" g2="Oacute" k="69" />
+<hkern g1="Atilde" g2="Ocircumflex" k="69" />
+<hkern g1="Atilde" g2="Otilde" k="69" />
+<hkern g1="Atilde" g2="Odieresis" k="69" />
+<hkern g1="Atilde" g2="Yacute" k="204" />
+<hkern g1="Atilde" g2="yacute" k="66" />
+<hkern g1="Atilde" g2="ydieresis" k="57" />
+<hkern g1="Adieresis" g2="C" k="98" />
+<hkern g1="Adieresis" g2="G" k="98" />
+<hkern g1="Adieresis" g2="O" k="69" />
+<hkern g1="Adieresis" g2="Q" k="69" />
+<hkern g1="Adieresis" g2="T" k="236" />
+<hkern g1="Adieresis" g2="V" k="213" />
+<hkern g1="Adieresis" g2="W" k="188" />
+<hkern g1="Adieresis" g2="Y" k="213" />
+<hkern g1="Adieresis" g2="f" k="64" />
+<hkern g1="Adieresis" g2="j" k="158" />
+<hkern g1="Adieresis" g2="t" k="95" />
+<hkern g1="Adieresis" g2="v" k="157" />
+<hkern g1="Adieresis" g2="w" k="199" />
+<hkern g1="Adieresis" g2="y" k="256" />
+<hkern g1="Adieresis" g2="Ccedilla" k="98" />
+<hkern g1="Adieresis" g2="Eth" k="52" />
+<hkern g1="Adieresis" g2="Ograve" k="69" />
+<hkern g1="Adieresis" g2="Oacute" k="69" />
+<hkern g1="Adieresis" g2="Ocircumflex" k="69" />
+<hkern g1="Adieresis" g2="Otilde" k="69" />
+<hkern g1="Adieresis" g2="Odieresis" k="69" />
+<hkern g1="Adieresis" g2="Yacute" k="213" />
+<hkern g1="Adieresis" g2="yacute" k="75" />
+<hkern g1="Adieresis" g2="ydieresis" k="66" />
+<hkern g1="Aring" g2="C" k="98" />
+<hkern g1="Aring" g2="G" k="98" />
+<hkern g1="Aring" g2="O" k="69" />
+<hkern g1="Aring" g2="Q" k="69" />
+<hkern g1="Aring" g2="T" k="223" />
+<hkern g1="Aring" g2="V" k="230" />
+<hkern g1="Aring" g2="W" k="182" />
+<hkern g1="Aring" g2="Y" k="246" />
+<hkern g1="Aring" g2="f" k="64" />
+<hkern g1="Aring" g2="j" k="191" />
+<hkern g1="Aring" g2="t" k="95" />
+<hkern g1="Aring" g2="v" k="167" />
+<hkern g1="Aring" g2="w" k="199" />
+<hkern g1="Aring" g2="y" k="256" />
+<hkern g1="Aring" g2="Ccedilla" k="98" />
+<hkern g1="Aring" g2="Eth" k="52" />
+<hkern g1="Aring" g2="Ograve" k="69" />
+<hkern g1="Aring" g2="Oacute" k="69" />
+<hkern g1="Aring" g2="Ocircumflex" k="69" />
+<hkern g1="Aring" g2="Otilde" k="69" />
+<hkern g1="Aring" g2="Odieresis" k="69" />
+<hkern g1="Aring" g2="Yacute" k="207" />
+<hkern g1="Aring" g2="yacute" k="92" />
+<hkern g1="Aring" g2="ydieresis" k="83" />
+<hkern g1="AE" g2="C" k="100" />
+<hkern g1="AE" g2="G" k="100" />
+<hkern g1="AE" g2="J" k="65" />
+<hkern g1="AE" g2="O" k="102" />
+<hkern g1="AE" g2="Q" k="102" />
+<hkern g1="AE" g2="a" k="102" />
+<hkern g1="AE" g2="c" k="132" />
+<hkern g1="AE" g2="d" k="102" />
+<hkern g1="AE" g2="e" k="102" />
+<hkern g1="AE" g2="f" k="97" />
+<hkern g1="AE" g2="g" k="71" />
+<hkern g1="AE" g2="j" k="206" />
+<hkern g1="AE" g2="o" k="102" />
+<hkern g1="AE" g2="q" k="102" />
+<hkern g1="AE" g2="t" k="97" />
+<hkern g1="AE" g2="u" k="70" />
+<hkern g1="AE" g2="v" k="196" />
+<hkern g1="AE" g2="w" k="169" />
+<hkern g1="AE" g2="y" k="195" />
+<hkern g1="AE" g2="Ccedilla" k="100" />
+<hkern g1="AE" g2="Ograve" k="102" />
+<hkern g1="AE" g2="Oacute" k="102" />
+<hkern g1="AE" g2="Ocircumflex" k="102" />
+<hkern g1="AE" g2="Otilde" k="102" />
+<hkern g1="AE" g2="Odieresis" k="102" />
+<hkern g1="AE" g2="agrave" k="102" />
+<hkern g1="AE" g2="aacute" k="102" />
+<hkern g1="AE" g2="acircumflex" k="102" />
+<hkern g1="AE" g2="atilde" k="102" />
+<hkern g1="AE" g2="adieresis" k="102" />
+<hkern g1="AE" g2="aring" k="102" />
+<hkern g1="AE" g2="ae" k="114" />
+<hkern g1="AE" g2="ccedilla" k="132" />
+<hkern g1="AE" g2="egrave" k="102" />
+<hkern g1="AE" g2="eacute" k="102" />
+<hkern g1="AE" g2="ecircumflex" k="102" />
+<hkern g1="AE" g2="edieresis" k="102" />
+<hkern g1="AE" g2="eth" k="92" />
+<hkern g1="AE" g2="ograve" k="102" />
+<hkern g1="AE" g2="oacute" k="102" />
+<hkern g1="AE" g2="ocircumflex" k="102" />
+<hkern g1="AE" g2="otilde" k="102" />
+<hkern g1="AE" g2="odieresis" k="102" />
+<hkern g1="AE" g2="ugrave" k="70" />
+<hkern g1="AE" g2="uacute" k="70" />
+<hkern g1="AE" g2="ucircumflex" k="70" />
+<hkern g1="AE" g2="udieresis" k="70" />
+<hkern g1="AE" g2="yacute" k="195" />
+<hkern g1="AE" g2="ydieresis" k="132" />
+<hkern g1="Ccedilla" g2="C" k="91" />
+<hkern g1="Ccedilla" g2="G" k="138" />
+<hkern g1="Ccedilla" g2="O" k="91" />
+<hkern g1="Ccedilla" g2="Q" k="91" />
+<hkern g1="Ccedilla" g2="f" k="154" />
+<hkern g1="Ccedilla" g2="j" k="208" />
+<hkern g1="Ccedilla" g2="t" k="130" />
+<hkern g1="Ccedilla" g2="v" k="248" />
+<hkern g1="Ccedilla" g2="w" k="122" />
+<hkern g1="Ccedilla" g2="y" k="202" />
+<hkern g1="Ccedilla" g2="Ccedilla" k="104" />
+<hkern g1="Ccedilla" g2="Igrave" k="75" />
+<hkern g1="Ccedilla" g2="Iacute" k="105" />
+<hkern g1="Ccedilla" g2="Icircumflex" k="96" />
+<hkern g1="Ccedilla" g2="Idieresis" k="76" />
+<hkern g1="Ccedilla" g2="Eth" k="59" />
+<hkern g1="Ccedilla" g2="Ograve" k="91" />
+<hkern g1="Ccedilla" g2="Oacute" k="137" />
+<hkern g1="Ccedilla" g2="Ocircumflex" k="91" />
+<hkern g1="Ccedilla" g2="Otilde" k="91" />
+<hkern g1="Ccedilla" g2="Odieresis" k="91" />
+<hkern g1="Ccedilla" g2="iacute" k="53" />
+<hkern g1="Ccedilla" g2="yacute" k="204" />
+<hkern g1="Ccedilla" g2="ydieresis" k="164" />
+<hkern g1="Egrave" g2="C" k="127" />
+<hkern g1="Egrave" g2="G" k="127" />
+<hkern g1="Egrave" g2="O" k="129" />
+<hkern g1="Egrave" g2="Q" k="129" />
+<hkern g1="Egrave" g2="c" k="64" />
+<hkern g1="Egrave" g2="j" k="184" />
+<hkern g1="Egrave" g2="v" k="59" />
+<hkern g1="Egrave" g2="w" k="165" />
+<hkern g1="Egrave" g2="y" k="76" />
+<hkern g1="Egrave" g2="Ccedilla" k="127" />
+<hkern g1="Egrave" g2="Ograve" k="129" />
+<hkern g1="Egrave" g2="Oacute" k="129" />
+<hkern g1="Egrave" g2="Ocircumflex" k="129" />
+<hkern g1="Egrave" g2="Otilde" k="129" />
+<hkern g1="Egrave" g2="Odieresis" k="129" />
+<hkern g1="Egrave" g2="ae" k="47" />
+<hkern g1="Egrave" g2="ccedilla" k="64" />
+<hkern g1="Egrave" g2="eth" k="56" />
+<hkern g1="Egrave" g2="yacute" k="78" />
+<hkern g1="Egrave" g2="ydieresis" k="64" />
+<hkern g1="Eacute" g2="C" k="127" />
+<hkern g1="Eacute" g2="G" k="127" />
+<hkern g1="Eacute" g2="O" k="129" />
+<hkern g1="Eacute" g2="Q" k="129" />
+<hkern g1="Eacute" g2="c" k="64" />
+<hkern g1="Eacute" g2="j" k="182" />
+<hkern g1="Eacute" g2="v" k="191" />
+<hkern g1="Eacute" g2="w" k="165" />
+<hkern g1="Eacute" g2="y" k="51" />
+<hkern g1="Eacute" g2="Ccedilla" k="127" />
+<hkern g1="Eacute" g2="Ograve" k="129" />
+<hkern g1="Eacute" g2="Oacute" k="129" />
+<hkern g1="Eacute" g2="Ocircumflex" k="129" />
+<hkern g1="Eacute" g2="Otilde" k="129" />
+<hkern g1="Eacute" g2="Odieresis" k="129" />
+<hkern g1="Eacute" g2="ae" k="47" />
+<hkern g1="Eacute" g2="ccedilla" k="64" />
+<hkern g1="Eacute" g2="eth" k="56" />
+<hkern g1="Eacute" g2="yacute" k="53" />
+<hkern g1="Eacute" g2="ydieresis" k="64" />
+<hkern g1="Ecircumflex" g2="C" k="127" />
+<hkern g1="Ecircumflex" g2="G" k="127" />
+<hkern g1="Ecircumflex" g2="O" k="129" />
+<hkern g1="Ecircumflex" g2="Q" k="129" />
+<hkern g1="Ecircumflex" g2="c" k="64" />
+<hkern g1="Ecircumflex" g2="j" k="175" />
+<hkern g1="Ecircumflex" g2="v" k="191" />
+<hkern g1="Ecircumflex" g2="w" k="165" />
+<hkern g1="Ecircumflex" g2="y" k="51" />
+<hkern g1="Ecircumflex" g2="Ccedilla" k="127" />
+<hkern g1="Ecircumflex" g2="Ograve" k="129" />
+<hkern g1="Ecircumflex" g2="Oacute" k="129" />
+<hkern g1="Ecircumflex" g2="Ocircumflex" k="129" />
+<hkern g1="Ecircumflex" g2="Otilde" k="129" />
+<hkern g1="Ecircumflex" g2="Odieresis" k="129" />
+<hkern g1="Ecircumflex" g2="ae" k="47" />
+<hkern g1="Ecircumflex" g2="ccedilla" k="64" />
+<hkern g1="Ecircumflex" g2="eth" k="56" />
+<hkern g1="Ecircumflex" g2="yacute" k="53" />
+<hkern g1="Ecircumflex" g2="ydieresis" k="64" />
+<hkern g1="Edieresis" g2="C" k="127" />
+<hkern g1="Edieresis" g2="G" k="127" />
+<hkern g1="Edieresis" g2="O" k="129" />
+<hkern g1="Edieresis" g2="Q" k="129" />
+<hkern g1="Edieresis" g2="c" k="64" />
+<hkern g1="Edieresis" g2="j" k="180" />
+<hkern g1="Edieresis" g2="v" k="191" />
+<hkern g1="Edieresis" g2="w" k="165" />
+<hkern g1="Edieresis" g2="y" k="87" />
+<hkern g1="Edieresis" g2="Ccedilla" k="127" />
+<hkern g1="Edieresis" g2="Ograve" k="129" />
+<hkern g1="Edieresis" g2="Oacute" k="129" />
+<hkern g1="Edieresis" g2="Ocircumflex" k="129" />
+<hkern g1="Edieresis" g2="Otilde" k="129" />
+<hkern g1="Edieresis" g2="Odieresis" k="129" />
+<hkern g1="Edieresis" g2="ae" k="47" />
+<hkern g1="Edieresis" g2="ccedilla" k="64" />
+<hkern g1="Edieresis" g2="eth" k="56" />
+<hkern g1="Edieresis" g2="yacute" k="66" />
+<hkern g1="Edieresis" g2="ydieresis" k="64" />
+<hkern g1="Igrave" g2="I" k="42" />
+<hkern g1="Igrave" g2="j" k="283" />
+<hkern g1="Igrave" g2="dotlessi" k="42" />
+<hkern g1="Iacute" g2="j" k="199" />
+<hkern g1="Icircumflex" g2="j" k="207" />
+<hkern g1="Idieresis" g2="I" k="50" />
+<hkern g1="Idieresis" g2="j" k="227" />
+<hkern g1="Idieresis" g2="dotlessi" k="50" />
+<hkern g1="Eth" g2="A" k="128" />
+<hkern g1="Eth" g2="T" k="223" />
+<hkern g1="Eth" g2="V" k="128" />
+<hkern g1="Eth" g2="X" k="190" />
+<hkern g1="Eth" g2="Y" k="190" />
+<hkern g1="Eth" g2="Z" k="223" />
+<hkern g1="Eth" g2="j" k="176" />
+<hkern g1="Eth" g2="Agrave" k="128" />
+<hkern g1="Eth" g2="Aacute" k="128" />
+<hkern g1="Eth" g2="Acircumflex" k="128" />
+<hkern g1="Eth" g2="Atilde" k="128" />
+<hkern g1="Eth" g2="Adieresis" k="128" />
+<hkern g1="Eth" g2="Aring" k="128" />
+<hkern g1="Eth" g2="AE" k="131" />
+<hkern g1="Eth" g2="Yacute" k="190" />
+<hkern g1="Ntilde" g2="j" k="182" />
+<hkern g1="Ograve" g2="A" k="131" />
+<hkern g1="Ograve" g2="S" k="65" />
+<hkern g1="Ograve" g2="T" k="136" />
+<hkern g1="Ograve" g2="V" k="131" />
+<hkern g1="Ograve" g2="W" k="73" />
+<hkern g1="Ograve" g2="X" k="224" />
+<hkern g1="Ograve" g2="Y" k="224" />
+<hkern g1="Ograve" g2="Z" k="225" />
+<hkern g1="Ograve" g2="j" k="160" />
+<hkern g1="Ograve" g2="Agrave" k="131" />
+<hkern g1="Ograve" g2="Aacute" k="131" />
+<hkern g1="Ograve" g2="Acircumflex" k="131" />
+<hkern g1="Ograve" g2="Atilde" k="131" />
+<hkern g1="Ograve" g2="Adieresis" k="131" />
+<hkern g1="Ograve" g2="Aring" k="131" />
+<hkern g1="Ograve" g2="AE" k="165" />
+<hkern g1="Ograve" g2="Yacute" k="224" />
+<hkern g1="Oacute" g2="A" k="131" />
+<hkern g1="Oacute" g2="S" k="65" />
+<hkern g1="Oacute" g2="T" k="133" />
+<hkern g1="Oacute" g2="V" k="131" />
+<hkern g1="Oacute" g2="W" k="73" />
+<hkern g1="Oacute" g2="X" k="224" />
+<hkern g1="Oacute" g2="Y" k="224" />
+<hkern g1="Oacute" g2="Z" k="225" />
+<hkern g1="Oacute" g2="j" k="173" />
+<hkern g1="Oacute" g2="Agrave" k="131" />
+<hkern g1="Oacute" g2="Aacute" k="131" />
+<hkern g1="Oacute" g2="Acircumflex" k="131" />
+<hkern g1="Oacute" g2="Atilde" k="131" />
+<hkern g1="Oacute" g2="Adieresis" k="131" />
+<hkern g1="Oacute" g2="Aring" k="131" />
+<hkern g1="Oacute" g2="AE" k="165" />
+<hkern g1="Oacute" g2="Yacute" k="224" />
+<hkern g1="Ocircumflex" g2="A" k="131" />
+<hkern g1="Ocircumflex" g2="S" k="65" />
+<hkern g1="Ocircumflex" g2="T" k="109" />
+<hkern g1="Ocircumflex" g2="V" k="131" />
+<hkern g1="Ocircumflex" g2="W" k="73" />
+<hkern g1="Ocircumflex" g2="X" k="224" />
+<hkern g1="Ocircumflex" g2="Y" k="224" />
+<hkern g1="Ocircumflex" g2="Z" k="225" />
+<hkern g1="Ocircumflex" g2="j" k="187" />
+<hkern g1="Ocircumflex" g2="Agrave" k="131" />
+<hkern g1="Ocircumflex" g2="Aacute" k="131" />
+<hkern g1="Ocircumflex" g2="Acircumflex" k="131" />
+<hkern g1="Ocircumflex" g2="Atilde" k="131" />
+<hkern g1="Ocircumflex" g2="Adieresis" k="131" />
+<hkern g1="Ocircumflex" g2="Aring" k="131" />
+<hkern g1="Ocircumflex" g2="AE" k="165" />
+<hkern g1="Ocircumflex" g2="Yacute" k="224" />
+<hkern g1="Otilde" g2="A" k="131" />
+<hkern g1="Otilde" g2="S" k="65" />
+<hkern g1="Otilde" g2="T" k="137" />
+<hkern g1="Otilde" g2="V" k="131" />
+<hkern g1="Otilde" g2="W" k="73" />
+<hkern g1="Otilde" g2="X" k="224" />
+<hkern g1="Otilde" g2="Y" k="224" />
+<hkern g1="Otilde" g2="Z" k="225" />
+<hkern g1="Otilde" g2="j" k="169" />
+<hkern g1="Otilde" g2="Agrave" k="131" />
+<hkern g1="Otilde" g2="Aacute" k="131" />
+<hkern g1="Otilde" g2="Acircumflex" k="131" />
+<hkern g1="Otilde" g2="Atilde" k="131" />
+<hkern g1="Otilde" g2="Adieresis" k="131" />
+<hkern g1="Otilde" g2="Aring" k="131" />
+<hkern g1="Otilde" g2="AE" k="165" />
+<hkern g1="Otilde" g2="Yacute" k="224" />
+<hkern g1="Odieresis" g2="A" k="131" />
+<hkern g1="Odieresis" g2="S" k="65" />
+<hkern g1="Odieresis" g2="T" k="149" />
+<hkern g1="Odieresis" g2="V" k="131" />
+<hkern g1="Odieresis" g2="W" k="73" />
+<hkern g1="Odieresis" g2="X" k="224" />
+<hkern g1="Odieresis" g2="Y" k="110" />
+<hkern g1="Odieresis" g2="Z" k="225" />
+<hkern g1="Odieresis" g2="j" k="196" />
+<hkern g1="Odieresis" g2="Agrave" k="131" />
+<hkern g1="Odieresis" g2="Aacute" k="131" />
+<hkern g1="Odieresis" g2="Acircumflex" k="131" />
+<hkern g1="Odieresis" g2="Atilde" k="131" />
+<hkern g1="Odieresis" g2="Adieresis" k="131" />
+<hkern g1="Odieresis" g2="Aring" k="131" />
+<hkern g1="Odieresis" g2="AE" k="165" />
+<hkern g1="Odieresis" g2="Yacute" k="95" />
+<hkern g1="Oslash" g2="A" k="131" />
+<hkern g1="Oslash" g2="S" k="65" />
+<hkern g1="Oslash" g2="j" k="179" />
+<hkern g1="Oslash" g2="Agrave" k="131" />
+<hkern g1="Oslash" g2="Aacute" k="131" />
+<hkern g1="Oslash" g2="Acircumflex" k="131" />
+<hkern g1="Oslash" g2="Atilde" k="131" />
+<hkern g1="Oslash" g2="Adieresis" k="131" />
+<hkern g1="Oslash" g2="Aring" k="131" />
+<hkern g1="Oslash" g2="AE" k="165" />
+<hkern g1="Ugrave" g2="j" k="170" />
+<hkern g1="Uacute" g2="j" k="158" />
+<hkern g1="Ucircumflex" g2="j" k="175" />
+<hkern g1="Udieresis" g2="j" k="187" />
+<hkern g1="Yacute" g2="A" k="205" />
+<hkern g1="Yacute" g2="C" k="160" />
+<hkern g1="Yacute" g2="G" k="160" />
+<hkern g1="Yacute" g2="J" k="212" />
+<hkern g1="Yacute" g2="O" k="130" />
+<hkern g1="Yacute" g2="Q" k="130" />
+<hkern g1="Yacute" g2="S" k="61" />
+<hkern g1="Yacute" g2="a" k="181" />
+<hkern g1="Yacute" g2="c" k="181" />
+<hkern g1="Yacute" g2="d" k="205" />
+<hkern g1="Yacute" g2="e" k="197" />
+<hkern g1="Yacute" g2="f" k="157" />
+<hkern g1="Yacute" g2="g" k="186" />
+<hkern g1="Yacute" g2="j" k="197" />
+<hkern g1="Yacute" g2="m" k="168" />
+<hkern g1="Yacute" g2="n" k="129" />
+<hkern g1="Yacute" g2="o" k="181" />
+<hkern g1="Yacute" g2="p" k="187" />
+<hkern g1="Yacute" g2="q" k="178" />
+<hkern g1="Yacute" g2="r" k="158" />
+<hkern g1="Yacute" g2="s" k="127" />
+<hkern g1="Yacute" g2="t" k="62" />
+<hkern g1="Yacute" g2="u" k="129" />
+<hkern g1="Yacute" g2="v" k="129" />
+<hkern g1="Yacute" g2="w" k="166" />
+<hkern g1="Yacute" g2="x" k="160" />
+<hkern g1="Yacute" g2="y" k="160" />
+<hkern g1="Yacute" g2="z" k="160" />
+<hkern g1="Yacute" g2="Agrave" k="197" />
+<hkern g1="Yacute" g2="Aacute" k="205" />
+<hkern g1="Yacute" g2="Acircumflex" k="228" />
+<hkern g1="Yacute" g2="Atilde" k="197" />
+<hkern g1="Yacute" g2="Adieresis" k="197" />
+<hkern g1="Yacute" g2="Aring" k="189" />
+<hkern g1="Yacute" g2="AE" k="189" />
+<hkern g1="Yacute" g2="Ccedilla" k="160" />
+<hkern g1="Yacute" g2="Eth" k="50" />
+<hkern g1="Yacute" g2="Ograve" k="130" />
+<hkern g1="Yacute" g2="Oacute" k="130" />
+<hkern g1="Yacute" g2="Ocircumflex" k="130" />
+<hkern g1="Yacute" g2="Otilde" k="130" />
+<hkern g1="Yacute" g2="Odieresis" k="130" />
+<hkern g1="Yacute" g2="Oslash" k="130" />
+<hkern g1="Yacute" g2="agrave" k="174" />
+<hkern g1="Yacute" g2="aacute" k="189" />
+<hkern g1="Yacute" g2="acircumflex" k="166" />
+<hkern g1="Yacute" g2="atilde" k="67" />
+<hkern g1="Yacute" g2="adieresis" k="158" />
+<hkern g1="Yacute" g2="aring" k="126" />
+<hkern g1="Yacute" g2="ae" k="197" />
+<hkern g1="Yacute" g2="ccedilla" k="190" />
+<hkern g1="Yacute" g2="egrave" k="174" />
+<hkern g1="Yacute" g2="eacute" k="205" />
+<hkern g1="Yacute" g2="ecircumflex" k="150" />
+<hkern g1="Yacute" g2="edieresis" k="150" />
+<hkern g1="Yacute" g2="eth" k="166" />
+<hkern g1="Yacute" g2="ograve" k="181" />
+<hkern g1="Yacute" g2="oacute" k="174" />
+<hkern g1="Yacute" g2="ocircumflex" k="143" />
+<hkern g1="Yacute" g2="otilde" k="67" />
+<hkern g1="Yacute" g2="odieresis" k="158" />
+<hkern g1="Yacute" g2="oslash" k="181" />
+<hkern g1="Yacute" g2="ugrave" k="129" />
+<hkern g1="Yacute" g2="uacute" k="129" />
+<hkern g1="Yacute" g2="ucircumflex" k="129" />
+<hkern g1="Yacute" g2="udieresis" k="98" />
+<hkern g1="Yacute" g2="yacute" k="160" />
+<hkern g1="Yacute" g2="ydieresis" k="97" />
+<hkern g1="Yacute" g2="dotlessi" k="228" />
+<hkern g1="Thorn" g2="A" k="127" />
+<hkern g1="Thorn" g2="T" k="280" />
+<hkern g1="Thorn" g2="V" k="127" />
+<hkern g1="Thorn" g2="X" k="170" />
+<hkern g1="Thorn" g2="Y" k="186" />
+<hkern g1="Thorn" g2="Z" k="186" />
+<hkern g1="Thorn" g2="j" k="288" />
+<hkern g1="Thorn" g2="Agrave" k="127" />
+<hkern g1="Thorn" g2="Aacute" k="127" />
+<hkern g1="Thorn" g2="Acircumflex" k="127" />
+<hkern g1="Thorn" g2="Atilde" k="127" />
+<hkern g1="Thorn" g2="Adieresis" k="127" />
+<hkern g1="Thorn" g2="Aring" k="127" />
+<hkern g1="Thorn" g2="AE" k="161" />
+<hkern g1="Thorn" g2="Yacute" k="186" />
+<hkern g1="germandbls" g2="T" k="84" />
+<hkern g1="germandbls" g2="V" k="123" />
+<hkern g1="germandbls" g2="W" k="96" />
+<hkern g1="germandbls" g2="Y" k="108" />
+<hkern g1="germandbls" g2="j" k="194" />
+<hkern g1="germandbls" g2="y" k="61" />
+<hkern g1="germandbls" g2="Yacute" k="92" />
+<hkern g1="germandbls" g2="yacute" k="61" />
+<hkern g1="germandbls" g2="ydieresis" k="61" />
+<hkern g1="agrave" g2="T" k="154" />
+<hkern g1="agrave" g2="V" k="249" />
+<hkern g1="agrave" g2="W" k="160" />
+<hkern g1="agrave" g2="Y" k="223" />
+<hkern g1="agrave" g2="f" k="58" />
+<hkern g1="agrave" g2="j" k="146" />
+<hkern g1="agrave" g2="t" k="90" />
+<hkern g1="agrave" g2="v" k="62" />
+<hkern g1="agrave" g2="y" k="61" />
+<hkern g1="agrave" g2="Yacute" k="208" />
+<hkern g1="agrave" g2="icircumflex" k="58" />
+<hkern g1="agrave" g2="idieresis" k="65" />
+<hkern g1="agrave" g2="yacute" k="61" />
+<hkern g1="agrave" g2="ydieresis" k="61" />
+<hkern g1="aacute" g2="T" k="102" />
+<hkern g1="aacute" g2="V" k="249" />
+<hkern g1="aacute" g2="W" k="160" />
+<hkern g1="aacute" g2="Y" k="125" />
+<hkern g1="aacute" g2="f" k="58" />
+<hkern g1="aacute" g2="j" k="181" />
+<hkern g1="aacute" g2="t" k="90" />
+<hkern g1="aacute" g2="v" k="62" />
+<hkern g1="aacute" g2="y" k="61" />
+<hkern g1="aacute" g2="Yacute" k="118" />
+<hkern g1="aacute" g2="icircumflex" k="58" />
+<hkern g1="aacute" g2="idieresis" k="65" />
+<hkern g1="aacute" g2="yacute" k="61" />
+<hkern g1="aacute" g2="ydieresis" k="61" />
+<hkern g1="acircumflex" g2="T" k="214" />
+<hkern g1="acircumflex" g2="V" k="88" />
+<hkern g1="acircumflex" g2="W" k="160" />
+<hkern g1="acircumflex" g2="Y" k="199" />
+<hkern g1="acircumflex" g2="f" k="58" />
+<hkern g1="acircumflex" g2="j" k="207" />
+<hkern g1="acircumflex" g2="t" k="90" />
+<hkern g1="acircumflex" g2="v" k="62" />
+<hkern g1="acircumflex" g2="y" k="61" />
+<hkern g1="acircumflex" g2="Yacute" k="168" />
+<hkern g1="acircumflex" g2="yacute" k="61" />
+<hkern g1="acircumflex" g2="ydieresis" k="61" />
+<hkern g1="atilde" g2="T" k="123" />
+<hkern g1="atilde" g2="V" k="123" />
+<hkern g1="atilde" g2="W" k="97" />
+<hkern g1="atilde" g2="Y" k="122" />
+<hkern g1="atilde" g2="f" k="58" />
+<hkern g1="atilde" g2="j" k="181" />
+<hkern g1="atilde" g2="t" k="90" />
+<hkern g1="atilde" g2="v" k="62" />
+<hkern g1="atilde" g2="y" k="61" />
+<hkern g1="atilde" g2="Yacute" k="122" />
+<hkern g1="atilde" g2="yacute" k="61" />
+<hkern g1="atilde" g2="ydieresis" k="61" />
+<hkern g1="adieresis" g2="T" k="289" />
+<hkern g1="adieresis" g2="V" k="108" />
+<hkern g1="adieresis" g2="W" k="160" />
+<hkern g1="adieresis" g2="Y" k="179" />
+<hkern g1="adieresis" g2="f" k="58" />
+<hkern g1="adieresis" g2="j" k="195" />
+<hkern g1="adieresis" g2="t" k="90" />
+<hkern g1="adieresis" g2="v" k="62" />
+<hkern g1="adieresis" g2="y" k="61" />
+<hkern g1="adieresis" g2="Yacute" k="156" />
+<hkern g1="adieresis" g2="yacute" k="61" />
+<hkern g1="adieresis" g2="ydieresis" k="61" />
+<hkern g1="aring" g2="T" k="111" />
+<hkern g1="aring" g2="V" k="95" />
+<hkern g1="aring" g2="W" k="160" />
+<hkern g1="aring" g2="Y" k="111" />
+<hkern g1="aring" g2="f" k="58" />
+<hkern g1="aring" g2="j" k="190" />
+<hkern g1="aring" g2="t" k="90" />
+<hkern g1="aring" g2="v" k="62" />
+<hkern g1="aring" g2="y" k="61" />
+<hkern g1="aring" g2="Yacute" k="119" />
+<hkern g1="aring" g2="icircumflex" k="58" />
+<hkern g1="aring" g2="idieresis" k="65" />
+<hkern g1="aring" g2="yacute" k="61" />
+<hkern g1="aring" g2="ydieresis" k="61" />
+<hkern g1="ae" g2="A" k="126" />
+<hkern g1="ae" g2="S" k="123" />
+<hkern g1="ae" g2="T" k="225" />
+<hkern g1="ae" g2="V" k="284" />
+<hkern g1="ae" g2="W" k="163" />
+<hkern g1="ae" g2="X" k="157" />
+<hkern g1="ae" g2="Y" k="225" />
+<hkern g1="ae" g2="Z" k="158" />
+<hkern g1="ae" g2="f" k="93" />
+<hkern g1="ae" g2="i" k="50" />
+<hkern g1="ae" g2="j" k="192" />
+<hkern g1="ae" g2="t" k="124" />
+<hkern g1="ae" g2="v" k="97" />
+<hkern g1="ae" g2="w" k="70" />
+<hkern g1="ae" g2="x" k="127" />
+<hkern g1="ae" g2="y" k="96" />
+<hkern g1="ae" g2="z" k="127" />
+<hkern g1="ae" g2="Agrave" k="126" />
+<hkern g1="ae" g2="Aacute" k="126" />
+<hkern g1="ae" g2="Acircumflex" k="126" />
+<hkern g1="ae" g2="Atilde" k="126" />
+<hkern g1="ae" g2="Adieresis" k="126" />
+<hkern g1="ae" g2="Aring" k="126" />
+<hkern g1="ae" g2="AE" k="129" />
+<hkern g1="ae" g2="Igrave" k="47" />
+<hkern g1="ae" g2="Iacute" k="53" />
+<hkern g1="ae" g2="Icircumflex" k="60" />
+<hkern g1="ae" g2="Yacute" k="256" />
+<hkern g1="ae" g2="igrave" k="42" />
+<hkern g1="ae" g2="icircumflex" k="93" />
+<hkern g1="ae" g2="idieresis" k="100" />
+<hkern g1="ae" g2="yacute" k="96" />
+<hkern g1="ae" g2="ydieresis" k="96" />
+<hkern g1="ccedilla" g2="T" k="248" />
+<hkern g1="ccedilla" g2="V" k="123" />
+<hkern g1="ccedilla" g2="Y" k="185" />
+<hkern g1="ccedilla" g2="j" k="41" />
+<hkern g1="ccedilla" g2="Yacute" k="170" />
+<hkern g1="egrave" g2="A" k="92" />
+<hkern g1="egrave" g2="S" k="120" />
+<hkern g1="egrave" g2="T" k="210" />
+<hkern g1="egrave" g2="V" k="75" />
+<hkern g1="egrave" g2="W" k="160" />
+<hkern g1="egrave" g2="X" k="122" />
+<hkern g1="egrave" g2="Y" k="178" />
+<hkern g1="egrave" g2="Z" k="123" />
+<hkern g1="egrave" g2="f" k="58" />
+<hkern g1="egrave" g2="j" k="186" />
+<hkern g1="egrave" g2="t" k="90" />
+<hkern g1="egrave" g2="v" k="62" />
+<hkern g1="egrave" g2="x" k="93" />
+<hkern g1="egrave" g2="y" k="61" />
+<hkern g1="egrave" g2="z" k="93" />
+<hkern g1="egrave" g2="Agrave" k="92" />
+<hkern g1="egrave" g2="Aacute" k="92" />
+<hkern g1="egrave" g2="Acircumflex" k="92" />
+<hkern g1="egrave" g2="Atilde" k="92" />
+<hkern g1="egrave" g2="Adieresis" k="92" />
+<hkern g1="egrave" g2="Aring" k="92" />
+<hkern g1="egrave" g2="AE" k="95" />
+<hkern g1="egrave" g2="Yacute" k="209" />
+<hkern g1="egrave" g2="icircumflex" k="58" />
+<hkern g1="egrave" g2="idieresis" k="65" />
+<hkern g1="egrave" g2="yacute" k="61" />
+<hkern g1="egrave" g2="ydieresis" k="61" />
+<hkern g1="eacute" g2="A" k="92" />
+<hkern g1="eacute" g2="S" k="120" />
+<hkern g1="eacute" g2="T" k="129" />
+<hkern g1="eacute" g2="V" k="249" />
+<hkern g1="eacute" g2="W" k="160" />
+<hkern g1="eacute" g2="X" k="122" />
+<hkern g1="eacute" g2="Y" k="122" />
+<hkern g1="eacute" g2="Z" k="123" />
+<hkern g1="eacute" g2="f" k="58" />
+<hkern g1="eacute" g2="j" k="185" />
+<hkern g1="eacute" g2="t" k="90" />
+<hkern g1="eacute" g2="v" k="62" />
+<hkern g1="eacute" g2="x" k="93" />
+<hkern g1="eacute" g2="y" k="61" />
+<hkern g1="eacute" g2="z" k="93" />
+<hkern g1="eacute" g2="Agrave" k="92" />
+<hkern g1="eacute" g2="Aacute" k="92" />
+<hkern g1="eacute" g2="Acircumflex" k="92" />
+<hkern g1="eacute" g2="Atilde" k="92" />
+<hkern g1="eacute" g2="Adieresis" k="92" />
+<hkern g1="eacute" g2="Aring" k="92" />
+<hkern g1="eacute" g2="AE" k="95" />
+<hkern g1="eacute" g2="Yacute" k="106" />
+<hkern g1="eacute" g2="icircumflex" k="58" />
+<hkern g1="eacute" g2="idieresis" k="65" />
+<hkern g1="eacute" g2="yacute" k="61" />
+<hkern g1="eacute" g2="ydieresis" k="61" />
+<hkern g1="ecircumflex" g2="A" k="92" />
+<hkern g1="ecircumflex" g2="S" k="120" />
+<hkern g1="ecircumflex" g2="T" k="203" />
+<hkern g1="ecircumflex" g2="V" k="100" />
+<hkern g1="ecircumflex" g2="W" k="160" />
+<hkern g1="ecircumflex" g2="X" k="122" />
+<hkern g1="ecircumflex" g2="Y" k="164" />
+<hkern g1="ecircumflex" g2="Z" k="123" />
+<hkern g1="ecircumflex" g2="f" k="58" />
+<hkern g1="ecircumflex" g2="j" k="195" />
+<hkern g1="ecircumflex" g2="t" k="90" />
+<hkern g1="ecircumflex" g2="v" k="62" />
+<hkern g1="ecircumflex" g2="x" k="93" />
+<hkern g1="ecircumflex" g2="y" k="61" />
+<hkern g1="ecircumflex" g2="z" k="93" />
+<hkern g1="ecircumflex" g2="Agrave" k="92" />
+<hkern g1="ecircumflex" g2="Aacute" k="92" />
+<hkern g1="ecircumflex" g2="Acircumflex" k="92" />
+<hkern g1="ecircumflex" g2="Atilde" k="92" />
+<hkern g1="ecircumflex" g2="Adieresis" k="92" />
+<hkern g1="ecircumflex" g2="Aring" k="92" />
+<hkern g1="ecircumflex" g2="AE" k="95" />
+<hkern g1="ecircumflex" g2="Yacute" k="164" />
+<hkern g1="ecircumflex" g2="yacute" k="61" />
+<hkern g1="ecircumflex" g2="ydieresis" k="61" />
+<hkern g1="edieresis" g2="A" k="92" />
+<hkern g1="edieresis" g2="S" k="120" />
+<hkern g1="edieresis" g2="T" k="190" />
+<hkern g1="edieresis" g2="V" k="186" />
+<hkern g1="edieresis" g2="W" k="160" />
+<hkern g1="edieresis" g2="X" k="122" />
+<hkern g1="edieresis" g2="Y" k="142" />
+<hkern g1="edieresis" g2="Z" k="123" />
+<hkern g1="edieresis" g2="f" k="58" />
+<hkern g1="edieresis" g2="j" k="189" />
+<hkern g1="edieresis" g2="t" k="90" />
+<hkern g1="edieresis" g2="v" k="62" />
+<hkern g1="edieresis" g2="x" k="93" />
+<hkern g1="edieresis" g2="y" k="61" />
+<hkern g1="edieresis" g2="z" k="93" />
+<hkern g1="edieresis" g2="Agrave" k="92" />
+<hkern g1="edieresis" g2="Aacute" k="92" />
+<hkern g1="edieresis" g2="Acircumflex" k="92" />
+<hkern g1="edieresis" g2="Atilde" k="92" />
+<hkern g1="edieresis" g2="Adieresis" k="92" />
+<hkern g1="edieresis" g2="Aring" k="92" />
+<hkern g1="edieresis" g2="AE" k="95" />
+<hkern g1="edieresis" g2="Yacute" k="88" />
+<hkern g1="edieresis" g2="yacute" k="61" />
+<hkern g1="edieresis" g2="ydieresis" k="61" />
+<hkern g1="igrave" g2="T" k="40" />
+<hkern g1="igrave" g2="j" k="264" />
+<hkern g1="igrave" g2="dotlessi" k="46" />
+<hkern g1="iacute" g2="j" k="224" />
+<hkern g1="iacute" g2="dotlessi" k="49" />
+<hkern g1="icircumflex" g2="j" k="173" />
+<hkern g1="icircumflex" g2="dotlessi" k="44" />
+<hkern g1="idieresis" g2="A" k="40" />
+<hkern g1="idieresis" g2="T" k="-19" />
+<hkern g1="idieresis" g2="a" k="43" />
+<hkern g1="idieresis" g2="c" k="41" />
+<hkern g1="idieresis" g2="d" k="43" />
+<hkern g1="idieresis" g2="e" k="43" />
+<hkern g1="idieresis" g2="g" k="43" />
+<hkern g1="idieresis" g2="j" k="182" />
+<hkern g1="idieresis" g2="m" k="49" />
+<hkern g1="idieresis" g2="n" k="42" />
+<hkern g1="idieresis" g2="o" k="43" />
+<hkern g1="idieresis" g2="p" k="43" />
+<hkern g1="idieresis" g2="q" k="43" />
+<hkern g1="idieresis" g2="s" k="40" />
+<hkern g1="idieresis" g2="u" k="42" />
+<hkern g1="idieresis" g2="v" k="42" />
+<hkern g1="idieresis" g2="w" k="47" />
+<hkern g1="idieresis" g2="x" k="41" />
+<hkern g1="idieresis" g2="y" k="41" />
+<hkern g1="idieresis" g2="z" k="41" />
+<hkern g1="idieresis" g2="Agrave" k="40" />
+<hkern g1="idieresis" g2="Aacute" k="40" />
+<hkern g1="idieresis" g2="Acircumflex" k="40" />
+<hkern g1="idieresis" g2="Atilde" k="40" />
+<hkern g1="idieresis" g2="Adieresis" k="40" />
+<hkern g1="idieresis" g2="Aring" k="40" />
+<hkern g1="idieresis" g2="AE" k="43" />
+<hkern g1="idieresis" g2="agrave" k="43" />
+<hkern g1="idieresis" g2="aacute" k="43" />
+<hkern g1="idieresis" g2="aring" k="43" />
+<hkern g1="idieresis" g2="ae" k="55" />
+<hkern g1="idieresis" g2="ccedilla" k="41" />
+<hkern g1="idieresis" g2="egrave" k="43" />
+<hkern g1="idieresis" g2="eacute" k="43" />
+<hkern g1="idieresis" g2="ograve" k="43" />
+<hkern g1="idieresis" g2="oacute" k="43" />
+<hkern g1="idieresis" g2="oslash" k="43" />
+<hkern g1="idieresis" g2="ugrave" k="42" />
+<hkern g1="idieresis" g2="uacute" k="42" />
+<hkern g1="idieresis" g2="yacute" k="41" />
+<hkern g1="idieresis" g2="dotlessi" k="109" />
+<hkern g1="eth" g2="T" k="133" />
+<hkern g1="eth" g2="V" k="133" />
+<hkern g1="eth" g2="W" k="107" />
+<hkern g1="eth" g2="X" k="101" />
+<hkern g1="eth" g2="Y" k="132" />
+<hkern g1="eth" g2="Z" k="102" />
+<hkern g1="eth" g2="j" k="200" />
+<hkern g1="eth" g2="t" k="68" />
+<hkern g1="eth" g2="x" k="71" />
+<hkern g1="eth" g2="y" k="40" />
+<hkern g1="eth" g2="z" k="71" />
+<hkern g1="eth" g2="AE" k="42" />
+<hkern g1="eth" g2="Yacute" k="132" />
+<hkern g1="eth" g2="idieresis" k="44" />
+<hkern g1="eth" g2="yacute" k="40" />
+<hkern g1="eth" g2="ydieresis" k="40" />
+<hkern g1="ntilde" g2="T" k="76" />
+<hkern g1="ntilde" g2="V" k="76" />
+<hkern g1="ntilde" g2="W" k="49" />
+<hkern g1="ntilde" g2="Y" k="75" />
+<hkern g1="ntilde" g2="f" k="42" />
+<hkern g1="ntilde" g2="j" k="190" />
+<hkern g1="ntilde" g2="t" k="74" />
+<hkern g1="ntilde" g2="v" k="46" />
+<hkern g1="ntilde" g2="y" k="45" />
+<hkern g1="ntilde" g2="Yacute" k="75" />
+<hkern g1="ntilde" g2="yacute" k="45" />
+<hkern g1="ntilde" g2="ydieresis" k="45" />
+<hkern g1="ograve" g2="A" k="60" />
+<hkern g1="ograve" g2="T" k="115" />
+<hkern g1="ograve" g2="V" k="249" />
+<hkern g1="ograve" g2="W" k="160" />
+<hkern g1="ograve" g2="X" k="122" />
+<hkern g1="ograve" g2="Y" k="169" />
+<hkern g1="ograve" g2="Z" k="123" />
+<hkern g1="ograve" g2="f" k="58" />
+<hkern g1="ograve" g2="j" k="239" />
+<hkern g1="ograve" g2="t" k="90" />
+<hkern g1="ograve" g2="v" k="62" />
+<hkern g1="ograve" g2="x" k="93" />
+<hkern g1="ograve" g2="y" k="61" />
+<hkern g1="ograve" g2="z" k="93" />
+<hkern g1="ograve" g2="Agrave" k="60" />
+<hkern g1="ograve" g2="Aacute" k="60" />
+<hkern g1="ograve" g2="Acircumflex" k="60" />
+<hkern g1="ograve" g2="Atilde" k="60" />
+<hkern g1="ograve" g2="Adieresis" k="60" />
+<hkern g1="ograve" g2="Aring" k="60" />
+<hkern g1="ograve" g2="AE" k="63" />
+<hkern g1="ograve" g2="Yacute" k="169" />
+<hkern g1="ograve" g2="icircumflex" k="58" />
+<hkern g1="ograve" g2="idieresis" k="65" />
+<hkern g1="ograve" g2="yacute" k="61" />
+<hkern g1="ograve" g2="ydieresis" k="61" />
+<hkern g1="oacute" g2="A" k="60" />
+<hkern g1="oacute" g2="T" k="114" />
+<hkern g1="oacute" g2="V" k="249" />
+<hkern g1="oacute" g2="W" k="160" />
+<hkern g1="oacute" g2="X" k="122" />
+<hkern g1="oacute" g2="Y" k="160" />
+<hkern g1="oacute" g2="Z" k="123" />
+<hkern g1="oacute" g2="f" k="58" />
+<hkern g1="oacute" g2="j" k="216" />
+<hkern g1="oacute" g2="t" k="90" />
+<hkern g1="oacute" g2="v" k="62" />
+<hkern g1="oacute" g2="x" k="93" />
+<hkern g1="oacute" g2="y" k="61" />
+<hkern g1="oacute" g2="z" k="93" />
+<hkern g1="oacute" g2="Agrave" k="60" />
+<hkern g1="oacute" g2="Aacute" k="60" />
+<hkern g1="oacute" g2="Acircumflex" k="60" />
+<hkern g1="oacute" g2="Atilde" k="60" />
+<hkern g1="oacute" g2="Adieresis" k="60" />
+<hkern g1="oacute" g2="Aring" k="60" />
+<hkern g1="oacute" g2="AE" k="63" />
+<hkern g1="oacute" g2="Yacute" k="106" />
+<hkern g1="oacute" g2="icircumflex" k="58" />
+<hkern g1="oacute" g2="idieresis" k="65" />
+<hkern g1="oacute" g2="yacute" k="61" />
+<hkern g1="oacute" g2="ydieresis" k="61" />
+<hkern g1="ocircumflex" g2="A" k="60" />
+<hkern g1="ocircumflex" g2="T" k="169" />
+<hkern g1="ocircumflex" g2="V" k="218" />
+<hkern g1="ocircumflex" g2="W" k="160" />
+<hkern g1="ocircumflex" g2="X" k="122" />
+<hkern g1="ocircumflex" g2="Y" k="138" />
+<hkern g1="ocircumflex" g2="Z" k="123" />
+<hkern g1="ocircumflex" g2="f" k="58" />
+<hkern g1="ocircumflex" g2="j" k="224" />
+<hkern g1="ocircumflex" g2="t" k="90" />
+<hkern g1="ocircumflex" g2="v" k="62" />
+<hkern g1="ocircumflex" g2="x" k="93" />
+<hkern g1="ocircumflex" g2="y" k="61" />
+<hkern g1="ocircumflex" g2="z" k="93" />
+<hkern g1="ocircumflex" g2="Agrave" k="60" />
+<hkern g1="ocircumflex" g2="Aacute" k="60" />
+<hkern g1="ocircumflex" g2="Acircumflex" k="60" />
+<hkern g1="ocircumflex" g2="Atilde" k="60" />
+<hkern g1="ocircumflex" g2="Adieresis" k="60" />
+<hkern g1="ocircumflex" g2="Aring" k="60" />
+<hkern g1="ocircumflex" g2="AE" k="63" />
+<hkern g1="ocircumflex" g2="Yacute" k="138" />
+<hkern g1="ocircumflex" g2="yacute" k="61" />
+<hkern g1="ocircumflex" g2="ydieresis" k="61" />
+<hkern g1="otilde" g2="A" k="60" />
+<hkern g1="otilde" g2="T" k="83" />
+<hkern g1="otilde" g2="V" k="123" />
+<hkern g1="otilde" g2="W" k="97" />
+<hkern g1="otilde" g2="X" k="122" />
+<hkern g1="otilde" g2="Y" k="122" />
+<hkern g1="otilde" g2="Z" k="123" />
+<hkern g1="otilde" g2="f" k="58" />
+<hkern g1="otilde" g2="j" k="192" />
+<hkern g1="otilde" g2="t" k="90" />
+<hkern g1="otilde" g2="v" k="62" />
+<hkern g1="otilde" g2="x" k="93" />
+<hkern g1="otilde" g2="y" k="61" />
+<hkern g1="otilde" g2="z" k="93" />
+<hkern g1="otilde" g2="Agrave" k="60" />
+<hkern g1="otilde" g2="Aacute" k="60" />
+<hkern g1="otilde" g2="Acircumflex" k="60" />
+<hkern g1="otilde" g2="Atilde" k="60" />
+<hkern g1="otilde" g2="Adieresis" k="60" />
+<hkern g1="otilde" g2="Aring" k="60" />
+<hkern g1="otilde" g2="AE" k="63" />
+<hkern g1="otilde" g2="Yacute" k="122" />
+<hkern g1="otilde" g2="yacute" k="61" />
+<hkern g1="otilde" g2="ydieresis" k="61" />
+<hkern g1="odieresis" g2="A" k="60" />
+<hkern g1="odieresis" g2="T" k="228" />
+<hkern g1="odieresis" g2="V" k="186" />
+<hkern g1="odieresis" g2="W" k="160" />
+<hkern g1="odieresis" g2="X" k="122" />
+<hkern g1="odieresis" g2="Y" k="133" />
+<hkern g1="odieresis" g2="Z" k="123" />
+<hkern g1="odieresis" g2="f" k="58" />
+<hkern g1="odieresis" g2="j" k="227" />
+<hkern g1="odieresis" g2="t" k="90" />
+<hkern g1="odieresis" g2="v" k="62" />
+<hkern g1="odieresis" g2="x" k="93" />
+<hkern g1="odieresis" g2="y" k="61" />
+<hkern g1="odieresis" g2="z" k="93" />
+<hkern g1="odieresis" g2="Agrave" k="60" />
+<hkern g1="odieresis" g2="Aacute" k="60" />
+<hkern g1="odieresis" g2="Acircumflex" k="60" />
+<hkern g1="odieresis" g2="Atilde" k="60" />
+<hkern g1="odieresis" g2="Adieresis" k="60" />
+<hkern g1="odieresis" g2="Aring" k="60" />
+<hkern g1="odieresis" g2="AE" k="63" />
+<hkern g1="odieresis" g2="Yacute" k="118" />
+<hkern g1="odieresis" g2="yacute" k="61" />
+<hkern g1="odieresis" g2="ydieresis" k="61" />
+<hkern g1="oslash" g2="A" k="60" />
+<hkern g1="oslash" g2="T" k="163" />
+<hkern g1="oslash" g2="V" k="123" />
+<hkern g1="oslash" g2="X" k="122" />
+<hkern g1="oslash" g2="Y" k="217" />
+<hkern g1="oslash" g2="Z" k="123" />
+<hkern g1="oslash" g2="j" k="186" />
+<hkern g1="oslash" g2="Agrave" k="60" />
+<hkern g1="oslash" g2="Aacute" k="60" />
+<hkern g1="oslash" g2="Acircumflex" k="60" />
+<hkern g1="oslash" g2="Atilde" k="60" />
+<hkern g1="oslash" g2="Adieresis" k="60" />
+<hkern g1="oslash" g2="Aring" k="60" />
+<hkern g1="oslash" g2="AE" k="63" />
+<hkern g1="oslash" g2="Yacute" k="217" />
+<hkern g1="oslash" g2="icircumflex" k="58" />
+<hkern g1="oslash" g2="idieresis" k="65" />
+<hkern g1="ugrave" g2="T" k="192" />
+<hkern g1="ugrave" g2="V" k="107" />
+<hkern g1="ugrave" g2="W" k="49" />
+<hkern g1="ugrave" g2="Y" k="97" />
+<hkern g1="ugrave" g2="j" k="199" />
+<hkern g1="ugrave" g2="Yacute" k="97" />
+<hkern g1="ugrave" g2="icircumflex" k="42" />
+<hkern g1="ugrave" g2="idieresis" k="49" />
+<hkern g1="uacute" g2="T" k="93" />
+<hkern g1="uacute" g2="V" k="107" />
+<hkern g1="uacute" g2="W" k="49" />
+<hkern g1="uacute" g2="Y" k="62" />
+<hkern g1="uacute" g2="j" k="195" />
+<hkern g1="uacute" g2="Yacute" k="62" />
+<hkern g1="uacute" g2="icircumflex" k="42" />
+<hkern g1="uacute" g2="idieresis" k="49" />
+<hkern g1="ucircumflex" g2="T" k="134" />
+<hkern g1="ucircumflex" g2="V" k="107" />
+<hkern g1="ucircumflex" g2="W" k="49" />
+<hkern g1="ucircumflex" g2="Y" k="71" />
+<hkern g1="ucircumflex" g2="j" k="204" />
+<hkern g1="ucircumflex" g2="Yacute" k="71" />
+<hkern g1="udieresis" g2="T" k="216" />
+<hkern g1="udieresis" g2="V" k="107" />
+<hkern g1="udieresis" g2="W" k="49" />
+<hkern g1="udieresis" g2="Y" k="97" />
+<hkern g1="udieresis" g2="j" k="222" />
+<hkern g1="udieresis" g2="Yacute" k="97" />
+<hkern g1="yacute" g2="A" k="132" />
+<hkern g1="yacute" g2="J" k="88" />
+<hkern g1="yacute" g2="T" k="91" />
+<hkern g1="yacute" g2="V" k="91" />
+<hkern g1="yacute" g2="X" k="90" />
+<hkern g1="yacute" g2="Y" k="90" />
+<hkern g1="yacute" g2="Z" k="91" />
+<hkern g1="yacute" g2="j" k="226" />
+<hkern g1="yacute" g2="Agrave" k="139" />
+<hkern g1="yacute" g2="Aacute" k="116" />
+<hkern g1="yacute" g2="Acircumflex" k="124" />
+<hkern g1="yacute" g2="Atilde" k="116" />
+<hkern g1="yacute" g2="Adieresis" k="116" />
+<hkern g1="yacute" g2="Aring" k="124" />
+<hkern g1="yacute" g2="AE" k="125" />
+<hkern g1="yacute" g2="Yacute" k="90" />
+<hkern g1="thorn" g2="A" k="60" />
+<hkern g1="thorn" g2="T" k="251" />
+<hkern g1="thorn" g2="V" k="249" />
+<hkern g1="thorn" g2="W" k="160" />
+<hkern g1="thorn" g2="X" k="122" />
+<hkern g1="thorn" g2="Y" k="258" />
+<hkern g1="thorn" g2="Z" k="123" />
+<hkern g1="thorn" g2="f" k="58" />
+<hkern g1="thorn" g2="j" k="250" />
+<hkern g1="thorn" g2="t" k="90" />
+<hkern g1="thorn" g2="v" k="62" />
+<hkern g1="thorn" g2="x" k="93" />
+<hkern g1="thorn" g2="y" k="61" />
+<hkern g1="thorn" g2="z" k="93" />
+<hkern g1="thorn" g2="Agrave" k="60" />
+<hkern g1="thorn" g2="Aacute" k="60" />
+<hkern g1="thorn" g2="Acircumflex" k="60" />
+<hkern g1="thorn" g2="Atilde" k="60" />
+<hkern g1="thorn" g2="Adieresis" k="60" />
+<hkern g1="thorn" g2="Aring" k="60" />
+<hkern g1="thorn" g2="AE" k="63" />
+<hkern g1="thorn" g2="Yacute" k="243" />
+<hkern g1="thorn" g2="icircumflex" k="58" />
+<hkern g1="thorn" g2="idieresis" k="65" />
+<hkern g1="thorn" g2="yacute" k="61" />
+<hkern g1="thorn" g2="ydieresis" k="61" />
+<hkern g1="ydieresis" g2="A" k="125" />
+<hkern g1="ydieresis" g2="J" k="88" />
+<hkern g1="ydieresis" g2="T" k="166" />
+<hkern g1="ydieresis" g2="V" k="60" />
+<hkern g1="ydieresis" g2="X" k="55" />
+<hkern g1="ydieresis" g2="Y" k="63" />
+<hkern g1="ydieresis" g2="Z" k="133" />
+<hkern g1="ydieresis" g2="j" k="227" />
+<hkern g1="ydieresis" g2="Agrave" k="117" />
+<hkern g1="ydieresis" g2="Aacute" k="102" />
+<hkern g1="ydieresis" g2="Acircumflex" k="125" />
+<hkern g1="ydieresis" g2="Atilde" k="117" />
+<hkern g1="ydieresis" g2="Adieresis" k="125" />
+<hkern g1="ydieresis" g2="Aring" k="94" />
+<hkern g1="ydieresis" g2="AE" k="141" />
+<hkern g1="ydieresis" g2="Yacute" k="86" />
+<hkern g1="dotlessi" g2="I" k="51" />
+<hkern g1="dotlessi" g2="T" k="486" />
+<hkern g1="dotlessi" g2="V" k="171" />
+<hkern g1="dotlessi" g2="W" k="81" />
+<hkern g1="dotlessi" g2="Y" k="265" />
+<hkern g1="dotlessi" g2="i" k="63" />
+<hkern g1="dotlessi" g2="j" k="278" />
+<hkern g1="dotlessi" g2="Igrave" k="60" />
+<hkern g1="dotlessi" g2="Iacute" k="66" />
+<hkern g1="dotlessi" g2="Icircumflex" k="73" />
+<hkern g1="dotlessi" g2="Idieresis" k="52" />
+<hkern g1="dotlessi" g2="Yacute" k="265" />
+<hkern g1="dotlessi" g2="igrave" k="55" />
+<hkern g1="dotlessi" g2="iacute" k="52" />
+<hkern g1="dotlessi" g2="icircumflex" k="106" />
+<hkern g1="dotlessi" g2="idieresis" k="113" />
+<hkern g1="dotlessi" g2="dotlessi" k="51" />
+</font>
+</defs>
+</svg>
diff --git a/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.ttf b/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.ttf
new file mode 100644
index 0000000..579c924
Binary files /dev/null and b/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.ttf differ
diff --git a/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.woff b/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.woff
new file mode 100644
index 0000000..61d4515
Binary files /dev/null and b/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.woff differ
diff --git a/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.woff2 b/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.woff2
new file mode 100644
index 0000000..ebf13e8
Binary files /dev/null and b/hubs/static/css/fonts/Comfortaa-700/Comfortaa-700.woff2 differ
diff --git a/hubs/static/css/fonts/Comfortaa-700/LICENSE.txt b/hubs/static/css/fonts/Comfortaa-700/LICENSE.txt
new file mode 100644
index 0000000..e0bfe25
--- /dev/null
+++ b/hubs/static/css/fonts/Comfortaa-700/LICENSE.txt
@@ -0,0 +1,94 @@
+Copyright (c) 2010, 2011 Johan Aakerlund (aajohan@gmail.com),
+with Reserved Font Name "Comfortaa".
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.eot b/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.eot
new file mode 100644
index 0000000..a350907
Binary files /dev/null and b/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.eot differ
diff --git a/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.svg b/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.svg
new file mode 100644
index 0000000..f5d2848
--- /dev/null
+++ b/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.svg
@@ -0,0 +1,2620 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs >
+<font id="Comfortaa" horiz-adv-x="1003" ><font-face
+    font-family="Comfortaa"
+    units-per-em="2048"
+    panose-1="2 15 6 3 7 2 0 6 0 3"
+    ascent="2080"
+    descent="-480"
+    alphabetic="0" />
+<glyph unicode=" " glyph-name="space" horiz-adv-x="560" />
+<glyph unicode="!" glyph-name="exclam" horiz-adv-x="400" d="M320 120Q320 70 285 35T200 0Q150 0 115 35T80 120Q80 170 115 205T200 240Q250 240 285 205T320 120ZM120 1520Q120 1553 143 1576T200 1600Q233 1600 256 1577T280 1520V399Q280 367 257 344Q233
+320 200 320Q167 320 144 344Q120 367 120 399V1520Z" />
+<glyph unicode="&quot;" glyph-name="quotedbl" horiz-adv-x="560" d="M220 1220Q220 1195 203 1178T160 1160Q135 1160 118 1177T100 1220L80 1512V1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V1512L220 1220ZM460 1220Q460 1195 443 1178T400
+1160Q375 1160 358 1177T340 1220L320 1512V1520Q320 1553 343 1576T400 1600Q433 1600 456 1577T480 1520V1512L460 1220Z" />
+<glyph unicode="#" glyph-name="numbersign" horiz-adv-x="1280" d="M389 80Q383 47 356 24T295 0Q262 0 243 23T229 80L300 480H140Q107 480 88 504Q73 521 73 545Q73 552 74 560Q80 593 107 616T168 640H328L384 960H224Q191 960 172 983T158 1040Q164 1073
+192 1096T253 1120H413L483 1520Q489 1553 516 1576T577 1600Q610 1600 629 1577T643 1520L573 1120H813L883 1520Q889 1553 916 1576T977 1600Q1010 1600 1029 1577T1043 1520L973 1120H1133Q1166 1120 1185 1097Q1199 1079 1199 1055Q1199 1048 1198 1040Q1193
+1007 1165 984T1104 960H944L888 640H1048Q1081 640 1100 617T1114 560Q1108 527 1081 504T1020 480H860L789 80Q783 47 756 24T695 0Q662 0 643 23T629 80L700 480H460L389 80ZM544 960L488 640H728L784 960H544Z" />
+<glyph unicode="$" glyph-name="dollar" horiz-adv-x="1060" d="M480 1Q470 1 460 2Q262 18 134 170Q113 193 96 219Q80 240 80 267Q80 300 103 323T160 347Q203 347 228 310Q240 291 256 274Q341 172 480 161V805Q346 831 254 939Q147 1065 160 1231Q174 1396
+300 1503Q382 1572 480 1591V1680Q480 1713 503 1736T560 1760Q593 1760 616 1737T640 1680V1590Q773 1564 864 1457Q886 1431 903 1403Q915 1384 915 1360Q915 1327 892 1304T835 1280Q802 1280 779 1304Q770 1312 765 1321Q755 1337 742 1353Q698 1404 640 1424V940Q772
+902 867 791Q980 657 980 487Q980 464 978 441Q962 243 811 115Q732 48 640 20V-80Q640 -113 617 -136T560 -160Q527 -160 504 -137T480 -80V1ZM480 1425Q439 1411 404 1381Q328 1316 320 1218Q312 1119 377 1043Q420 991 480 971V1425ZM640 192Q675 209 707 237Q808
+322 819 454Q830 587 745 688Q699 741 640 769V192Z" />
+<glyph unicode="%" glyph-name="percent" horiz-adv-x="1760" d="M880 1200Q880 1034 763 917T480 800Q314 800 197 917T80 1200Q80 1366 197 1483T480 1600Q646 1600 763 1483T880 1200ZM880 400Q880 566 997 683T1280 800Q1446 800 1563 683T1680 400Q1680 234
+1563 117T1280 0Q1114 0 997 117T880 400ZM480 1440Q381 1440 311 1370T240 1200Q240 1101 310 1031T480 960Q579 960 649 1030T720 1200Q720 1299 650 1369T480 1440ZM1280 640Q1181 640 1111 570T1040 400Q1040 301 1110 231T1280 160Q1379 160 1449 230T1520
+400Q1520 499 1450 569T1280 640ZM320 0Q287 0 264 23T240 80Q240 111 260 134L1375 1567Q1403 1600 1440 1600Q1473 1600 1496 1577T1520 1520Q1520 1493 1504 1472L381 27Q353 0 320 0Z" />
+<glyph unicode="&amp;" glyph-name="ampersand" horiz-adv-x="1440" d="M378 1099L502 974L621 1068Q720 1147 720 1240Q720 1323 662 1381T520 1440Q437 1440 379 1382T320 1240Q320 1157 378 1099ZM857 391L485 764L372 678Q240 576 240 460Q240 324 322 242T520
+160Q636 160 718 242L857 391ZM613 863L967 508L1144 697Q1167 720 1200 720Q1233 720 1256 697T1280 640Q1280 609 1260 586L1080 395L1338 134Q1360 112 1360 80Q1360 47 1337 24T1280 0Q1248 0 1224 22L970 277L831 129Q702 0 520 0Q338 0 209 129T80 460Q80
+642 269 791L375 874L265 985Q160 1091 160 1240Q160 1389 265 1494T520 1600Q669 1600 774 1495T880 1240Q880 1081 734 955L613 863Z" />
+<glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="320" d="M220 1220Q220 1195 203 1178T160 1160Q135 1160 118 1177T100 1220L80 1512V1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V1512L220 1220Z" />
+<glyph unicode="(" glyph-name="parenleft" horiz-adv-x="560" d="M323 1547Q329 1563 342 1577Q366 1600 399 1600Q432 1600 455 1577T479 1520Q477 1496 466 1477Q238 1019 238 561Q238 101 468 -359Q479 -377 479 -400Q479 -433 456 -456T399 -480Q366 -480
+342 -456Q330 -442 323 -426Q80 69 80 562Q80 1055 323 1547Z" />
+<glyph unicode=")" glyph-name="parenright" horiz-adv-x="560" d="M236 1547Q480 1055 480 562Q480 69 236 -426Q228 -442 217 -456Q193 -480 160 -480Q127 -480 104 -457T80 -400Q80 -377 91 -359Q321 101 321 561Q321 1019 93 1477Q82 1496 80 1520Q80 1553
+103 1576T160 1600Q193 1600 217 1577Q230 1563 236 1547Z" />
+<glyph unicode="*" glyph-name="asterisk" horiz-adv-x="780" d="M361 1271L166 1279Q152 1280 139 1284Q108 1295 94 1325Q85 1342 85 1360Q85 1373 90 1386Q101 1418 131 1432T192 1435Q206 1430 216 1422L373 1305L315 1493Q311 1506 311 1520Q311 1553 334
+1576T391 1600Q424 1600 447 1577T471 1520Q471 1506 467 1493L409 1304L567 1422Q578 1430 591 1435Q622 1446 652 1432T693 1386Q698 1372 698 1359Q698 1342 690 1325Q676 1295 645 1284Q631 1280 618 1279L422 1271L583 1159Q594 1152 603 1140Q623 1114 619
+1081T589 1028Q567 1011 530 1012Q497 1016 477 1042Q468 1053 464 1066L392 1247L319 1066Q315 1053 306 1042Q286 1011 242 1011Q216 1011 194 1028Q168 1048 164 1081T180 1140Q189 1152 200 1159L361 1271Z" />
+<glyph unicode="+" glyph-name="plus" horiz-adv-x="1120" d="M480 1200Q480 1233 503 1256T560 1280Q593 1280 616 1257T640 1200V880H960Q993 880 1016 857T1040 800Q1040 767 1017 744T960 720H640V400Q640 367 617 344T560 320Q527 320 504 343T480 400V720H160Q127
+720 104 743T80 800Q80 833 103 856T160 880H480V1200Z" />
+<glyph unicode="," glyph-name="comma" horiz-adv-x="400" d="M115 35Q80 70 80 120Q80 170 115 205T200 240Q250 240 285 205T320 120Q320 -76 233 -208Q215 -240 180 -240Q155 -240 138 -223T120 -180Q120 -155 137 -138Q207 -60 115 35Z" />
+<glyph unicode="-" glyph-name="hyphen" horiz-adv-x="800" d="M160 480Q127 480 104 503T80 560Q80 593 103 616T160 640H640Q673 640 696 617T720 560Q720 527 697 504T640 480H160Z" />
+<glyph unicode="." glyph-name="period" horiz-adv-x="400" d="M320 120Q320 70 285 35T200 0Q150 0 115 35T80 120Q80 170 115 205T200 240Q250 240 285 205T320 120Z" />
+<glyph unicode="/" glyph-name="slash" horiz-adv-x="960" d="M744 1577Q767 1600 800 1600Q833 1600 856 1577T880 1520Q880 1502 873 1486L233 -114Q227 -126 217 -136Q193 -160 160 -160Q127 -160 104 -137T80 -80Q80 -62 87 -46L727 1554Q733 1566 744 1577Z" />
+<glyph unicode="0" glyph-name="zero" horiz-adv-x="1120" d="M80 800Q80 1280 277 1483Q394 1600 560 1600Q726 1600 843 1483Q1040 1280 1040 800Q1040 320 843 117Q726 0 560 0Q394 0 277 117Q80 320 80 800ZM560 1440Q461 1440 390 1369Q240 1200 240 800Q240
+400 390 231Q461 160 560 160Q659 160 730 231Q880 400 880 800Q880 1200 730 1369Q659 1440 560 1440Z" />
+<glyph unicode="1" glyph-name="one" horiz-adv-x="560" d="M480 80Q480 47 457 24T400 0Q367 0 344 23T320 80V1409L191 1366Q176 1360 160 1360Q127 1360 104 1383T80 1440Q80 1473 104 1497Q116 1509 131 1515L371 1595Q384 1600 400 1600Q433 1600 456 1577T480
+1520V80Z" />
+<glyph unicode="2" glyph-name="two" horiz-adv-x="1120" d="M960 160Q993 160 1016 137T1040 80Q1040 47 1017 24T960 0H160Q127 0 104 23T80 80Q80 113 103 137L786 893Q880 987 880 1120Q880 1253 787 1346T560 1440Q427 1440 334 1347T240 1120Q240 1087 217
+1064T160 1040Q127 1040 104 1063T80 1120Q80 1319 220 1459T560 1600Q759 1600 899 1460T1040 1120Q1040 921 899 780L341 160H960Z" />
+<glyph unicode="3" glyph-name="three" horiz-adv-x="1120" d="M560 800Q527 800 504 823T480 880Q480 913 503 936T560 960Q659 960 729 1030T800 1200Q800 1299 730 1369T560 1440Q461 1440 391 1370T320 1200Q320 1167 297 1144T240 1120Q207 1120 184 1143T160
+1200Q160 1366 277 1483T560 1600Q726 1600 843 1483T960 1200Q960 1024 813 889Q859 860 900 820Q1040 679 1040 480Q1040 281 900 141T560 0Q361 0 221 140T80 480Q80 513 103 536T160 560Q193 560 216 537T240 480Q240 347 333 254T560 160Q693 160 786 253T880
+480Q880 613 787 706T560 800Z" />
+<glyph unicode="4" glyph-name="four" horiz-adv-x="1280" d="M800 560V1264L313 560H800ZM160 400Q127 400 104 423T80 480Q80 506 95 527L815 1567Q837 1600 880 1600Q913 1600 936 1577T960 1520V560H1120Q1153 560 1176 537T1200 480Q1200 447 1177 424T1120
+400H960V80Q960 47 937 24T880 0Q847 0 824 23T800 80V400H160Z" />
+<glyph unicode="5" glyph-name="five" horiz-adv-x="1200" d="M960 1600Q993 1600 1016 1577T1040 1520Q1040 1487 1017 1464T960 1440H320V1040H600Q815 1040 967 888T1120 520Q1120 305 968 153T600 0Q385 0 233 152T80 520Q80 553 103 576T160 600Q193 600
+216 577T240 520Q240 371 345 266T600 160Q749 160 854 265T960 520Q960 669 855 774T600 880H240Q207 880 184 903T160 960V1520Q160 1553 183 1576T240 1600H960Z" />
+<glyph unicode="6" glyph-name="six" horiz-adv-x="1120" d="M471 952Q514 960 560 960Q759 960 899 820T1040 480Q1040 281 900 141T560 0Q361 0 221 140T80 480Q80 627 157 742L648 1556Q654 1567 664 1577Q687 1600 720 1600Q753 1600 776 1577T800 1520Q800
+1497 789 1479L471 952ZM880 480Q880 613 787 706T560 800Q427 800 334 707T240 480Q240 347 333 254T560 160Q693 160 786 253T880 480Z" />
+<glyph unicode="7" glyph-name="seven" horiz-adv-x="1120" d="M217 24Q193 0 160 0Q127 0 104 23T80 80Q80 104 96 128L825 1440H160Q127 1440 104 1463T80 1520Q80 1553 103 1576T160 1600H960Q993 1600 1016 1577T1040 1520Q1040 1496 1028 1477L232 45Q225
+32 217 24Z" />
+<glyph unicode="8" glyph-name="eight" horiz-adv-x="1120" d="M560 1440Q461 1440 391 1370T320 1200Q320 1101 390 1031T560 960Q659 960 729 1030T800 1200Q800 1299 730 1369T560 1440ZM560 800Q427 800 334 707T240 480Q240 347 333 254T560 160Q693 160
+786 253T880 480Q880 613 787 706T560 800ZM307 889Q292 902 277 917Q160 1034 160 1200Q160 1366 277 1483T560 1600Q726 1600 843 1483T960 1200Q960 1034 843 917Q828 902 813 889Q859 860 900 820Q1040 679 1040 480Q1040 281 900 141T560 0Q361 0 221 140T80
+480Q80 679 221 820Q261 860 307 889Z" />
+<glyph unicode="9" glyph-name="nine" horiz-adv-x="1120" d="M649 648Q606 640 560 640Q361 640 221 780T80 1120Q80 1319 220 1459T560 1600Q759 1600 899 1460T1040 1120Q1040 973 963 858L472 44Q466 33 457 24Q433 0 400 0Q367 0 344 23T320 80Q320 103 331
+121L649 648ZM240 1120Q240 987 333 894T560 800Q693 800 786 893T880 1120Q880 1253 787 1346T560 1440Q427 1440 334 1347T240 1120Z" />
+<glyph unicode=":" glyph-name="colon" horiz-adv-x="400" d="M320 120Q320 70 285 35T200 0Q150 0 115 35T80 120Q80 170 115 205T200 240Q250 240 285 205T320 120ZM320 1001Q320 951 285 916T200 881Q150 881 115 916T80 1001Q80 1051 115 1086T200 1121Q250
+1121 285 1086T320 1001Z" />
+<glyph unicode=";" glyph-name="semicolon" horiz-adv-x="400" d="M320 1001Q320 951 285 916T200 881Q150 881 115 916T80 1001Q80 1051 115 1086T200 1121Q250 1121 285 1086T320 1001ZM115 35Q80 70 80 120Q80 170 115 205T200 240Q250 240 285 205T320 120Q320
+-76 233 -208Q211 -240 180 -240Q155 -240 138 -223T120 -180Q120 -155 137 -138Q207 -60 115 35Z" />
+<glyph unicode="&lt;" glyph-name="less" horiz-adv-x="1120" d="M124 792L920 1270Q938 1280 960 1280Q993 1280 1016 1257T1040 1200Q1040 1157 999 1130L315 720L999 310Q1040 283 1040 240Q1040 207 1017 184T960 160Q938 160 920 170L124 648Q80 676 80 720Q80
+764 124 792Z" />
+<glyph unicode="=" glyph-name="equal" horiz-adv-x="1040" d="M160 880Q127 880 104 903T80 960Q80 993 103 1016T160 1040H880Q913 1040 936 1017T960 960Q960 927 937 904T880 880H160ZM880 560Q913 560 936 537T960 480Q960 447 937 424T880 399H160Q127 400
+104 423T80 480Q80 513 103 536T160 560H880Z" />
+<glyph unicode="&gt;" glyph-name="greater" horiz-adv-x="1120" d="M1040 720Q1040 676 996 648L200 170Q182 160 160 160Q127 160 104 183T80 240Q80 283 121 310L805 720L121 1130Q80 1157 80 1200Q80 1233 103 1256T160 1280Q182 1280 200 1270L996 792Q1040
+764 1040 720Z" />
+<glyph unicode="?" glyph-name="question" horiz-adv-x="1120" d="M240 1120Q240 1087 217 1064T160 1040Q127 1040 104 1063T80 1120Q80 1319 220 1459T560 1600Q759 1600 899 1460T1040 1120Q1040 921 899 780L734 627Q640 533 640 400Q640 367 617 344T560
+320Q527 320 504 343T480 400Q480 599 621 740L786 893Q880 987 880 1120Q880 1253 787 1346T560 1440Q427 1440 334 1347T240 1120ZM680 120Q680 70 645 35T560 0Q510 0 475 35T440 120Q440 170 475 205T560 240Q610 240 645 205T680 120Z" />
+<glyph unicode="@" glyph-name="at" horiz-adv-x="2240" d="M1120 960Q954 960 837 843T720 560Q720 394 837 277T1120 160Q1286 160 1403 277T1520 560Q1520 726 1403 843T1120 960ZM1520 167Q1352 0 1120 0Q888 0 724 164T560 560Q560 792 724 956T1120 1120Q1352
+1120 1516 956T1680 560V160Q1680 80 1760 80Q2000 80 2000 560Q2000 925 1743 1182T1120 1440Q755 1440 498 1183T240 560Q240 195 497 -62T1120 -320Q1316 -320 1482 -246Q1500 -235 1522 -235Q1555 -235 1578 -258T1602 -315Q1602 -348 1579 -371Q1566 -384
+1551 -390Q1354 -480 1120 -480Q689 -480 385 -176T80 560Q80 991 384 1295T1120 1600Q1551 1600 1855 1296T2160 560Q2160 -80 1760 -80Q1520 -80 1520 167Z" />
+<glyph unicode="A" glyph-name="A" horiz-adv-x="1440" d="M433 560L234 49Q228 35 217 23Q193 0 160 0Q127 0 104 23T80 80Q80 99 87 114L643 1544Q649 1562 664 1577Q687 1600 720 1600Q753 1600 777 1577Q791 1562 797 1544L1353 114Q1360 99 1360 80Q1360
+47 1337 24T1280 0Q1247 0 1224 23Q1212 35 1206 49L1007 560H433ZM945 720L720 1299L495 720H945Z" />
+<glyph unicode="B" glyph-name="B" horiz-adv-x="1120" d="M240 1440V960H480Q579 960 649 1030T720 1200Q720 1299 650 1369T480 1440H240ZM240 800V160H560Q693 160 786 253T880 480Q880 613 787 706T560 800H240ZM160 1600H480Q646 1600 763 1483T880 1200Q880
+1034 763 917Q837 882 900 820Q1040 679 1040 480Q1040 281 900 141T560 0H160Q127 0 104 23T80 80V1520Q80 1553 103 1576T160 1600Z" />
+<glyph unicode="C" glyph-name="C" horiz-adv-x="1480" d="M1326 314Q1359 314 1382 291T1406 234Q1406 201 1383 178Q1160 0 880 0Q549 0 315 234T80 800Q80 1131 314 1365T880 1600Q1166 1600 1389 1417Q1412 1393 1412 1360Q1412 1327 1389 1304T1332 1280Q1299
+1280 1275 1304Q1106 1440 880 1440Q615 1440 428 1253T240 800Q240 535 427 348T880 160Q1109 160 1280 300Q1300 314 1326 314Z" />
+<glyph unicode="D" glyph-name="D" horiz-adv-x="1360" d="M480 160Q745 160 932 347T1120 800Q1120 1065 933 1252T480 1440H240V160H480ZM480 1600Q811 1600 1045 1366T1280 800Q1280 469 1046 235T480 0H160Q127 0 104 23T80 80V1520Q80 1553 103 1576T160 1600H480Z" />
+<glyph unicode="E" glyph-name="E" horiz-adv-x="1280" d="M160 1600H1120Q1153 1600 1176 1577T1200 1520Q1200 1487 1177 1464T1120 1440H240V880H880Q913 880 936 857T960 800Q960 767 937 744T880 720H240V160H1120Q1153 160 1176 137T1200 80Q1200 47 1177
+24T1120 0H160Q127 0 104 23T80 80V1520Q80 1553 103 1576T160 1600Z" />
+<glyph unicode="F" glyph-name="F" horiz-adv-x="1280" d="M160 1600H1120Q1153 1600 1176 1577T1200 1520Q1200 1487 1177 1464T1120 1440H240V880H880Q913 880 936 857T960 800Q960 767 937 744T880 720H240V80Q240 47 217 24T160 0Q127 0 104 23T80 80V1520Q80
+1553 103 1576T160 1600Z" />
+<glyph unicode="G" glyph-name="G" horiz-adv-x="1500" d="M1406 234Q1406 201 1383 178Q1160 0 880 0Q549 0 315 234T80 800Q80 1131 314 1365T880 1600Q1166 1600 1389 1417Q1412 1393 1412 1360Q1412 1327 1389 1304T1332 1280Q1299 1280 1275 1304Q1106 1440
+880 1440Q615 1440 428 1253T240 800Q240 535 427 348T880 160Q1087 160 1246 274V640H930Q897 640 874 663T850 720Q850 753 873 776T930 800H1327Q1359 800 1383 777Q1406 753 1406 720V234Z" />
+<glyph unicode="H" glyph-name="H" horiz-adv-x="1280" d="M80 1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V880H1040V1520Q1040 1553 1063 1576T1120 1600Q1153 1600 1176 1577T1200 1520V80Q1200 47 1177 24T1120 0Q1087 0 1064 23T1040 80V720H240V80Q240
+47 217 24T160 0Q127 0 104 23T80 80V1520Z" />
+<glyph unicode="I" glyph-name="I" horiz-adv-x="480" d="M160 1520Q160 1553 183 1576T240 1600Q273 1600 296 1577T320 1520V80Q320 47 297 24T240 0Q207 0 184 23T160 80V1520Z" />
+<glyph unicode="J" glyph-name="J" horiz-adv-x="1120" d="M80 480Q80 513 103 536T160 560Q193 560 216 537T240 480Q240 347 333 254T560 160Q693 160 786 253T880 480V1520Q880 1553 903 1576T960 1600Q993 1600 1016 1577T1040 1520V480Q1040 281 900 141T560
+0Q361 0 221 140T80 480Z" />
+<glyph unicode="K" glyph-name="K" horiz-adv-x="1200" d="M80 1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V834L981 1575Q1007 1600 1040 1600Q1073 1600 1096 1577T1120 1520Q1120 1487 1097 1463L535 901L1105 128Q1120 107 1120 83Q1120 41
+1088 16Q1066 0 1042 0Q998 0 974 34L420 786L240 606V80Q240 47 217 24T160 0Q127 0 104 23T80 80V1520Z" />
+<glyph unicode="L" glyph-name="L" horiz-adv-x="1200" d="M80 1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V160H1040Q1073 160 1096 137T1120 80Q1120 47 1097 24T1040 0H160Q127 0 104 23T80 80V1520Z" />
+<glyph unicode="M" glyph-name="M" horiz-adv-x="1760" d="M806 49L240 1181V80Q240 47 217 24T160 0Q127 0 104 23T80 80V1520Q80 1553 103 1576T160 1600Q208 1600 231 1558L880 259L1529 1558Q1552 1600 1600 1600Q1633 1600 1656 1577T1680 1520V80Q1680 47
+1657 24T1600 0Q1567 0 1544 23T1520 80V1181L949 39Q928 0 880 0Q830 0 806 49Z" />
+<glyph unicode="N" glyph-name="N" horiz-adv-x="1440" d="M240 80Q240 47 217 24T160 0Q127 0 104 23T80 80V1520Q80 1553 103 1576T160 1600Q196 1600 222 1571L1200 313V1520Q1200 1553 1223 1576T1280 1600Q1313 1600 1336 1577T1360 1520V80Q1360 47 1337
+24T1280 0Q1245 0 1220 26L240 1286V80Z" />
+<glyph unicode="O" glyph-name="O" horiz-adv-x="1760" d="M880 1440Q615 1440 428 1253T240 800Q240 535 427 348T880 160Q1145 160 1332 347T1520 800Q1520 1065 1333 1252T880 1440ZM1680 800Q1680 469 1446 235T880 0Q549 0 315 234T80 800Q80 1131 314 1365T880
+1600Q1211 1600 1445 1366T1680 800Z" />
+<glyph unicode="P" glyph-name="P" horiz-adv-x="1080" d="M240 1440V720H480Q629 720 734 825T840 1080Q840 1229 735 1334T480 1440H240ZM160 1600H480Q695 1600 847 1448T1000 1080Q1000 865 848 713T480 560H240V80Q240 47 217 24T160 0Q127 0 104 23T80 80V1520Q80
+1553 103 1576T160 1600Z" />
+<glyph unicode="Q" glyph-name="Q" horiz-adv-x="1760" d="M1386 180Q1170 0 880 0Q549 0 315 234T80 800Q80 1131 314 1365T880 1600Q1211 1600 1445 1366T1680 800Q1680 510 1500 294L1658 136Q1680 112 1680 80Q1680 47 1657 24T1600 0Q1567 0 1542 24L1386
+180ZM1272 294L1103 463Q1080 487 1080 520Q1080 553 1103 576T1160 600Q1193 600 1217 577L1386 408Q1520 576 1520 800Q1520 1065 1333 1252T880 1440Q615 1440 428 1253T240 800Q240 535 427 348T880 160Q1104 160 1272 294Z" />
+<glyph unicode="R" glyph-name="R" horiz-adv-x="1200" d="M240 1440V800H560Q693 800 786 893T880 1120Q880 1253 787 1346T560 1440H240ZM160 1600H560Q759 1600 899 1460T1040 1120Q1040 921 900 781Q835 716 759 682L1107 124Q1120 105 1120 80Q1120 47 1097
+24T1040 0Q997 0 970 41L595 641Q578 640 560 640H240V80Q240 47 217 24T160 0Q127 0 104 23T80 80V1520Q80 1553 103 1576T160 1600Z" />
+<glyph unicode="S" glyph-name="S" horiz-adv-x="1060" d="M96 219Q80 240 80 267Q80 300 103 323T160 347Q203 347 228 310Q240 291 256 274Q341 172 474 161Q606 151 707 236T819 454Q830 587 745 687T526 799Q361 813 254 939T160 1231Q174 1396 300 1503Q413
+1600 560 1600Q734 1600 864 1457Q886 1431 903 1403Q915 1384 915 1360Q915 1327 892 1304T835 1280Q797 1280 779 1304Q761 1328 742 1353Q677 1429 579 1437Q480 1445 404 1381T320 1218Q312 1119 376 1043T539 959Q738 942 867 791Q980 657 980 487Q980 464
+978 441Q962 243 811 115Q676 0 504 0Q289 0 134 170Q113 193 96 219Z" />
+<glyph unicode="T" glyph-name="T" horiz-adv-x="1360" d="M160 1440Q127 1440 104 1463T80 1520Q80 1553 103 1576T160 1600H1200Q1233 1600 1256 1577T1280 1520Q1280 1487 1257 1464T1200 1440H760V80Q760 47 737 24T680 0Q647 0 624 23T600 80V1440H160Z" />
+<glyph unicode="U" glyph-name="U" horiz-adv-x="1280" d="M80 1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V560Q240 394 357 277T640 160Q806 160 923 277T1040 560V1520Q1040 1553 1063 1576T1120 1600Q1153 1600 1176 1577T1200 1520V560Q1200
+328 1036 164T640 0Q408 0 244 164T80 560V1520Z" />
+<glyph unicode="V" glyph-name="V" horiz-adv-x="1440" d="M777 24Q753 0 720 0Q687 0 664 24Q653 34 647 50L90 1475Q80 1498 80 1520Q80 1553 103 1576T160 1600Q213 1600 233 1554L720 301L1207 1554Q1227 1600 1280 1600Q1313 1600 1336 1577T1360 1520Q1360
+1498 1350 1475L793 50Q787 34 777 24Z" />
+<glyph unicode="W" glyph-name="W" horiz-adv-x="1920" d="M904 1577Q927 1600 960 1600Q993 1600 1017 1577Q1030 1563 1036 1547L1360 379L1684 1547Q1690 1563 1704 1577Q1727 1600 1760 1600Q1793 1600 1816 1577T1840 1520Q1840 1503 1834 1485L1442 67Q1434
+42 1417 24Q1393 0 1360 0Q1327 0 1304 24Q1286 42 1279 66L960 1218L642 67Q634 42 617 24Q593 0 560 0Q527 0 504 24Q486 42 479 66L86 1485Q80 1503 80 1520Q80 1553 103 1576T160 1600Q193 1600 217 1577Q230 1563 236 1547L560 379L884 1547Q888 1562 904
+1577Z" />
+<glyph unicode="X" glyph-name="X" horiz-adv-x="1440" d="M720 931L1214 1566Q1242 1600 1280 1600Q1313 1600 1336 1577T1360 1520Q1360 1494 1346 1474L822 800L1343 130Q1360 108 1360 80Q1360 47 1337 24T1280 0Q1242 0 1219 28L720 669L221 28Q198 0 160
+0Q127 0 104 23T80 80Q80 108 97 130L618 800L94 1474Q80 1494 80 1520Q80 1553 103 1576T160 1600Q198 1600 226 1566L720 931Z" />
+<glyph unicode="Y" glyph-name="Y" horiz-adv-x="1280" d="M720 80Q720 47 697 24T640 0Q607 0 584 23T560 80V776L93 1475Q80 1495 80 1520Q80 1553 103 1576T160 1600Q201 1600 225 1567L640 945L1055 1567Q1079 1600 1120 1600Q1153 1600 1176 1577T1200 1520Q1200
+1495 1187 1475L720 776V80Z" />
+<glyph unicode="Z" glyph-name="Z" horiz-adv-x="1440" d="M160 1440Q127 1440 104 1463T80 1520Q80 1553 103 1576T160 1600H1280Q1313 1600 1336 1577T1360 1520Q1360 1494 1346 1474L324 160H1280Q1313 160 1336 137T1360 80Q1360 47 1337 24T1280 0H160Q127
+0 104 23T80 80Q80 108 97 130L1116 1440H160Z" />
+<glyph unicode="[" glyph-name="bracketleft" horiz-adv-x="640" d="M160 1600H480Q513 1600 536 1577T560 1520Q560 1487 537 1464T480 1440H240V-320H480Q513 -320 536 -343T560 -400Q560 -433 537 -456T480 -480H160Q127 -480 104 -457T80 -400V1520Q80 1553
+103 1576T160 1600Z" />
+<glyph unicode="\" glyph-name="backslash" horiz-adv-x="960" d="M233 1554L873 -46Q880 -62 880 -80Q880 -113 857 -136T800 -160Q767 -160 743 -136Q733 -126 727 -114L87 1486Q80 1502 80 1520Q80 1553 103 1576T160 1600Q193 1600 217 1577Q227 1566 233 1554Z" />
+<glyph unicode="]" glyph-name="bracketright" horiz-adv-x="640" d="M560 1520V-400Q560 -433 537 -456T480 -480H160Q127 -480 104 -457T80 -400Q80 -367 103 -344T160 -320H400V1440H160Q127 1440 104 1463T80 1520Q80 1553 103 1576T160 1600H480Q513 1600
+536 1577T560 1520Z" />
+<glyph unicode="^" glyph-name="asciicircum" horiz-adv-x="960" d="M480 1375L224 991Q200 960 160 960Q127 960 104 983T80 1040Q80 1063 91 1081L415 1567Q437 1600 480 1600Q523 1600 545 1567L869 1081Q880 1063 880 1040Q880 1007 857 984T800 960Q760 960
+736 991L480 1375Z" />
+<glyph unicode="_" glyph-name="underscore" horiz-adv-x="960" d="M0 -160Q-33 -160 -56 -137T-80 -80Q-80 -47 -57 -24T0 0H960Q993 0 1016 -23T1040 -80Q1040 -113 1017 -136T960 -160H0Z" />
+<glyph unicode="`" glyph-name="grave" horiz-adv-x="560" d="M80 1520Q80 1553 103 1576T160 1600Q193 1600 217 1577L460 1334Q480 1311 480 1280Q480 1247 457 1224T400 1200Q368 1200 345 1221L102 1464Q80 1488 80 1520Z" />
+<glyph unicode="a" glyph-name="a" horiz-adv-x="1280" d="M640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960ZM1040 168Q872 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872 1120 1036
+956T1200 560V80Q1200 47 1177 24T1120 0Q1087 0 1064 23T1040 80V168Z" />
+<glyph unicode="b" glyph-name="b" horiz-adv-x="1280" d="M640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960Q474 960 357 843T240 560Q240 394 357 277T640 160ZM240 952Q242 954 244 956Q408 1120 640 1120Q872 1120 1036 956T1200 560Q1200 328
+1036 164T640 0Q408 0 244 164T80 560V1522Q80 1555 103 1578T160 1602Q193 1602 216 1579T240 1522V952Z" />
+<glyph unicode="c" glyph-name="c" horiz-adv-x="1120" d="M950 274Q983 274 1006 251T1030 194Q1030 161 1005 135Q850 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q850 1120 1005 985Q1033 960 1033 923Q1033 890 1010 867T953 843Q924 843 902 861Q790
+960 640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q790 160 901 258Q922 274 950 274Z" />
+<glyph unicode="d" glyph-name="d" horiz-adv-x="1280" d="M1040 560Q1040 726 923 843T640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560ZM1040 1522Q1040 1555 1063 1578T1120 1602Q1153 1602 1176 1579T1200 1522V560Q1200
+328 1036 164T640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872 1120 1036 956Q1038 954 1040 952V1522Z" />
+<glyph unicode="e" glyph-name="e" horiz-adv-x="1280" d="M1033 640Q1011 755 923 843Q806 960 640 960Q474 960 357 843Q269 755 247 640H1033ZM948 272Q981 272 1004 249T1028 192Q1028 159 1005 135Q850 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640
+1120Q872 1120 1036 956T1200 560Q1200 527 1177 504T1120 480H247Q269 365 357 277Q474 160 640 160Q790 160 898 255Q920 272 948 272Z" />
+<glyph unicode="f" glyph-name="f" horiz-adv-x="800" d="M720 1600Q753 1600 776 1577T800 1520Q800 1487 777 1464T720 1440Q400 1440 400 1120V1060H641Q674 1060 697 1037T721 980Q721 947 698 924T641 900H400V80Q400 47 377 24T320 0Q287 0 264 23T240 80V900H160Q127
+900 104 923T80 980Q80 1013 103 1036T160 1060H240V1120Q240 1600 720 1600Z" />
+<glyph unicode="g" glyph-name="g" horiz-adv-x="1280" d="M640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960ZM1040 168Q1038 166 1036 164Q872 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640
+1120Q872 1120 1036 956T1200 560V0Q1200 -175 1074 -304Q898 -480 649 -480Q400 -480 225 -304Q160 -240 119 -165Q107 -147 107 -123Q107 -90 130 -67T187 -43Q220 -43 244 -66Q254 -77 261 -90Q291 -144 338 -191Q467 -320 649 -320Q831 -320 960 -191Q1040
+-95 1040 0V168Z" />
+<glyph unicode="h" glyph-name="h" horiz-adv-x="1200" d="M80 1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V975Q390 1120 600 1120Q815 1120 967 968T1120 600V80Q1120 47 1097 24T1040 0Q1007 0 984 23T960 80V600Q960 749 855 854T600 960Q451
+960 346 855T240 600V80Q240 47 217 24T160 0Q127 0 104 23T80 80V1520Z" />
+<glyph unicode="i" glyph-name="i" horiz-adv-x="480" d="M340 1360Q340 1319 311 1290T240 1260Q199 1260 170 1289T140 1360Q140 1401 169 1430T240 1460Q281 1460 310 1431T340 1360ZM160 1040Q160 1073 183 1096T240 1120Q273 1120 296 1097T320 1040V80Q320
+47 297 24T240 0Q207 0 184 23T160 80V1040Z" />
+<glyph unicode="j" glyph-name="j" horiz-adv-x="656" d="M580 1360Q580 1319 551 1290T480 1260Q439 1260 410 1289T380 1360Q380 1401 409 1430T480 1460Q521 1460 550 1431T580 1360ZM400 0V1040Q400 1073 423 1096T480 1120Q513 1120 536 1097T560 1040V0Q560
+-199 420 -339T80 -480Q47 -480 24 -457T0 -400Q0 -367 23 -344T80 -320Q213 -320 306 -227T400 0Z" />
+<glyph unicode="k" glyph-name="k" horiz-adv-x="1120" d="M240 668L917 1108Q936 1120 960 1120Q993 1120 1016 1097T1040 1040Q1040 1007 1017 984Q1011 978 1006 974L542 672L1018 136Q1040 112 1040 80Q1040 47 1017 24T960 0Q927 0 902 24L405 584L240 477V80Q240
+47 217 24T160 0Q127 0 104 23T80 80V1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V668Z" />
+<glyph unicode="l" glyph-name="l" horiz-adv-x="480" d="M80 1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V160H320Q353 160 376 137T400 80Q400 47 377 24T320 0H160Q127 0 104 23T80 80V1520Z" />
+<glyph unicode="m" glyph-name="m" horiz-adv-x="1760" d="M240 80Q240 47 217 24T160 0Q127 0 104 23T80 80V1040Q80 1073 103 1096T160 1120Q193 1120 216 1097T240 1040V1019Q359 1120 520 1120Q702 1120 831 991Q858 964 880 934Q902 964 929 991Q1058 1120
+1240 1120Q1422 1120 1551 991T1680 680V80Q1680 47 1657 24T1600 0Q1567 0 1544 23T1520 80V680Q1520 796 1438 878T1240 960Q1124 960 1042 878T960 680V80Q960 47 937 24T880 0Q847 0 824 23T800 80V680Q800 796 718 878T520 960Q404 960 322 878T240 680V80Z"
+/>
+<glyph unicode="n" glyph-name="n" horiz-adv-x="1200" d="M80 1040Q80 1073 103 1096T160 1120Q193 1120 216 1097T240 1040V975Q390 1120 600 1120Q815 1120 967 968T1120 600V80Q1120 47 1097 24T1040 0Q1007 0 984 23T960 80V600Q960 749 855 854T600 960Q451
+960 346 855T240 600V80Q240 47 217 24T160 0Q127 0 104 23T80 80V1040Z" />
+<glyph unicode="o" glyph-name="o" horiz-adv-x="1280" d="M1200 560Q1200 328 1036 164T640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872 1120 1036 956T1200 560ZM640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040
+726 923 843T640 960Z" />
+<glyph unicode="p" glyph-name="p" horiz-adv-x="1280" d="M240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960Q474 960 357 843T240 560ZM240 -400Q240 -433 217 -456T160 -480Q127 -480 104 -457T80 -400V560Q80 792 244
+956T640 1120Q872 1120 1036 956T1200 560Q1200 328 1036 164T640 0Q408 0 244 164Q242 166 240 168V-400Z" />
+<glyph unicode="q" glyph-name="q" horiz-adv-x="1280" d="M640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960ZM1040 168Q1038 166 1036 164Q872 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640
+1120Q872 1120 1036 956T1200 560V-400Q1200 -433 1177 -456T1120 -480Q1087 -480 1064 -457T1040 -400V168Z" />
+<glyph unicode="r" glyph-name="r" horiz-adv-x="960" d="M80 1040Q80 1073 103 1096T160 1120Q193 1120 216 1097T240 1040V952Q408 1120 640 1120Q757 1120 855 1080Q873 1073 888 1059Q911 1035 911 1002Q911 969 888 946T831 922Q812 922 796 930Q725 960
+640 960Q474 960 357 843T240 560V80Q240 47 217 24T160 0Q127 0 104 23T80 80V1040Z" />
+<glyph unicode="s" glyph-name="s" horiz-adv-x="1060" d="M278 560Q187 594 151 631Q80 701 80 800Q80 899 154 973Q298 1120 530 1120Q781 1120 960 919Q976 900 975 872Q975 839 952 816T895 792Q862 792 842 813T813 843Q696 960 530 960Q364 960 265 856Q241
+827 241 787Q244 740 290 723L782 560Q873 526 909 489Q980 419 980 320Q980 221 906 147Q762 0 530 0Q278 0 100 201Q85 222 85 248Q85 281 108 304T165 328Q198 328 218 307T247 277Q364 160 530 160Q696 160 795 264Q819 293 819 333Q816 380 770 397L278 560Z"
+/>
+<glyph unicode="t" glyph-name="t" horiz-adv-x="800" d="M640 160Q673 160 696 137T720 80Q720 47 697 24T640 0Q240 0 240 400V960H160Q127 960 104 983T80 1040Q80 1073 103 1096T160 1120H240V1520Q240 1553 263 1576T320 1600Q353 1600 376 1577T400 1520V1120H561Q594
+1120 617 1097T641 1040Q641 1007 618 984T561 960H400V400Q400 160 640 160Z" />
+<glyph unicode="u" glyph-name="u" horiz-adv-x="1200" d="M1120 80Q1120 47 1097 24T1040 0Q1007 0 984 23T960 80V145Q810 0 600 0Q385 0 233 152T80 520V1040Q80 1073 103 1096T160 1120Q193 1120 216 1097T240 1040V520Q240 371 345 266T600 160Q749 160 854
+265T960 520V1040Q960 1073 983 1096T1040 1120Q1073 1120 1096 1097T1120 1040V80Z" />
+<glyph unicode="v" glyph-name="v" horiz-adv-x="1200" d="M657 22Q635 0 600 0Q565 0 543 23Q536 29 530 42L86 1009Q80 1023 80 1040Q80 1073 103 1096T160 1120Q193 1120 217 1097Q225 1089 232 1076L600 272L968 1076Q975 1089 984 1097Q1007 1120 1040 1120Q1073
+1120 1096 1097T1120 1040Q1120 1023 1114 1009L670 42Q664 29 657 22Z" />
+<glyph unicode="w" glyph-name="w" horiz-adv-x="1600" d="M744 1097Q767 1120 800 1120Q833 1120 857 1097Q872 1081 878 1060L1120 333L1367 1074Q1373 1086 1384 1097Q1407 1120 1440 1120Q1473 1120 1496 1097T1520 1040Q1520 1024 1514 1009L1195 51Q1189
+36 1177 22Q1153 0 1120 0Q1087 0 1064 22Q1051 36 1045 51L800 787L555 51Q549 36 537 22Q513 0 480 0Q447 0 424 22Q411 36 405 51L86 1009Q80 1024 80 1040Q80 1073 103 1096T160 1120Q193 1120 217 1097Q227 1086 233 1074L480 333L722 1060Q729 1081 744 1097Z"
+/>
+<glyph unicode="x" glyph-name="x" horiz-adv-x="1120" d="M456 561L99 988Q80 1010 80 1040Q80 1073 103 1096T160 1120Q193 1120 219 1095L560 686L901 1095Q927 1120 960 1120Q993 1120 1016 1097T1040 1040Q1040 1010 1021 988L664 561L1024 129Q1040 108
+1040 80Q1040 47 1017 24T960 0Q927 0 904 24L560 436L216 24Q193 0 160 0Q127 0 104 23T80 80Q80 108 96 129L456 561Z" />
+<glyph unicode="y" glyph-name="y" horiz-adv-x="1120" d="M473 81L89 1003Q80 1020 80 1040Q80 1073 103 1096T160 1120Q193 1120 217 1097Q230 1083 236 1067L560 290L884 1067Q890 1083 904 1097Q927 1120 960 1120Q993 1120 1016 1097T1040 1040Q1040 1020
+1031 1003L435 -427Q429 -443 416 -456Q392 -480 359 -480Q326 -480 303 -457T279 -400Q279 -380 288 -363L473 81Z" />
+<glyph unicode="z" glyph-name="z" horiz-adv-x="1120" d="M960 160Q993 160 1016 137T1040 80Q1040 47 1017 24T960 0H160Q127 0 104 23T80 80Q80 108 96 129L789 960H160Q127 960 104 983T80 1040Q80 1073 103 1096T160 1120H960Q993 1120 1016 1097T1040 1040Q1040
+1010 1021 988L330 160H960Z" />
+<glyph unicode="{" glyph-name="braceleft" horiz-adv-x="800" d="M640 1600Q673 1600 696 1577T720 1520Q720 1487 697 1464T640 1440Q480 1440 480 1280V800Q480 640 400 560Q480 480 480 320V-160Q480 -320 640 -320Q673 -320 696 -343T720 -400Q720 -433 697
+-456T640 -480Q320 -480 320 -160V320Q320 480 160 480Q127 480 104 503T80 560Q80 593 103 616T160 640Q320 640 320 800V1280Q320 1600 640 1600Z" />
+<glyph unicode="|" glyph-name="bar" horiz-adv-x="800" d="M320 1520Q320 1553 343 1576T400 1600Q433 1600 456 1577T480 1520V-400Q480 -433 457 -456T400 -480Q367 -480 344 -457T320 -400V1520Z" />
+<glyph unicode="}" glyph-name="braceright" horiz-adv-x="800" d="M480 1280V800Q480 640 640 640Q673 640 696 617T720 560Q720 527 697 504T640 480Q480 480 480 320V-160Q480 -480 160 -480Q127 -480 104 -457T80 -400Q80 -367 103 -344T160 -320Q320 -320
+320 -160V320Q320 480 400 560Q320 640 320 800V1280Q320 1440 160 1440Q127 1440 104 1463T80 1520Q80 1553 103 1576T160 1600Q480 1600 480 1280Z" />
+<glyph unicode="~" glyph-name="asciitilde" horiz-adv-x="960" d="M532 687Q442 607 320 607Q187 607 93 701Q71 725 71 757Q71 790 94 813T151 837Q183 837 207 815Q254 767 320 767Q376 767 420 802Q509 882 632 882Q765 882 859 788Q881 764 881 732Q881 699
+858 676T801 652Q769 652 745 674Q698 722 632 722Q575 722 532 687Z" />
+<glyph unicode="&#xa0;" glyph-name="space" horiz-adv-x="560" />
+<glyph unicode="&#xa1;" glyph-name="exclamdown" horiz-adv-x="400" d="M200 879Q150 879 115 914T80 999Q80 1049 115 1084T200 1119Q250 1119 285 1084T320 999Q320 949 285 914T200 879ZM120 720Q120 752 144 775Q167 799 200 799Q233 799 257 775Q280 752
+280 720V-400Q280 -433 257 -456T200 -480Q167 -480 144 -457T120 -400V720Z" />
+<glyph unicode="&#xa2;" glyph-name="cent" horiz-adv-x="1120" d="M361 280L633 960Q476 955 364 843Q247 726 247 560Q247 396 361 280ZM497 188Q566 160 647 160Q797 160 908 258Q929 274 957 274Q990 274 1013 251T1037 194Q1037 161 1012 135Q857 0 647 0Q534
+0 438 39L315 -269Q303 -300 273 -313Q257 -320 241 -320Q226 -320 211 -314Q180 -302 167 -272T166 -210L298 121Q274 141 251 164Q87 328 87 560Q87 792 251 956T647 1120Q672 1120 696 1118L805 1390Q818 1421 849 1434Q862 1440 880 1440Q895 1440 909 1435Q940
+1423 953 1393T954 1331L855 1082Q939 1048 1012 985Q1040 960 1040 923Q1040 890 1017 867T960 843Q931 843 909 861Q856 908 795 932L497 188Z" />
+<glyph unicode="&#xa3;" glyph-name="sterling" horiz-adv-x="1040" d="M240 0Q207 0 184 23T160 80Q160 97 166 112Q283 385 279 640H160Q127 640 104 663T80 720Q80 753 103 776T160 800H265Q243 927 190 1050H191Q160 1125 160 1200Q160 1366 277 1483T560
+1600Q726 1600 843 1483Q872 1454 894 1422Q910 1400 910 1372Q910 1339 887 1316T830 1292Q793 1292 774 1316Q757 1341 730 1370Q659 1440 560 1440Q461 1440 391 1370T320 1200Q320 1155 339 1110Q404 959 427 800H720Q753 800 776 777T800 720Q800 687 777
+664T720 640H439Q441 408 356 160H750L810 280Q831 320 880 320Q913 320 936 297T960 240Q960 219 951 202L874 48Q868 35 857 24Q833 0 800 0H240Z" />
+<glyph unicode="&#xa4;" glyph-name="currency" horiz-adv-x="960" d="M480 910Q414 910 367 863T320 750Q320 684 367 637T480 590Q546 590 593 637T640 750Q640 816 593 863T480 910ZM714 1097Q737 1120 770 1120Q803 1120 826 1097T850 1040Q850 1007 826 982L755
+916Q800 842 800 750Q800 661 758 589L827 517Q850 493 850 460Q850 427 827 404T770 380Q738 380 716 402L715 401L646 475Q572 430 480 430Q391 430 320 472L243 400Q221 380 190 380Q157 380 134 403T110 460Q110 493 134 517L206 584Q160 657 160 750Q160 839
+202 911L134 984Q110 1007 110 1040Q110 1073 133 1096T190 1120Q222 1120 245 1099L314 1025Q388 1070 480 1070Q569 1070 641 1028L714 1097Z" />
+<glyph unicode="&#xa5;" glyph-name="yen" horiz-adv-x="1280" d="M160 880Q127 880 104 903T80 960Q80 993 103 1016T160 1040H384L93 1475Q80 1495 80 1520Q80 1553 103 1576T160 1600Q201 1600 225 1567L640 945L1055 1567Q1079 1600 1120 1600Q1153 1600 1176
+1577T1200 1520Q1200 1495 1187 1475L896 1040H1121Q1153 1040 1177 1017Q1200 993 1200 960Q1200 927 1177 904Q1153 880 1121 880H789L720 776V640H1120Q1153 640 1176 617T1200 560Q1200 527 1177 504T1120 480H720V80Q720 47 697 24T640 0Q607 0 584 23T560
+80V480H160Q127 480 104 503T80 560Q80 593 103 616T160 640H560V776L491 880H160Z" />
+<glyph unicode="&#xa6;" glyph-name="brokenbar" horiz-adv-x="480" d="M160 1680Q160 1713 183 1736T240 1760Q273 1760 296 1737T320 1680V960Q320 927 297 904T240 880Q207 880 184 903T160 960V1680ZM320 -400Q320 -433 297 -456T240 -480Q207 -480 184 -457T160
+-400V320Q160 353 183 376T240 400Q273 400 296 377T320 320V-400Z" />
+<glyph unicode="&#xa7;" glyph-name="section" horiz-adv-x="960" d="M480 160Q314 160 197 277T80 560Q80 726 197 843Q217 863 239 880Q217 897 197 917Q80 1034 80 1200Q80 1366 197 1483T480 1600Q646 1600 763 1483T880 1200Q880 1167 857 1144T800 1120Q767
+1120 744 1143T720 1200Q720 1299 650 1369T480 1440Q381 1440 311 1370T240 1200Q240 1101 310 1031T480 960Q646 960 763 843T880 560Q880 394 763 277Q743 257 721 240Q743 223 763 203Q880 86 880 -80Q880 -246 763 -363T480 -480Q314 -480 197 -363T80 -80Q80
+-47 103 -24T160 0Q193 0 216 -23T240 -80Q240 -179 310 -249T480 -320Q579 -320 649 -250T720 -80Q720 19 650 89T480 160ZM480 800Q381 800 311 730T240 560Q240 461 310 391T480 320Q579 320 649 390T720 560Q720 659 650 729T480 800Z" />
+<glyph unicode="&#xa8;" glyph-name="dieresis" horiz-adv-x="960" d="M339 1360Q339 1319 310 1290T239 1260Q198 1260 169 1289T139 1360Q139 1401 168 1430T239 1460Q280 1460 309 1431T339 1360ZM819 1360Q819 1319 790 1290T719 1260Q678 1260 649 1289T619
+1360Q619 1401 648 1430T719 1460Q760 1460 789 1431T819 1360Z" />
+<glyph unicode="&#xa9;" glyph-name="copyright" horiz-adv-x="1760" d="M1190 514Q1223 514 1246 491T1270 434Q1270 401 1245 375Q1090 240 880 240Q648 240 484 404T320 800Q320 1032 484 1196T880 1360Q1090 1360 1245 1225Q1273 1200 1273 1163Q1273 1130
+1250 1107T1193 1083Q1164 1083 1142 1101Q1030 1200 880 1200Q714 1200 597 1083T480 800Q480 634 597 517T880 400Q1030 400 1141 498Q1162 514 1190 514ZM1675 798Q1675 467 1442 234T878 0Q547 0 314 233T80 798Q80 1128 313 1361T878 1595Q1208 1595 1441
+1362T1675 798ZM878 1472Q598 1472 401 1275T203 798Q203 518 400 321T878 123Q1157 123 1354 320T1552 798Q1552 1077 1355 1274T878 1472Z" />
+<glyph unicode="&#xaa;" glyph-name="ordfeminine" horiz-adv-x="960" d="M480 1440Q381 1440 311 1370T240 1200Q240 1101 310 1031T480 960Q579 960 649 1030T720 1200Q720 1299 650 1369T480 1440ZM720 879Q617 800 480 800Q314 800 197 917T80 1200Q80 1366
+197 1483T480 1600Q646 1600 763 1483T880 1200V880Q880 847 857 824T800 800Q767 800 744 824Q720 847 720 879Z" />
+<glyph unicode="&#xab;" glyph-name="guillemotleft" horiz-adv-x="960" d="M90 598L326 1070Q332 1084 344 1096Q367 1119 400 1119Q433 1119 456 1096T480 1039Q480 1021 473 1005L250 560L473 114Q480 98 480 80Q480 47 457 24T400 0Q367 0 344 24Q332 35 326
+49L92 516Q80 538 80 559Q80 579 90 598ZM490 598L726 1070Q732 1084 744 1096Q767 1119 800 1119Q833 1119 856 1096T880 1039Q880 1021 873 1005L650 560L873 114Q880 98 880 80Q880 47 857 24T800 0Q767 0 744 24Q732 35 726 49L492 516Q480 538 480 559Q480
+579 490 598Z" />
+<glyph unicode="&#xac;" glyph-name="logicalnot" horiz-adv-x="1120" d="M160 960Q127 960 104 983T80 1040Q80 1073 103 1096T160 1120H960Q993 1120 1016 1097T1040 1040V720Q1040 687 1017 664T960 640Q927 640 904 663T880 720V960H160Z" />
+<glyph unicode="&#xad;" glyph-name="hyphen" horiz-adv-x="800" d="M160 480Q127 480 104 503T80 560Q80 593 103 616T160 640H640Q673 640 696 617T720 560Q720 527 697 504T640 480H160Z" />
+<glyph unicode="&#xae;" glyph-name="registered" horiz-adv-x="1760" d="M1675 798Q1675 467 1442 234T878 0Q547 0 314 233T80 798Q80 1128 313 1361T878 1595Q1208 1595 1441 1362T1675 798ZM878 1472Q598 1472 401 1275T203 798Q203 518 400 321T878 123Q1157
+123 1354 320T1552 798Q1552 1077 1355 1274T878 1472ZM665 1217V798H875Q962 798 1023 859T1085 1008Q1085 1095 1024 1156T875 1217H665ZM612 1322H875Q1005 1322 1097 1230T1190 1008Q1190 877 1097 785Q1055 743 1005 720L1233 354Q1242 342 1242 326Q1242
+304 1227 289T1190 273Q1161 273 1144 300L898 694Q886 693 875 693H665V326Q665 304 650 289T612 273Q591 273 576 288T560 326V1270Q560 1292 575 1307T612 1322Z" />
+<glyph unicode="&#xaf;" glyph-name="overscore" horiz-adv-x="1120" d="M160 1760Q127 1760 104 1783T80 1840Q80 1873 103 1896T160 1920H960Q993 1920 1016 1897T1040 1840Q1040 1807 1017 1784T960 1760H160Z" />
+<glyph unicode="&#xb0;" glyph-name="degree" horiz-adv-x="960" d="M880 1200Q880 1034 763 917T480 800Q314 800 197 917T80 1200Q80 1366 197 1483T480 1600Q646 1600 763 1483T880 1200ZM480 1440Q381 1440 311 1370T240 1200Q240 1101 310 1031T480 960Q579
+960 649 1030T720 1200Q720 1299 650 1369T480 1440Z" />
+<glyph unicode="&#xb1;" glyph-name="plusminus" horiz-adv-x="1120" d="M480 1200Q480 1233 503 1256T560 1280Q593 1280 616 1257T640 1200V880H960Q993 880 1016 857T1040 800Q1040 767 1017 744T960 720H640V400Q640 367 617 344T560 320Q527 320 504 343T480
+400V720H160Q127 720 104 743T80 800Q80 833 103 856T160 880H480V1200ZM160 0Q127 0 104 23T80 80Q80 113 103 136T160 160H960Q993 160 1016 137T1040 80Q1040 47 1017 24T960 0H160Z" />
+<glyph unicode="&#xb2;" glyph-name="uni00B2" horiz-adv-x="640" d="M516 887Q532 887 543 876T555 848Q555 831 544 820T516 808H120Q103 808 92 819T80 848Q80 864 91 876L429 1250Q476 1297 476 1362Q476 1428 430 1474T318 1521Q252 1521 206 1475T159 1362Q159
+1346 148 1335T120 1323Q103 1323 92 1334T80 1362Q80 1461 149 1530T318 1600Q416 1600 485 1531T555 1362Q555 1264 485 1194L209 887H516Z" />
+<glyph unicode="&#xb3;" glyph-name="uni00B3" horiz-adv-x="640" d="M320 1201Q303 1201 292 1212T280 1241Q280 1257 291 1269T320 1281Q369 1281 404 1316T439 1400Q439 1450 404 1485T320 1520Q270 1520 235 1485T200 1400Q200 1384 188 1373T160 1361Q143
+1361 132 1372T120 1400Q120 1483 178 1541T320 1600Q402 1600 460 1542T519 1400Q519 1308 446 1245Q469 1231 489 1211Q559 1140 559 1041Q559 942 489 872T320 802Q220 802 150 872T80 1041Q80 1058 91 1069T120 1081Q136 1081 148 1070T160 1041Q160 975 206
+929T320 882Q386 882 432 928T479 1041Q479 1108 433 1154T320 1201Z" />
+<glyph unicode="&#xb4;" glyph-name="acute" horiz-adv-x="560" d="M458 1464L215 1221Q192 1200 160 1200Q127 1200 104 1223T80 1280Q80 1311 100 1334L343 1577Q367 1600 400 1600Q433 1600 456 1577T480 1520Q480 1488 458 1464Z" />
+<glyph unicode="&#xb5;" glyph-name="mu" horiz-adv-x="1200" d="M240 520Q240 371 345 266T600 160Q749 160 854 265T960 520V1040Q960 1073 983 1096T1040 1120Q1073 1120 1096 1097T1120 1040V80Q1120 47 1097 24T1040 0Q1007 0 984 23T960 80V145Q810 0 600
+0Q390 0 240 145V-400Q240 -433 217 -456T160 -480Q127 -480 104 -457T80 -400V1040Q80 1073 103 1096T160 1120Q193 1120 216 1097T240 1040V520Z" />
+<glyph unicode="&#xb6;" glyph-name="paragraph" horiz-adv-x="1120" d="M960 80Q960 47 937 24T880 0Q847 0 824 23T800 80V1440H640V80Q640 47 617 24T560 0Q527 0 504 23T480 80V800Q314 800 197 917T80 1200Q80 1366 197 1483T480 1600H960Q993 1600 1016
+1577T1040 1520Q1040 1487 1017 1464T960 1440V80Z" />
+<glyph unicode="&#xb7;" glyph-name="middot" horiz-adv-x="400" d="M320 760Q320 710 285 675T200 640Q150 640 115 675T80 760Q80 810 115 845T200 880Q250 880 285 845T320 760Z" />
+<glyph unicode="&#xb8;" glyph-name="cedilla" horiz-adv-x="640" d="M304 57Q327 80 360 80Q393 80 416 57T440 0Q440 -10 438 -19L421 -79Q458 -94 490 -120Q560 -181 560 -270Q560 -359 490 -419T320 -480Q261 -480 206 -451L115 -397Q80 -368 80 -330Q80 -297
+103 -274T160 -250Q184 -250 203 -262L281 -310Q300 -320 320 -320Q353 -320 376 -307T400 -270Q400 -247 377 -234T320 -220Q287 -220 264 -197T240 -140Q240 -126 244 -114L283 23Q289 42 304 57Z" />
+<glyph unicode="&#xb9;" glyph-name="uni00B9" horiz-adv-x="480" d="M319 845Q319 828 307 817T279 805Q263 805 251 816T239 845V1505L175 1484Q168 1481 160 1481Q143 1481 132 1492T120 1521Q120 1537 132 1549Q138 1555 145 1558L265 1598Q271 1600 279 1600Q295
+1600 307 1589T319 1560V845Z" />
+<glyph unicode="&#xba;" glyph-name="ordmasculine" horiz-adv-x="640" d="M80 1203Q80 1441 178 1542Q236 1600 319 1600Q401 1600 459 1542Q557 1441 557 1203Q557 964 459 863Q401 805 319 805Q236 805 178 863Q80 964 80 1203ZM319 1521Q269 1521 234 1485Q160
+1401 160 1203Q160 1004 234 920Q269 885 319 885Q368 885 403 920Q478 1004 478 1203Q478 1401 403 1485Q368 1521 319 1521Z" />
+<glyph unicode="&#xbb;" glyph-name="guillemotright" horiz-adv-x="960" d="M880 559Q880 538 868 516L634 49Q628 35 616 24Q593 0 560 0Q527 0 504 23T480 80Q480 98 487 114L710 560L487 1005Q480 1021 480 1039Q480 1072 503 1095T560 1119Q593 1119 616
+1096Q628 1084 634 1070L870 598Q880 579 880 559ZM480 559Q480 538 468 516L234 49Q228 35 216 24Q193 0 160 0Q127 0 104 23T80 80Q80 98 87 114L310 560L87 1005Q80 1021 80 1039Q80 1072 103 1095T160 1119Q193 1119 216 1096Q228 1084 234 1070L470 598Q480
+579 480 559Z" />
+<glyph unicode="&#xbc;" glyph-name="onequarter" horiz-adv-x="1440" d="M1200 1600Q1233 1600 1256 1577T1280 1520Q1280 1496 1268 1477L310 41Q283 0 240 0Q207 0 184 23T160 80Q160 104 172 123L1136 1569Q1157 1600 1200 1600ZM320 688Q320 668 306 654T272
+640Q252 640 238 654T224 688V1486L147 1460Q138 1457 128 1457Q108 1457 94 1471T80 1505Q80 1525 94 1539Q102 1546 111 1550L255 1598Q263 1601 272 1601Q292 1601 306 1587T320 1553V688ZM1120 336V758L828 336H1120ZM736 240Q716 240 702 254T688 288Q688
+304 697 316L1129 940Q1131 943 1134 946Q1148 960 1168 960Q1188 960 1202 946T1216 912V336H1312Q1332 336 1346 322T1360 288Q1360 268 1346 254T1312 240H1216V48Q1216 28 1202 14T1168 0Q1148 0 1134 14T1120 48V240H736Z" />
+<glyph unicode="&#xbd;" glyph-name="onehalf" horiz-adv-x="1600" d="M1200 1600Q1233 1600 1256 1577T1280 1520Q1280 1496 1268 1477L310 41Q283 0 240 0Q207 0 184 23T160 80Q160 104 172 123L1136 1569Q1157 1600 1200 1600ZM320 688Q320 668 306 654T272
+640Q252 640 238 654T224 688V1486L147 1460Q138 1457 128 1457Q108 1457 94 1471T80 1505Q80 1525 94 1539Q102 1546 111 1550L255 1598Q263 1601 272 1601Q292 1601 306 1587T320 1553V688ZM1472 96Q1491 96 1505 82T1520 48Q1520 28 1506 14T1472 0H991Q971
+0 957 14T943 48Q943 68 957 82L1367 536Q1424 593 1424 673Q1424 753 1368 809T1231 865Q1151 865 1095 809T1039 673Q1039 653 1025 639T991 625Q971 625 957 639T943 673Q943 792 1027 876T1231 961Q1351 961 1435 877T1520 673Q1520 553 1435 468L1100 96H1472Z"
+/>
+<glyph unicode="&#xbe;" glyph-name="threequarters" horiz-adv-x="1600" d="M1360 1600Q1393 1600 1416 1577T1440 1520Q1440 1496 1428 1477L470 41Q443 0 400 0Q367 0 344 23T320 80Q320 104 332 123L1296 1569Q1317 1600 1360 1600ZM1280 336V758L988 336H1280ZM896
+240Q876 240 862 254T848 288Q848 304 857 316L1289 940Q1291 943 1294 946Q1308 960 1328 960Q1348 960 1362 946T1376 912V336H1472Q1492 336 1506 322T1520 288Q1520 268 1506 254T1472 240H1376V48Q1376 28 1362 14T1328 0Q1308 0 1294 14T1280 48V240H896ZM367
+1119Q347 1119 333 1133T319 1167Q319 1186 333 1200T367 1214Q426 1214 468 1256T511 1358Q511 1417 469 1459T367 1501Q308 1501 266 1459T224 1358Q224 1338 210 1324T176 1310Q156 1310 142 1324T128 1358Q128 1457 198 1527T367 1597Q466 1597 536 1527T606
+1358Q606 1259 536 1189Q527 1180 518 1172Q546 1155 570 1131Q654 1046 654 927Q654 808 570 724T367 640Q248 640 164 724T80 927Q80 947 94 961T128 975Q148 975 162 961T176 927Q176 848 231 792T367 736Q447 736 502 792T558 927Q558 1007 503 1063T367 1119Z"
+/>
+<glyph unicode="&#xbf;" glyph-name="questiondown" horiz-adv-x="1120" d="M560 -320Q693 -320 786 -227T880 0Q880 133 786 227L621 380Q480 521 480 720Q480 753 503 776T560 800Q593 800 616 777T640 720Q640 587 734 493L899 340Q1040 199 1040 0Q1040 -199
+900 -339T560 -480Q361 -480 221 -340T80 0Q80 33 103 56T160 80Q193 80 216 57T240 0Q240 -133 333 -226T560 -320ZM560 879Q510 879 475 914T440 999Q440 1049 475 1084T560 1119Q610 1119 645 1084T680 999Q680 949 645 914T560 879Z" />
+<glyph unicode="&#xc0;" glyph-name="Agrave" horiz-adv-x="1440" d="M433 560L234 49Q228 35 217 23Q193 0 160 0Q127 0 104 23T80 80Q80 99 87 114L643 1544Q649 1562 664 1577Q687 1600 720 1600Q753 1600 777 1577Q791 1562 797 1544L1353 114Q1360 99 1360
+80Q1360 47 1337 24T1280 0Q1247 0 1224 23Q1212 35 1206 49L1007 560H433ZM945 720L720 1299L495 720H945ZM453 2000Q453 2033 476 2056T533 2080Q566 2080 590 2057L833 1814Q853 1791 853 1760Q853 1727 830 1704T773 1680Q741 1680 718 1701L475 1944Q453 1968
+453 2000Z" />
+<glyph unicode="&#xc1;" glyph-name="Aacute" horiz-adv-x="1440" d="M433 560L234 49Q228 35 217 23Q193 0 160 0Q127 0 104 23T80 80Q80 99 87 114L643 1544Q649 1562 664 1577Q687 1600 720 1600Q753 1600 777 1577Q791 1562 797 1544L1353 114Q1360 99 1360
+80Q1360 47 1337 24T1280 0Q1247 0 1224 23Q1212 35 1206 49L1007 560H433ZM945 720L720 1299L495 720H945ZM965 1944L722 1701Q699 1680 667 1680Q634 1680 611 1703T587 1760Q587 1791 607 1814L850 2057Q874 2080 907 2080Q940 2080 963 2057T987 2000Q987 1968
+965 1944Z" />
+<glyph unicode="&#xc2;" glyph-name="Acircumflex" horiz-adv-x="1440" d="M433 560L234 49Q228 35 217 23Q193 0 160 0Q127 0 104 23T80 80Q80 99 87 114L643 1544Q649 1562 664 1577Q687 1600 720 1600Q753 1600 777 1577Q791 1562 797 1544L1353 114Q1360 99
+1360 80Q1360 47 1337 24T1280 0Q1247 0 1224 23Q1212 35 1206 49L1007 560H433ZM945 720L720 1299L495 720H945ZM761 2029L1000 1870Q1040 1840 1040 1800Q1040 1767 1017 1744T960 1720Q931 1720 910 1737L720 1863L530 1737Q509 1720 480 1720Q447 1720 424
+1743T400 1800Q400 1840 440 1870L679 2029Q697 2040 720 2040Q743 2040 761 2029Z" />
+<glyph unicode="&#xc3;" glyph-name="Atilde" horiz-adv-x="1440" d="M433 560L234 49Q228 35 217 23Q193 0 160 0Q127 0 104 23T80 80Q80 99 87 114L643 1544Q649 1562 664 1577Q687 1600 720 1600Q753 1600 777 1577Q791 1562 797 1544L1353 114Q1360 99 1360
+80Q1360 47 1337 24T1280 0Q1247 0 1224 23Q1212 35 1206 49L1007 560H433ZM945 720L720 1299L495 720H945ZM769 1801Q679 1721 557 1721Q424 1721 330 1815Q308 1839 308 1871Q308 1904 331 1927T388 1951Q420 1951 444 1929Q491 1881 557 1881Q613 1881 657 1916Q746
+1996 869 1996Q1002 1996 1096 1902Q1118 1878 1118 1846Q1118 1813 1095 1790T1038 1766Q1006 1766 982 1788Q935 1836 869 1836Q812 1836 769 1801Z" />
+<glyph unicode="&#xc4;" glyph-name="Adieresis" horiz-adv-x="1440" d="M433 560L234 49Q228 35 217 23Q193 0 160 0Q127 0 104 23T80 80Q80 99 87 114L643 1544Q649 1562 664 1577Q687 1600 720 1600Q753 1600 777 1577Q791 1562 797 1544L1353 114Q1360 99
+1360 80Q1360 47 1337 24T1280 0Q1247 0 1224 23Q1212 35 1206 49L1007 560H433ZM945 720L720 1299L495 720H945ZM580 1840Q580 1799 551 1770T480 1740Q439 1740 410 1769T380 1840Q380 1881 409 1910T480 1940Q521 1940 550 1911T580 1840ZM1060 1840Q1060 1799
+1031 1770T960 1740Q919 1740 890 1769T860 1840Q860 1881 889 1910T960 1940Q1001 1940 1030 1911T1060 1840Z" />
+<glyph unicode="&#xc5;" glyph-name="Aring" horiz-adv-x="1440" d="M433 560L234 49Q228 35 217 23Q193 0 160 0Q127 0 104 23T80 80Q80 99 87 114L643 1544Q649 1562 664 1577Q687 1600 720 1600Q753 1600 777 1577Q791 1562 797 1544L1353 114Q1360 99 1360
+80Q1360 47 1337 24T1280 0Q1247 0 1224 23Q1212 35 1206 49L1007 560H433ZM945 720L720 1299L495 720H945ZM921 1879Q921 1795 862 1736T720 1677Q636 1677 577 1736T518 1879Q518 1962 577 2021T720 2080Q803 2080 862 2021T921 1879ZM720 1979Q678 1979 649
+1950T619 1879Q619 1837 648 1808T720 1778Q761 1778 790 1807T820 1879Q820 1920 791 1949T720 1979Z" />
+<glyph unicode="&#xc6;" glyph-name="AE" horiz-adv-x="1760" d="M880 1210L652 800H880V1210ZM1600 1600Q1633 1600 1656 1577T1680 1520Q1680 1487 1657 1464T1600 1440H1040V800H1440Q1473 800 1496 777T1520 720Q1520 687 1497 664T1440 640H1040V160H1600Q1633
+160 1656 137T1680 80Q1680 47 1657 24T1600 0H960Q927 0 904 23T880 80V640H563L228 37Q203 0 160 0Q127 0 104 23T80 80Q80 102 90 119L892 1563Q915 1600 960 1600H1600Z" />
+<glyph unicode="&#xc7;" glyph-name="Ccedilla" horiz-adv-x="1480" d="M1326 314Q1359 314 1382 291T1406 234Q1406 201 1383 178Q1160 0 880 0Q549 0 315 234T80 800Q80 1131 314 1365T880 1600Q1166 1600 1389 1417Q1412 1393 1412 1360Q1412 1327 1389 1304T1332
+1280Q1299 1280 1275 1304Q1106 1440 880 1440Q615 1440 428 1253T240 800Q240 535 427 348T880 160Q1109 160 1280 300Q1300 314 1326 314ZM730 57Q753 80 786 80Q819 80 842 57T866 0Q866 -10 864 -19L847 -79Q884 -94 916 -120Q986 -181 986 -270Q986 -359 916
+-419T746 -480Q687 -480 632 -451L541 -397Q506 -368 506 -330Q506 -297 529 -274T586 -250Q610 -250 629 -262L707 -310Q726 -320 746 -320Q779 -320 802 -307T826 -270Q826 -247 803 -234T746 -220Q713 -220 690 -197T666 -140Q666 -126 670 -114L709 23Q715
+42 730 57Z" />
+<glyph unicode="&#xc8;" glyph-name="Egrave" horiz-adv-x="1280" d="M161 1600H1121Q1154 1600 1177 1577T1201 1520Q1201 1487 1178 1464T1121 1440H241V880H881Q914 880 937 857T961 800Q961 767 938 744T881 720H241V160H1121Q1154 160 1177 137T1201 80Q1201
+47 1178 24T1121 0H161Q128 0 105 23T81 80V1520Q81 1553 104 1576T161 1600ZM375 2000Q375 2033 398 2056T455 2080Q488 2080 512 2057L755 1814Q775 1791 775 1760Q775 1727 752 1704T695 1680Q663 1680 640 1701L397 1944Q375 1968 375 2000Z" />
+<glyph unicode="&#xc9;" glyph-name="Eacute" horiz-adv-x="1280" d="M161 1600H1121Q1154 1600 1177 1577T1201 1520Q1201 1487 1178 1464T1121 1440H241V880H881Q914 880 937 857T961 800Q961 767 938 744T881 720H241V160H1121Q1154 160 1177 137T1201 80Q1201
+47 1178 24T1121 0H161Q128 0 105 23T81 80V1520Q81 1553 104 1576T161 1600ZM887 1944L644 1701Q621 1680 589 1680Q556 1680 533 1703T509 1760Q509 1791 529 1814L772 2057Q796 2080 829 2080Q862 2080 885 2057T909 2000Q909 1968 887 1944Z" />
+<glyph unicode="&#xca;" glyph-name="Ecircumflex" horiz-adv-x="1280" d="M161 1600H1121Q1154 1600 1177 1577T1201 1520Q1201 1487 1178 1464T1121 1440H241V880H881Q914 880 937 857T961 800Q961 767 938 744T881 720H241V160H1121Q1154 160 1177 137T1201
+80Q1201 47 1178 24T1121 0H161Q128 0 105 23T81 80V1520Q81 1553 104 1576T161 1600ZM681 2029L920 1870Q960 1840 960 1800Q960 1767 937 1744T880 1720Q851 1720 830 1737L640 1863L450 1737Q429 1720 400 1720Q367 1720 344 1743T320 1800Q320 1840 360 1870L599
+2029Q617 2040 640 2040Q663 2040 681 2029Z" />
+<glyph unicode="&#xcb;" glyph-name="Edieresis" horiz-adv-x="1280" d="M161 1600H1121Q1154 1600 1177 1577T1201 1520Q1201 1487 1178 1464T1121 1440H241V880H881Q914 880 937 857T961 800Q961 767 938 744T881 720H241V160H1121Q1154 160 1177 137T1201 80Q1201
+47 1178 24T1121 0H161Q128 0 105 23T81 80V1520Q81 1553 104 1576T161 1600ZM502 1840Q502 1799 473 1770T402 1740Q361 1740 332 1769T302 1840Q302 1881 331 1910T402 1940Q443 1940 472 1911T502 1840ZM982 1840Q982 1799 953 1770T882 1740Q841 1740 812 1769T782
+1840Q782 1881 811 1910T882 1940Q923 1940 952 1911T982 1840Z" />
+<glyph unicode="&#xcc;" glyph-name="Igrave" horiz-adv-x="480" d="M160 1520Q160 1553 183 1576T240 1600Q273 1600 296 1577T320 1520V80Q320 47 297 24T240 0Q207 0 184 23T160 80V1520ZM-26 2000Q-26 2033 -3 2056T54 2080Q87 2080 111 2057L354 1814Q374
+1791 374 1760Q374 1727 351 1704T294 1680Q262 1680 239 1701L-4 1944Q-26 1968 -26 2000Z" />
+<glyph unicode="&#xcd;" glyph-name="Iacute" horiz-adv-x="480" d="M160 1520Q160 1553 183 1576T240 1600Q273 1600 296 1577T320 1520V80Q320 47 297 24T240 0Q207 0 184 23T160 80V1520ZM485 1944L242 1701Q219 1680 187 1680Q154 1680 131 1703T107 1760Q107
+1791 127 1814L370 2057Q394 2080 427 2080Q460 2080 483 2057T507 2000Q507 1968 485 1944Z" />
+<glyph unicode="&#xce;" glyph-name="Icircumflex" horiz-adv-x="480" d="M160 1520Q160 1553 183 1576T240 1600Q273 1600 296 1577T320 1520V80Q320 47 297 24T240 0Q207 0 184 23T160 80V1520ZM282 2029L521 1870Q561 1840 561 1800Q561 1767 538 1744T481
+1720Q452 1720 431 1737L241 1863L51 1737Q30 1720 1 1720Q-32 1720 -55 1743T-79 1800Q-79 1840 -39 1870L200 2029Q218 2040 241 2040Q264 2040 282 2029Z" />
+<glyph unicode="&#xcf;" glyph-name="Idieresis" horiz-adv-x="480" d="M160 1520Q160 1553 183 1576T240 1600Q273 1600 296 1577T320 1520V80Q320 47 297 24T240 0Q207 0 184 23T160 80V1520ZM101 1840Q101 1799 72 1770T1 1740Q-40 1740 -69 1769T-99 1840Q-99
+1881 -70 1910T1 1940Q42 1940 71 1911T101 1840ZM581 1840Q581 1799 552 1770T481 1740Q440 1740 411 1769T381 1840Q381 1881 410 1910T481 1940Q522 1940 551 1911T581 1840Z" />
+<glyph unicode="&#xd0;" glyph-name="Eth" horiz-adv-x="1520" d="M239 880V1520Q239 1553 262 1576T319 1600H639Q970 1600 1204 1366T1439 800Q1439 469 1205 235T639 0H319Q286 0 263 23T239 80V720H80Q47 720 24 743T0 800Q0 833 23 856T80 880H239ZM399 880H719Q752
+880 775 857T799 800Q799 767 776 744T719 720H399V160H639Q904 160 1091 347T1279 800Q1279 1065 1092 1252T639 1440H399V880Z" />
+<glyph unicode="&#xd1;" glyph-name="Ntilde" horiz-adv-x="1440" d="M240 80Q240 47 217 24T160 0Q127 0 104 23T80 80V1520Q80 1553 103 1576T160 1600Q196 1600 222 1571L1200 313V1520Q1200 1553 1223 1576T1280 1600Q1313 1600 1336 1577T1360 1520V80Q1360
+47 1337 24T1280 0Q1245 0 1220 26L240 1286V80ZM769 1801Q679 1721 557 1721Q424 1721 330 1815Q308 1839 308 1871Q308 1904 331 1927T388 1951Q420 1951 444 1929Q491 1881 557 1881Q613 1881 657 1916Q746 1996 869 1996Q1002 1996 1096 1902Q1118 1878 1118
+1846Q1118 1813 1095 1790T1038 1766Q1006 1766 982 1788Q935 1836 869 1836Q812 1836 769 1801Z" />
+<glyph unicode="&#xd2;" glyph-name="Ograve" horiz-adv-x="1760" d="M880 1440Q615 1440 428 1253T240 800Q240 535 427 348T880 160Q1145 160 1332 347T1520 800Q1520 1065 1333 1252T880 1440ZM1680 800Q1680 469 1446 235T880 0Q549 0 315 234T80 800Q80 1131
+314 1365T880 1600Q1211 1600 1445 1366T1680 800ZM693 2000Q693 2033 716 2056T773 2080Q806 2080 830 2057L1073 1814Q1093 1791 1093 1760Q1093 1727 1070 1704T1013 1680Q981 1680 958 1701L715 1944Q693 1968 693 2000Z" />
+<glyph unicode="&#xd3;" glyph-name="Oacute" horiz-adv-x="1760" d="M880 1440Q615 1440 428 1253T240 800Q240 535 427 348T880 160Q1145 160 1332 347T1520 800Q1520 1065 1333 1252T880 1440ZM1680 800Q1680 469 1446 235T880 0Q549 0 315 234T80 800Q80 1131
+314 1365T880 1600Q1211 1600 1445 1366T1680 800ZM1055 1944L812 1701Q789 1680 757 1680Q724 1680 701 1703T677 1760Q677 1791 697 1814L940 2057Q964 2080 997 2080Q1030 2080 1053 2057T1077 2000Q1077 1968 1055 1944Z" />
+<glyph unicode="&#xd4;" glyph-name="Ocircumflex" horiz-adv-x="1760" d="M880 1440Q615 1440 428 1253T240 800Q240 535 427 348T880 160Q1145 160 1332 347T1520 800Q1520 1065 1333 1252T880 1440ZM1680 800Q1680 469 1446 235T880 0Q549 0 315 234T80 800Q80
+1131 314 1365T880 1600Q1211 1600 1445 1366T1680 800ZM921 2029L1160 1870Q1200 1840 1200 1800Q1200 1767 1177 1744T1120 1720Q1091 1720 1070 1737L880 1863L690 1737Q669 1720 640 1720Q607 1720 584 1743T560 1800Q560 1840 600 1870L839 2029Q857 2040
+880 2040Q903 2040 921 2029Z" />
+<glyph unicode="&#xd5;" glyph-name="Otilde" horiz-adv-x="1760" d="M880 1440Q615 1440 428 1253T240 800Q240 535 427 348T880 160Q1145 160 1332 347T1520 800Q1520 1065 1333 1252T880 1440ZM1680 800Q1680 469 1446 235T880 0Q549 0 315 234T80 800Q80 1131
+314 1365T880 1600Q1211 1600 1445 1366T1680 800ZM929 1801Q839 1721 717 1721Q584 1721 490 1815Q468 1839 468 1871Q468 1904 491 1927T548 1951Q580 1951 604 1929Q651 1881 717 1881Q773 1881 817 1916Q906 1996 1029 1996Q1162 1996 1256 1902Q1278 1878
+1278 1846Q1278 1813 1255 1790T1198 1766Q1166 1766 1142 1788Q1095 1836 1029 1836Q972 1836 929 1801Z" />
+<glyph unicode="&#xd6;" glyph-name="Odieresis" horiz-adv-x="1760" d="M880 1440Q615 1440 428 1253T240 800Q240 535 427 348T880 160Q1145 160 1332 347T1520 800Q1520 1065 1333 1252T880 1440ZM1680 800Q1680 469 1446 235T880 0Q549 0 315 234T80 800Q80
+1131 314 1365T880 1600Q1211 1600 1445 1366T1680 800ZM740 1840Q740 1799 711 1770T640 1740Q599 1740 570 1769T540 1840Q540 1881 569 1910T640 1940Q681 1940 710 1911T740 1840ZM1220 1840Q1220 1799 1191 1770T1120 1740Q1079 1740 1050 1769T1020 1840Q1020
+1881 1049 1910T1120 1940Q1161 1940 1190 1911T1220 1840Z" />
+<glyph unicode="&#xd7;" glyph-name="multiply" horiz-adv-x="960" d="M366 720L102 984Q80 1008 80 1040Q80 1073 103 1096T160 1120Q193 1120 218 1096L480 834L742 1096Q767 1120 800 1120Q833 1120 856 1097T880 1040Q880 1008 858 984L594 720L858 456Q880
+432 880 400Q880 367 857 344T800 320Q768 320 745 341L480 606L215 341Q192 320 160 320Q127 320 104 343T80 400Q80 432 102 456L366 720Z" />
+<glyph unicode="&#xd8;" glyph-name="Oslash" horiz-adv-x="1760" d="M1500 1306Q1680 1090 1680 800Q1680 469 1446 235T880 0Q590 0 374 180L217 23Q193 0 160 0Q127 0 104 23T80 80Q80 112 101 135L260 294Q80 510 80 800Q80 1131 314 1365T880 1600Q1170 1600
+1386 1420L1543 1577Q1567 1600 1600 1600Q1633 1600 1656 1577T1680 1520Q1680 1491 1662 1469L1500 1306ZM374 408L1272 1306Q1104 1440 880 1440Q615 1440 428 1253T240 800Q240 576 374 408ZM1386 1193L488 294Q656 160 880 160Q1145 160 1332 347T1520 800Q1520
+1024 1386 1193Z" />
+<glyph unicode="&#xd9;" glyph-name="Ugrave" horiz-adv-x="1280" d="M80 1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V560Q240 394 357 277T640 160Q806 160 923 277T1040 560V1520Q1040 1553 1063 1576T1120 1600Q1153 1600 1176 1577T1200
+1520V560Q1200 328 1036 164T640 0Q408 0 244 164T80 560V1520ZM373 2000Q373 2033 396 2056T453 2080Q486 2080 510 2057L753 1814Q773 1791 773 1760Q773 1727 750 1704T693 1680Q661 1680 638 1701L395 1944Q373 1968 373 2000Z" />
+<glyph unicode="&#xda;" glyph-name="Uacute" horiz-adv-x="1280" d="M80 1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V560Q240 394 357 277T640 160Q806 160 923 277T1040 560V1520Q1040 1553 1063 1576T1120 1600Q1153 1600 1176 1577T1200
+1520V560Q1200 328 1036 164T640 0Q408 0 244 164T80 560V1520ZM885 1944L642 1701Q619 1680 587 1680Q554 1680 531 1703T507 1760Q507 1791 527 1814L770 2057Q794 2080 827 2080Q860 2080 883 2057T907 2000Q907 1968 885 1944Z" />
+<glyph unicode="&#xdb;" glyph-name="Ucircumflex" horiz-adv-x="1280" d="M80 1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V560Q240 394 357 277T640 160Q806 160 923 277T1040 560V1520Q1040 1553 1063 1576T1120 1600Q1153 1600 1176 1577T1200
+1520V560Q1200 328 1036 164T640 0Q408 0 244 164T80 560V1520ZM681 2029L920 1870Q960 1840 960 1800Q960 1767 937 1744T880 1720Q851 1720 830 1737L640 1863L450 1737Q429 1720 400 1720Q367 1720 344 1743T320 1800Q320 1840 360 1870L599 2029Q617 2040 640
+2040Q663 2040 681 2029Z" />
+<glyph unicode="&#xdc;" glyph-name="Udieresis" horiz-adv-x="1280" d="M80 1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V560Q240 394 357 277T640 160Q806 160 923 277T1040 560V1520Q1040 1553 1063 1576T1120 1600Q1153 1600 1176 1577T1200
+1520V560Q1200 328 1036 164T640 0Q408 0 244 164T80 560V1520ZM500 1840Q500 1799 471 1770T400 1740Q359 1740 330 1769T300 1840Q300 1881 329 1910T400 1940Q441 1940 470 1911T500 1840ZM980 1840Q980 1799 951 1770T880 1740Q839 1740 810 1769T780 1840Q780
+1881 809 1910T880 1940Q921 1940 950 1911T980 1840Z" />
+<glyph unicode="&#xdd;" glyph-name="Yacute" horiz-adv-x="1280" d="M720 80Q720 47 697 24T640 0Q607 0 584 23T560 80V776L93 1475Q80 1495 80 1520Q80 1553 103 1576T160 1600Q201 1600 225 1567L640 945L1055 1567Q1079 1600 1120 1600Q1153 1600 1176 1577T1200
+1520Q1200 1495 1187 1475L720 776V80ZM885 1944L642 1701Q619 1680 587 1680Q554 1680 531 1703T507 1760Q507 1791 527 1814L770 2057Q794 2080 827 2080Q860 2080 883 2057T907 2000Q907 1968 885 1944Z" />
+<glyph unicode="&#xde;" glyph-name="Thorn" horiz-adv-x="1280" d="M80 1520Q80 1553 103 1576T160 1600Q193 1600 216 1577T240 1520V1280H720Q919 1280 1059 1140T1200 800Q1200 601 1060 461T720 320H240V80Q240 47 217 24T160 0Q127 0 104 23T80 80V1520ZM720
+480Q853 480 946 573T1040 800Q1040 933 947 1026T720 1120H240V480H720Z" />
+<glyph unicode="&#xdf;" glyph-name="germandbls" horiz-adv-x="1120" d="M240 80Q240 47 217 24T160 0Q127 0 104 23T80 80V1200Q80 1366 197 1483Q314 1600 480 1600Q646 1600 763 1483T880 1200Q880 1053 788 945Q763 911 763 867Q763 790 819 759Q875 731
+923 683Q1040 566 1040 400Q1040 234 923 117T640 0Q474 0 357 117Q331 143 331 176Q331 209 354 232T411 256Q444 256 471 231Q541 160 640 160Q739 160 809 230T880 400Q880 499 810 570Q781 598 748 617T684 667Q600 750 600 868Q600 975 672 1056Q720 1118
+720 1200Q720 1299 650 1369T480 1440Q381 1440 311 1370Q240 1299 240 1200V80Z" />
+<glyph unicode="&#xe0;" glyph-name="agrave" horiz-adv-x="1280" d="M640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960ZM1040 168Q872 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872
+1120 1036 956T1200 560V80Q1200 47 1177 24T1120 0Q1087 0 1064 23T1040 80V168ZM400 1520Q400 1553 423 1576T480 1600Q513 1600 537 1577L780 1334Q800 1311 800 1280Q800 1247 777 1224T720 1200Q688 1200 665 1221L422 1464Q400 1488 400 1520Z" />
+<glyph unicode="&#xe1;" glyph-name="aacute" horiz-adv-x="1280" d="M640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960ZM1040 168Q872 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872
+1120 1036 956T1200 560V80Q1200 47 1177 24T1120 0Q1087 0 1064 23T1040 80V168ZM858 1464L615 1221Q592 1200 560 1200Q527 1200 504 1223T480 1280Q480 1311 500 1334L743 1577Q767 1600 800 1600Q833 1600 856 1577T880 1520Q880 1488 858 1464Z" />
+<glyph unicode="&#xe2;" glyph-name="acircumflex" horiz-adv-x="1280" d="M640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960ZM1040 168Q872 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872
+1120 1036 956T1200 560V80Q1200 47 1177 24T1120 0Q1087 0 1064 23T1040 80V168ZM681 1549L920 1390Q960 1360 960 1320Q960 1287 937 1264T880 1240Q851 1240 830 1257L640 1383L450 1257Q429 1240 400 1240Q367 1240 344 1263T320 1320Q320 1360 360 1390L599
+1549Q617 1560 640 1560Q663 1560 681 1549Z" />
+<glyph unicode="&#xe3;" glyph-name="atilde" horiz-adv-x="1280" d="M640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960ZM1040 168Q872 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872
+1120 1036 956T1200 560V80Q1200 47 1177 24T1120 0Q1087 0 1064 23T1040 80V168ZM696 1321Q606 1241 484 1241Q351 1241 257 1335Q235 1359 235 1391Q235 1424 258 1447T315 1471Q347 1471 371 1449Q418 1401 484 1401Q540 1401 584 1436Q673 1516 796 1516Q929
+1516 1023 1422Q1045 1398 1045 1366Q1045 1333 1022 1310T965 1286Q933 1286 909 1308Q862 1356 796 1356Q739 1356 696 1321Z" />
+<glyph unicode="&#xe4;" glyph-name="adieresis" horiz-adv-x="1280" d="M640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960ZM1040 168Q872 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872
+1120 1036 956T1200 560V80Q1200 47 1177 24T1120 0Q1087 0 1064 23T1040 80V168ZM500 1360Q500 1319 471 1290T400 1260Q359 1260 330 1289T300 1360Q300 1401 329 1430T400 1460Q441 1460 470 1431T500 1360ZM980 1360Q980 1319 951 1290T880 1260Q839 1260 810
+1289T780 1360Q780 1401 809 1430T880 1460Q921 1460 950 1431T980 1360Z" />
+<glyph unicode="&#xe5;" glyph-name="aring" horiz-adv-x="1280" d="M640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960ZM1040 168Q872 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872
+1120 1036 956T1200 560V80Q1200 47 1177 24T1120 0Q1087 0 1064 23T1040 80V168ZM842 1399Q842 1315 783 1256T641 1197Q557 1197 498 1256T439 1399Q439 1482 498 1541T641 1600Q724 1600 783 1541T842 1399ZM641 1499Q599 1499 570 1470T540 1399Q540 1357 569
+1328T641 1298Q682 1298 711 1327T741 1399Q741 1440 712 1469T641 1499Z" />
+<glyph unicode="&#xe6;" glyph-name="ae" horiz-adv-x="2240" d="M640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960ZM1993 640Q1971 755 1883 843Q1766 960 1600 960Q1434 960 1317 843Q1229 755
+1207 640H1993ZM1200 168V80Q1200 47 1177 24T1120 0Q1087 0 1064 23T1040 80V168Q872 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872 1120 1036 956Q1085 907 1120 851Q1155 907 1204 956Q1368 1120 1600 1120Q1832 1120 1996 956T2160 560Q2160
+527 2137 504T2080 480H1207Q1229 365 1317 277Q1434 160 1600 160Q1750 160 1858 255Q1880 272 1908 272Q1941 272 1964 249T1988 192Q1988 159 1965 135Q1810 0 1600 0Q1368 0 1200 168Z" />
+<glyph unicode="&#xe7;" glyph-name="ccedilla" horiz-adv-x="1120" d="M950 274Q983 274 1006 251T1030 194Q1030 161 1005 135Q850 0 640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q850 1120 1005 985Q1033 960 1033 923Q1033 890 1010 867T953 843Q924
+843 902 861Q790 960 640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q790 160 901 258Q922 274 950 274ZM541 57Q564 80 597 80Q630 80 653 57T677 0Q677 -10 675 -19L658 -79Q695 -94 727 -120Q797 -181 797 -270Q797 -359 727 -419T557 -480Q498 -480
+443 -451L352 -397Q317 -368 317 -330Q317 -297 340 -274T397 -250Q421 -250 440 -262L518 -310Q537 -320 557 -320Q590 -320 613 -307T637 -270Q637 -247 614 -234T557 -220Q524 -220 501 -197T477 -140Q477 -126 481 -114L520 23Q526 42 541 57Z" />
+<glyph unicode="&#xe8;" glyph-name="egrave" horiz-adv-x="1280" d="M1033 640Q1011 755 923 843Q806 960 640 960Q474 960 357 843Q269 755 247 640H1033ZM948 272Q981 272 1004 249T1028 192Q1028 159 1005 135Q850 0 640 0Q408 0 244 164T80 560Q80 792 244
+956T640 1120Q872 1120 1036 956T1200 560Q1200 527 1177 504T1120 480H247Q269 365 357 277Q474 160 640 160Q790 160 898 255Q920 272 948 272ZM400 1520Q400 1553 423 1576T480 1600Q513 1600 537 1577L780 1334Q800 1311 800 1280Q800 1247 777 1224T720 1200Q688
+1200 665 1221L422 1464Q400 1488 400 1520Z" />
+<glyph unicode="&#xe9;" glyph-name="eacute" horiz-adv-x="1280" d="M1033 640Q1011 755 923 843Q806 960 640 960Q474 960 357 843Q269 755 247 640H1033ZM948 272Q981 272 1004 249T1028 192Q1028 159 1005 135Q850 0 640 0Q408 0 244 164T80 560Q80 792 244
+956T640 1120Q872 1120 1036 956T1200 560Q1200 527 1177 504T1120 480H247Q269 365 357 277Q474 160 640 160Q790 160 898 255Q920 272 948 272ZM858 1464L615 1221Q592 1200 560 1200Q527 1200 504 1223T480 1280Q480 1311 500 1334L743 1577Q767 1600 800 1600Q833
+1600 856 1577T880 1520Q880 1488 858 1464Z" />
+<glyph unicode="&#xea;" glyph-name="ecircumflex" horiz-adv-x="1280" d="M1033 640Q1011 755 923 843Q806 960 640 960Q474 960 357 843Q269 755 247 640H1033ZM948 272Q981 272 1004 249T1028 192Q1028 159 1005 135Q850 0 640 0Q408 0 244 164T80 560Q80 792
+244 956T640 1120Q872 1120 1036 956T1200 560Q1200 527 1177 504T1120 480H247Q269 365 357 277Q474 160 640 160Q790 160 898 255Q920 272 948 272ZM681 1549L920 1390Q960 1360 960 1320Q960 1287 937 1264T880 1240Q851 1240 830 1257L640 1383L450 1257Q429
+1240 400 1240Q367 1240 344 1263T320 1320Q320 1360 360 1390L599 1549Q617 1560 640 1560Q663 1560 681 1549Z" />
+<glyph unicode="&#xeb;" glyph-name="edieresis" horiz-adv-x="1280" d="M1033 640Q1011 755 923 843Q806 960 640 960Q474 960 357 843Q269 755 247 640H1033ZM948 272Q981 272 1004 249T1028 192Q1028 159 1005 135Q850 0 640 0Q408 0 244 164T80 560Q80 792
+244 956T640 1120Q872 1120 1036 956T1200 560Q1200 527 1177 504T1120 480H247Q269 365 357 277Q474 160 640 160Q790 160 898 255Q920 272 948 272ZM500 1360Q500 1319 471 1290T400 1260Q359 1260 330 1289T300 1360Q300 1401 329 1430T400 1460Q441 1460 470
+1431T500 1360ZM980 1360Q980 1319 951 1290T880 1260Q839 1260 810 1289T780 1360Q780 1401 809 1430T880 1460Q921 1460 950 1431T980 1360Z" />
+<glyph unicode="&#xec;" glyph-name="igrave" horiz-adv-x="480" d="M160 1040Q160 1073 183 1096T240 1120Q273 1120 296 1097T320 1040V80Q320 47 297 24T240 0Q207 0 184 23T160 80V1040ZM257 1520Q257 1553 280 1576T337 1600Q370 1600 394 1577L637 1334Q657
+1311 657 1280Q657 1247 634 1224T577 1200Q545 1200 522 1221L279 1464Q257 1488 257 1520Z" />
+<glyph unicode="&#xed;" glyph-name="iacute" horiz-adv-x="480" d="M160 1040Q160 1073 183 1096T240 1120Q273 1120 296 1097T320 1040V80Q320 47 297 24T240 0Q207 0 184 23T160 80V1040ZM460 1464L217 1221Q194 1200 162 1200Q129 1200 106 1223T82 1280Q82
+1311 102 1334L345 1577Q369 1600 402 1600Q435 1600 458 1577T482 1520Q482 1488 460 1464Z" />
+<glyph unicode="&#xee;" glyph-name="icircumflex" horiz-adv-x="560" d="M201 1040Q201 1073 224 1096T281 1120Q314 1120 337 1097T361 1040V80Q361 47 338 24T281 0Q248 0 225 23T201 80V1040ZM578 1549L817 1390Q857 1360 857 1320Q857 1287 834 1264T777
+1240Q748 1240 727 1257L537 1383L347 1257Q326 1240 297 1240Q264 1240 241 1263T217 1320Q217 1360 257 1390L496 1549Q514 1560 537 1560Q560 1560 578 1549Z" />
+<glyph unicode="&#xef;" glyph-name="idieresis" horiz-adv-x="600" d="M220 1040Q220 1073 243 1096T300 1120Q333 1120 356 1097T380 1040V80Q380 47 357 24T300 0Q267 0 244 23T220 80V1040ZM162 1360Q162 1319 133 1290T62 1260Q21 1260 -8 1289T-38 1360Q-38
+1401 -9 1430T62 1460Q103 1460 132 1431T162 1360ZM642 1360Q642 1319 613 1290T542 1260Q501 1260 472 1289T442 1360Q442 1401 471 1430T542 1460Q583 1460 612 1431T642 1360Z" />
+<glyph unicode="&#xf0;" glyph-name="eth" horiz-adv-x="1280" d="M640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923 277T1040 560Q1040 726 923 843T640 960ZM606 1418L572 1476Q560 1498 560 1520Q560 1553 583 1576T640 1600Q686 1600
+708 1563L745 1500L881 1579Q909 1596 941 1588T990 1551Q1007 1522 999 1490T962 1441L825 1361L1133 829Q1200 708 1200 560Q1200 328 1036 164T640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q719 1120 790 1101L686 1280L547 1199Q519 1182 487 1190T438
+1227Q421 1256 429 1288T466 1337L606 1418Z" />
+<glyph unicode="&#xf1;" glyph-name="ntilde" horiz-adv-x="1200" d="M80 1040Q80 1073 103 1096T160 1120Q193 1120 216 1097T240 1040V975Q390 1120 600 1120Q815 1120 967 968T1120 600V80Q1120 47 1097 24T1040 0Q1007 0 984 23T960 80V600Q960 749 855 854T600
+960Q451 960 346 855T240 600V80Q240 47 217 24T160 0Q127 0 104 23T80 80V1040ZM661 1321Q571 1241 449 1241Q316 1241 222 1335Q200 1359 200 1391Q200 1424 223 1447T280 1471Q312 1471 336 1449Q383 1401 449 1401Q505 1401 549 1436Q638 1516 761 1516Q894
+1516 988 1422Q1010 1398 1010 1366Q1010 1333 987 1310T930 1286Q898 1286 874 1308Q827 1356 761 1356Q704 1356 661 1321Z" />
+<glyph unicode="&#xf2;" glyph-name="ograve" horiz-adv-x="1280" d="M1200 560Q1200 328 1036 164T640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872 1120 1036 956T1200 560ZM640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923
+277T1040 560Q1040 726 923 843T640 960ZM400 1520Q400 1553 423 1576T480 1600Q513 1600 537 1577L780 1334Q800 1311 800 1280Q800 1247 777 1224T720 1200Q688 1200 665 1221L422 1464Q400 1488 400 1520Z" />
+<glyph unicode="&#xf3;" glyph-name="oacute" horiz-adv-x="1280" d="M1200 560Q1200 328 1036 164T640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872 1120 1036 956T1200 560ZM640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923
+277T1040 560Q1040 726 923 843T640 960ZM858 1464L615 1221Q592 1200 560 1200Q527 1200 504 1223T480 1280Q480 1311 500 1334L743 1577Q767 1600 800 1600Q833 1600 856 1577T880 1520Q880 1488 858 1464Z" />
+<glyph unicode="&#xf4;" glyph-name="ocircumflex" horiz-adv-x="1280" d="M1200 560Q1200 328 1036 164T640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872 1120 1036 956T1200 560ZM640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160
+923 277T1040 560Q1040 726 923 843T640 960ZM681 1549L920 1390Q960 1360 960 1320Q960 1287 937 1264T880 1240Q851 1240 830 1257L640 1383L450 1257Q429 1240 400 1240Q367 1240 344 1263T320 1320Q320 1360 360 1390L599 1549Q617 1560 640 1560Q663 1560
+681 1549Z" />
+<glyph unicode="&#xf5;" glyph-name="otilde" horiz-adv-x="1280" d="M1200 560Q1200 328 1036 164T640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872 1120 1036 956T1200 560ZM640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923
+277T1040 560Q1040 726 923 843T640 960ZM696 1321Q606 1241 484 1241Q351 1241 257 1335Q235 1359 235 1391Q235 1424 258 1447T315 1471Q347 1471 371 1449Q418 1401 484 1401Q540 1401 584 1436Q673 1516 796 1516Q929 1516 1023 1422Q1045 1398 1045 1366Q1045
+1333 1022 1310T965 1286Q933 1286 909 1308Q862 1356 796 1356Q739 1356 696 1321Z" />
+<glyph unicode="&#xf6;" glyph-name="odieresis" horiz-adv-x="1280" d="M1200 560Q1200 328 1036 164T640 0Q408 0 244 164T80 560Q80 792 244 956T640 1120Q872 1120 1036 956T1200 560ZM640 960Q474 960 357 843T240 560Q240 394 357 277T640 160Q806 160 923
+277T1040 560Q1040 726 923 843T640 960ZM500 1360Q500 1319 471 1290T400 1260Q359 1260 330 1289T300 1360Q300 1401 329 1430T400 1460Q441 1460 470 1431T500 1360ZM980 1360Q980 1319 951 1290T880 1260Q839 1260 810 1289T780 1360Q780 1401 809 1430T880
+1460Q921 1460 950 1431T980 1360Z" />
+<glyph unicode="&#xf7;" glyph-name="divide" horiz-adv-x="960" d="M580 1020Q580 979 551 950T480 920Q439 920 410 949T380 1020Q380 1061 409 1090T480 1120Q521 1120 550 1091T580 1020ZM160 640Q127 640 104 663T80 720Q80 753 103 776T160 800H800Q833
+800 856 777T880 720Q880 687 857 664T800 640H160ZM580 420Q580 379 551 350T480 320Q439 320 410 349T380 420Q380 461 409 490T480 520Q521 520 550 491T580 420Z" />
+<glyph unicode="&#xf8;" glyph-name="oslash" horiz-adv-x="1280" d="M861 894Q764 960 640 960Q474 960 357 843T240 560Q240 436 305 339L861 894ZM975 781L419 225Q516 160 640 160Q806 160 923 277T1040 560Q1040 684 975 781ZM976 1009L1061 1094Q1087 1120
+1120 1120Q1153 1120 1176 1097T1200 1040Q1200 1008 1178 984L1089 895Q1200 751 1200 560Q1200 328 1036 164T640 0Q449 0 305 111L217 23Q193 0 160 0Q127 0 104 23T80 80Q80 112 102 136L191 225Q80 369 80 560Q80 792 244 956T640 1120Q831 1120 976 1009Z"
+/>
+<glyph unicode="&#xf9;" glyph-name="ugrave" horiz-adv-x="1200" d="M1120 80Q1120 47 1097 24T1040 0Q1007 0 984 23T960 80V145Q810 0 600 0Q385 0 233 152T80 520V1040Q80 1073 103 1096T160 1120Q193 1120 216 1097T240 1040V520Q240 371 345 266T600 160Q749
+160 854 265T960 520V1040Q960 1073 983 1096T1040 1120Q1073 1120 1096 1097T1120 1040V80ZM400 1520Q400 1553 423 1576T480 1600Q513 1600 537 1577L780 1334Q800 1311 800 1280Q800 1247 777 1224T720 1200Q688 1200 665 1221L422 1464Q400 1488 400 1520Z"
+/>
+<glyph unicode="&#xfa;" glyph-name="uacute" horiz-adv-x="1200" d="M1120 80Q1120 47 1097 24T1040 0Q1007 0 984 23T960 80V145Q810 0 600 0Q385 0 233 152T80 520V1040Q80 1073 103 1096T160 1120Q193 1120 216 1097T240 1040V520Q240 371 345 266T600 160Q749
+160 854 265T960 520V1040Q960 1073 983 1096T1040 1120Q1073 1120 1096 1097T1120 1040V80ZM778 1464L535 1221Q512 1200 480 1200Q447 1200 424 1223T400 1280Q400 1311 420 1334L663 1577Q687 1600 720 1600Q753 1600 776 1577T800 1520Q800 1488 778 1464Z"
+/>
+<glyph unicode="&#xfb;" glyph-name="ucircumflex" horiz-adv-x="1200" d="M1120 80Q1120 47 1097 24T1040 0Q1007 0 984 23T960 80V145Q810 0 600 0Q385 0 233 152T80 520V1040Q80 1073 103 1096T160 1120Q193 1120 216 1097T240 1040V520Q240 371 345 266T600
+160Q749 160 854 265T960 520V1040Q960 1073 983 1096T1040 1120Q1073 1120 1096 1097T1120 1040V80ZM641 1549L880 1390Q920 1360 920 1320Q920 1287 897 1264T840 1240Q811 1240 790 1257L600 1383L410 1257Q389 1240 360 1240Q327 1240 304 1263T280 1320Q280
+1360 320 1390L559 1549Q577 1560 600 1560Q623 1560 641 1549Z" />
+<glyph unicode="&#xfc;" glyph-name="udieresis" horiz-adv-x="1200" d="M1120 80Q1120 47 1097 24T1040 0Q1007 0 984 23T960 80V145Q810 0 600 0Q385 0 233 152T80 520V1040Q80 1073 103 1096T160 1120Q193 1120 216 1097T240 1040V520Q240 371 345 266T600
+160Q749 160 854 265T960 520V1040Q960 1073 983 1096T1040 1120Q1073 1120 1096 1097T1120 1040V80ZM460 1360Q460 1319 431 1290T360 1260Q319 1260 290 1289T260 1360Q260 1401 289 1430T360 1460Q401 1460 430 1431T460 1360ZM940 1360Q940 1319 911 1290T840
+1260Q799 1260 770 1289T740 1360Q740 1401 769 1430T840 1460Q881 1460 910 1431T940 1360Z" />
+<glyph unicode="&#xfd;" glyph-name="yacute" horiz-adv-x="1120" d="M473 81L89 1003Q80 1020 80 1040Q80 1073 103 1096T160 1120Q193 1120 217 1097Q230 1083 236 1067L560 290L884 1067Q890 1083 904 1097Q927 1120 960 1120Q993 1120 1016 1097T1040 1040Q1040
+1020 1031 1003L435 -427Q429 -443 416 -456Q392 -480 359 -480Q326 -480 303 -457T279 -400Q279 -380 288 -363L473 81ZM805 1464L562 1221Q539 1200 507 1200Q474 1200 451 1223T427 1280Q427 1311 447 1334L690 1577Q714 1600 747 1600Q780 1600 803 1577T827
+1520Q827 1488 805 1464Z" />
+<glyph unicode="&#xfe;" glyph-name="thorn" horiz-adv-x="1280" d="M240 562Q240 396 357 279T640 162Q806 162 923 279T1040 562Q1040 728 923 845T640 962Q474 962 357 845T240 562ZM240 954Q408 1122 640 1122Q872 1122 1036 958T1200 562Q1200 330 1036 166T640
+2Q408 2 240 170V-400Q240 -433 217 -456T160 -480Q127 -480 104 -457T80 -400V1522Q80 1555 103 1578T160 1602Q193 1602 216 1579T240 1522V954Z" />
+<glyph unicode="&#xff;" glyph-name="ydieresis" horiz-adv-x="1120" d="M473 81L89 1003Q80 1020 80 1040Q80 1073 103 1096T160 1120Q193 1120 217 1097Q230 1083 236 1067L560 290L884 1067Q890 1083 904 1097Q927 1120 960 1120Q993 1120 1016 1097T1040 1040Q1040
+1020 1031 1003L435 -427Q429 -443 416 -456Q392 -480 359 -480Q326 -480 303 -457T279 -400Q279 -380 288 -363L473 81ZM420 1360Q420 1319 391 1290T320 1260Q279 1260 250 1289T220 1360Q220 1401 249 1430T320 1460Q361 1460 390 1431T420 1360ZM900 1360Q900
+1319 871 1290T800 1260Q759 1260 730 1289T700 1360Q700 1401 729 1430T800 1460Q841 1460 870 1431T900 1360Z" />
+<glyph unicode="&#x2013;" glyph-name="endash" horiz-adv-x="800" d="M0 480Q-33 480 -56 503T-80 560Q-80 593 -57 616T0 640H800Q833 640 856 617T880 560Q880 527 857 504T800 480H0Z" />
+<glyph unicode="&#x2014;" glyph-name="emdash" horiz-adv-x="1920" d="M0 480Q-33 480 -56 503T-80 560Q-80 593 -57 616T0 640H1920Q1953 640 1976 617T2000 560Q2000 527 1977 504T1920 480H0Z" />
+<glyph unicode="&#x2018;" glyph-name="quoteleft" horiz-adv-x="480" d="M373 1040Q373 999 344 970T273 940Q211 940 183 998Q120 1110 120 1225Q120 1400 272 1583Q289 1600 314 1600Q338 1600 355 1583T373 1541Q373 1527 368 1515Q270 1278 365 1080Q373
+1062 373 1040Z" />
+<glyph unicode="&#x2019;" glyph-name="quoteright" horiz-adv-x="480" d="M120 1500Q120 1541 149 1570T220 1600Q282 1600 310 1542Q373 1430 373 1315Q373 1140 221 957Q204 940 179 940Q155 940 138 957T120 999Q120 1013 125 1025Q223 1262 128 1460Q120
+1478 120 1500Z" />
+<glyph unicode="&#x201a;" glyph-name="quotesinglbase" horiz-adv-x="480" d="M120 219Q120 260 149 289T220 319Q282 319 310 261Q373 149 373 34Q373 -141 221 -324Q204 -341 179 -341Q155 -341 138 -324T120 -282Q120 -268 125 -256Q223 -19 128 179Q120 197
+120 219Z" />
+<glyph unicode="&#x201c;" glyph-name="quotedblleft" horiz-adv-x="760" d="M333 1042Q333 1001 304 972T233 942Q171 942 143 1000Q80 1112 80 1227Q80 1402 232 1585Q249 1602 274 1602Q298 1602 315 1585T333 1543Q333 1529 328 1517Q230 1280 325 1082Q333
+1064 333 1042ZM680 1042Q680 1001 651 972T580 942Q518 942 490 1000Q427 1112 427 1227Q427 1402 579 1585Q596 1602 621 1602Q645 1602 662 1585T680 1543Q680 1529 675 1517Q577 1280 672 1082Q680 1064 680 1042Z" />
+<glyph unicode="&#x201d;" glyph-name="quotedblright" horiz-adv-x="760" d="M427 1502Q427 1543 456 1572T527 1602Q589 1602 617 1544Q680 1432 680 1317Q680 1142 528 959Q511 942 486 942Q462 942 445 959T427 1001Q427 1015 432 1027Q530 1264 435 1462Q427
+1480 427 1502ZM80 1502Q80 1543 109 1572T180 1602Q242 1602 270 1544Q333 1432 333 1317Q333 1142 181 959Q164 942 139 942Q115 942 98 959T80 1001Q80 1015 85 1027Q183 1264 88 1462Q80 1480 80 1502Z" />
+<glyph unicode="&#x201e;" glyph-name="quotedblbase" horiz-adv-x="760" d="M427 220Q427 261 456 290T527 320Q589 320 617 262Q680 150 680 35Q680 -140 528 -323Q511 -340 486 -340Q462 -340 445 -323T427 -281Q427 -267 432 -255Q530 -18 435 180Q427 198
+427 220ZM80 220Q80 261 109 290T180 320Q242 320 270 262Q333 150 333 35Q333 -140 181 -323Q164 -340 139 -340Q115 -340 98 -323T80 -281Q80 -267 85 -255Q183 -18 88 180Q80 198 80 220Z" />
+<glyph unicode="&#x2022;" glyph-name="bullet" horiz-adv-x="800" d="M640 800Q640 701 570 631T400 560Q301 560 231 630T160 800Q160 899 230 969T400 1040Q499 1040 569 970T640 800Z" />
+<glyph unicode="&#x2039;" glyph-name="guilsinglleft" horiz-adv-x="560" d="M90 598L326 1070Q332 1084 344 1096Q367 1119 400 1119Q433 1119 456 1096T480 1039Q480 1021 473 1005L250 560L473 114Q480 98 480 80Q480 47 457 24T400 0Q367 0 344 24Q332 35
+326 49L92 516Q80 538 80 559Q80 579 90 598Z" />
+<glyph unicode="&#x203a;" glyph-name="guilsinglright" horiz-adv-x="560" d="M480 559Q480 538 468 516L234 49Q228 35 216 24Q193 0 160 0Q127 0 104 23T80 80Q80 98 87 114L310 560L87 1005Q80 1021 80 1039Q80 1072 103 1095T160 1119Q193 1119 216 1096Q228
+1084 234 1070L470 598Q480 579 480 559Z" />
+<hkern g1="A" g2="C" k="98" />
+<hkern g1="A" g2="G" k="98" />
+<hkern g1="A" g2="O" k="69" />
+<hkern g1="A" g2="Q" k="69" />
+<hkern g1="A" g2="T" k="179" />
+<hkern g1="A" g2="V" k="189" />
+<hkern g1="A" g2="W" k="116" />
+<hkern g1="A" g2="Y" k="179" />
+<hkern g1="A" g2="f" k="64" />
+<hkern g1="A" g2="j" k="186" />
+<hkern g1="A" g2="t" k="148" />
+<hkern g1="A" g2="v" k="225" />
+<hkern g1="A" g2="w" k="199" />
+<hkern g1="A" g2="y" k="256" />
+<hkern g1="A" g2="Ccedilla" k="98" />
+<hkern g1="A" g2="Eth" k="52" />
+<hkern g1="A" g2="Ograve" k="69" />
+<hkern g1="A" g2="Oacute" k="69" />
+<hkern g1="A" g2="Ocircumflex" k="69" />
+<hkern g1="A" g2="Otilde" k="69" />
+<hkern g1="A" g2="Odieresis" k="69" />
+<hkern g1="A" g2="Yacute" k="179" />
+<hkern g1="A" g2="yacute" k="256" />
+<hkern g1="A" g2="ydieresis" k="256" />
+<hkern g1="B" g2="T" k="158" />
+<hkern g1="B" g2="V" k="127" />
+<hkern g1="B" g2="W" k="100" />
+<hkern g1="B" g2="Y" k="157" />
+<hkern g1="B" g2="j" k="230" />
+<hkern g1="B" g2="x" k="65" />
+<hkern g1="B" g2="y" k="65" />
+<hkern g1="B" g2="Yacute" k="157" />
+<hkern g1="B" g2="yacute" k="65" />
+<hkern g1="B" g2="ydieresis" k="65" />
+<hkern g1="C" g2="C" k="74" />
+<hkern g1="C" g2="G" k="74" />
+<hkern g1="C" g2="O" k="45" />
+<hkern g1="C" g2="Q" k="45" />
+<hkern g1="C" g2="f" k="91" />
+<hkern g1="C" g2="j" k="256" />
+<hkern g1="C" g2="t" k="40" />
+<hkern g1="C" g2="v" k="84" />
+<hkern g1="C" g2="w" k="143" />
+<hkern g1="C" g2="y" k="116" />
+<hkern g1="C" g2="Ccedilla" k="74" />
+<hkern g1="C" g2="Ograve" k="45" />
+<hkern g1="C" g2="Oacute" k="45" />
+<hkern g1="C" g2="Ocircumflex" k="45" />
+<hkern g1="C" g2="Otilde" k="45" />
+<hkern g1="C" g2="Odieresis" k="45" />
+<hkern g1="C" g2="yacute" k="79" />
+<hkern g1="C" g2="ydieresis" k="62" />
+<hkern g1="D" g2="A" k="113" />
+<hkern g1="D" g2="T" k="143" />
+<hkern g1="D" g2="V" k="113" />
+<hkern g1="D" g2="X" k="175" />
+<hkern g1="D" g2="Y" k="175" />
+<hkern g1="D" g2="Z" k="207" />
+<hkern g1="D" g2="j" k="276" />
+<hkern g1="D" g2="Agrave" k="113" />
+<hkern g1="D" g2="Aacute" k="113" />
+<hkern g1="D" g2="Acircumflex" k="113" />
+<hkern g1="D" g2="Atilde" k="113" />
+<hkern g1="D" g2="Adieresis" k="113" />
+<hkern g1="D" g2="Aring" k="113" />
+<hkern g1="D" g2="AE" k="116" />
+<hkern g1="D" g2="Yacute" k="175" />
+<hkern g1="E" g2="C" k="128" />
+<hkern g1="E" g2="G" k="128" />
+<hkern g1="E" g2="O" k="130" />
+<hkern g1="E" g2="Q" k="130" />
+<hkern g1="E" g2="c" k="65" />
+<hkern g1="E" g2="f" k="62" />
+<hkern g1="E" g2="j" k="184" />
+<hkern g1="E" g2="t" k="62" />
+<hkern g1="E" g2="v" k="90" />
+<hkern g1="E" g2="w" k="166" />
+<hkern g1="E" g2="y" k="122" />
+<hkern g1="E" g2="Ccedilla" k="128" />
+<hkern g1="E" g2="Eth" k="50" />
+<hkern g1="E" g2="Ograve" k="130" />
+<hkern g1="E" g2="Oacute" k="130" />
+<hkern g1="E" g2="Ocircumflex" k="130" />
+<hkern g1="E" g2="Otilde" k="130" />
+<hkern g1="E" g2="Odieresis" k="130" />
+<hkern g1="E" g2="ae" k="48" />
+<hkern g1="E" g2="ccedilla" k="65" />
+<hkern g1="E" g2="eth" k="57" />
+<hkern g1="E" g2="yacute" k="109" />
+<hkern g1="E" g2="ydieresis" k="65" />
+<hkern g1="F" g2="A" k="183" />
+<hkern g1="F" g2="C" k="128" />
+<hkern g1="F" g2="G" k="128" />
+<hkern g1="F" g2="J" k="148" />
+<hkern g1="F" g2="O" k="130" />
+<hkern g1="F" g2="Q" k="130" />
+<hkern g1="F" g2="S" k="99" />
+<hkern g1="F" g2="a" k="206" />
+<hkern g1="F" g2="c" k="217" />
+<hkern g1="F" g2="d" k="225" />
+<hkern g1="F" g2="e" k="206" />
+<hkern g1="F" g2="f" k="157" />
+<hkern g1="F" g2="g" k="162" />
+<hkern g1="F" g2="j" k="222" />
+<hkern g1="F" g2="m" k="136" />
+<hkern g1="F" g2="n" k="129" />
+<hkern g1="F" g2="o" k="162" />
+<hkern g1="F" g2="p" k="162" />
+<hkern g1="F" g2="q" k="162" />
+<hkern g1="F" g2="r" k="126" />
+<hkern g1="F" g2="s" k="127" />
+<hkern g1="F" g2="t" k="62" />
+<hkern g1="F" g2="u" k="179" />
+<hkern g1="F" g2="v" k="192" />
+<hkern g1="F" g2="w" k="166" />
+<hkern g1="F" g2="x" k="254" />
+<hkern g1="F" g2="y" k="223" />
+<hkern g1="F" g2="z" k="60" />
+<hkern g1="F" g2="Agrave" k="183" />
+<hkern g1="F" g2="Aacute" k="175" />
+<hkern g1="F" g2="Acircumflex" k="183" />
+<hkern g1="F" g2="Atilde" k="167" />
+<hkern g1="F" g2="Adieresis" k="183" />
+<hkern g1="F" g2="Aring" k="198" />
+<hkern g1="F" g2="AE" k="285" />
+<hkern g1="F" g2="Ccedilla" k="128" />
+<hkern g1="F" g2="Eth" k="50" />
+<hkern g1="F" g2="Ograve" k="130" />
+<hkern g1="F" g2="Oacute" k="130" />
+<hkern g1="F" g2="Ocircumflex" k="130" />
+<hkern g1="F" g2="Otilde" k="130" />
+<hkern g1="F" g2="Odieresis" k="130" />
+<hkern g1="F" g2="Oslash" k="130" />
+<hkern g1="F" g2="agrave" k="162" />
+<hkern g1="F" g2="aacute" k="162" />
+<hkern g1="F" g2="acircumflex" k="162" />
+<hkern g1="F" g2="adieresis" k="130" />
+<hkern g1="F" g2="aring" k="162" />
+<hkern g1="F" g2="ae" k="174" />
+<hkern g1="F" g2="ccedilla" k="160" />
+<hkern g1="F" g2="egrave" k="162" />
+<hkern g1="F" g2="eacute" k="162" />
+<hkern g1="F" g2="ecircumflex" k="162" />
+<hkern g1="F" g2="edieresis" k="130" />
+<hkern g1="F" g2="eth" k="152" />
+<hkern g1="F" g2="ograve" k="162" />
+<hkern g1="F" g2="oacute" k="162" />
+<hkern g1="F" g2="ocircumflex" k="162" />
+<hkern g1="F" g2="odieresis" k="130" />
+<hkern g1="F" g2="oslash" k="162" />
+<hkern g1="F" g2="ugrave" k="129" />
+<hkern g1="F" g2="uacute" k="129" />
+<hkern g1="F" g2="ucircumflex" k="98" />
+<hkern g1="F" g2="udieresis" k="66" />
+<hkern g1="F" g2="yacute" k="223" />
+<hkern g1="F" g2="ydieresis" k="65" />
+<hkern g1="F" g2="dotlessi" k="196" />
+<hkern g1="G" g2="f" k="60" />
+<hkern g1="G" g2="j" k="198" />
+<hkern g1="G" g2="t" k="60" />
+<hkern g1="H" g2="j" k="159" />
+<hkern g1="I" g2="I" k="26" />
+<hkern g1="I" g2="j" k="192" />
+<hkern g1="I" g2="Igrave" k="60" />
+<hkern g1="I" g2="Iacute" k="66" />
+<hkern g1="I" g2="Icircumflex" k="73" />
+<hkern g1="I" g2="Idieresis" k="52" />
+<hkern g1="I" g2="dotlessi" k="51" />
+<hkern g1="J" g2="j" k="145" />
+<hkern g1="K" g2="C" k="194" />
+<hkern g1="K" g2="G" k="207" />
+<hkern g1="K" g2="O" k="177" />
+<hkern g1="K" g2="Q" k="177" />
+<hkern g1="K" g2="a" k="89" />
+<hkern g1="K" g2="c" k="81" />
+<hkern g1="K" g2="d" k="89" />
+<hkern g1="K" g2="e" k="83" />
+<hkern g1="K" g2="f" k="65" />
+<hkern g1="K" g2="j" k="180" />
+<hkern g1="K" g2="o" k="83" />
+<hkern g1="K" g2="q" k="83" />
+<hkern g1="K" g2="t" k="71" />
+<hkern g1="K" g2="v" k="117" />
+<hkern g1="K" g2="w" k="181" />
+<hkern g1="K" g2="y" k="71" />
+<hkern g1="K" g2="Ccedilla" k="105" />
+<hkern g1="K" g2="Ograve" k="177" />
+<hkern g1="K" g2="Oacute" k="177" />
+<hkern g1="K" g2="Ocircumflex" k="177" />
+<hkern g1="K" g2="Otilde" k="177" />
+<hkern g1="K" g2="Odieresis" k="177" />
+<hkern g1="K" g2="agrave" k="101" />
+<hkern g1="K" g2="aacute" k="83" />
+<hkern g1="K" g2="acircumflex" k="76" />
+<hkern g1="K" g2="atilde" k="70" />
+<hkern g1="K" g2="adieresis" k="83" />
+<hkern g1="K" g2="aring" k="76" />
+<hkern g1="K" g2="ae" k="95" />
+<hkern g1="K" g2="ccedilla" k="87" />
+<hkern g1="K" g2="egrave" k="76" />
+<hkern g1="K" g2="eacute" k="76" />
+<hkern g1="K" g2="ecircumflex" k="95" />
+<hkern g1="K" g2="edieresis" k="95" />
+<hkern g1="K" g2="eth" k="85" />
+<hkern g1="K" g2="ograve" k="76" />
+<hkern g1="K" g2="oacute" k="89" />
+<hkern g1="K" g2="ocircumflex" k="83" />
+<hkern g1="K" g2="otilde" k="76" />
+<hkern g1="K" g2="odieresis" k="95" />
+<hkern g1="K" g2="yacute" k="143" />
+<hkern g1="K" g2="ydieresis" k="158" />
+<hkern g1="L" g2="C" k="166" />
+<hkern g1="L" g2="G" k="151" />
+<hkern g1="L" g2="O" k="166" />
+<hkern g1="L" g2="Q" k="143" />
+<hkern g1="L" g2="T" k="316" />
+<hkern g1="L" g2="U" k="79" />
+<hkern g1="L" g2="V" k="277" />
+<hkern g1="L" g2="W" k="229" />
+<hkern g1="L" g2="Y" k="309" />
+<hkern g1="L" g2="a" k="51" />
+<hkern g1="L" g2="b" k="51" />
+<hkern g1="L" g2="c" k="81" />
+<hkern g1="L" g2="d" k="51" />
+<hkern g1="L" g2="e" k="51" />
+<hkern g1="L" g2="f" k="46" />
+<hkern g1="L" g2="j" k="221" />
+<hkern g1="L" g2="o" k="51" />
+<hkern g1="L" g2="q" k="51" />
+<hkern g1="L" g2="t" k="109" />
+<hkern g1="L" g2="v" k="238" />
+<hkern g1="L" g2="w" k="181" />
+<hkern g1="L" g2="y" k="145" />
+<hkern g1="L" g2="Ccedilla" k="141" />
+<hkern g1="L" g2="Ograve" k="166" />
+<hkern g1="L" g2="Oacute" k="158" />
+<hkern g1="L" g2="Ocircumflex" k="182" />
+<hkern g1="L" g2="Otilde" k="151" />
+<hkern g1="L" g2="Odieresis" k="189" />
+<hkern g1="L" g2="Ugrave" k="79" />
+<hkern g1="L" g2="Uacute" k="79" />
+<hkern g1="L" g2="Ucircumflex" k="79" />
+<hkern g1="L" g2="Udieresis" k="79" />
+<hkern g1="L" g2="Yacute" k="277" />
+<hkern g1="L" g2="agrave" k="51" />
+<hkern g1="L" g2="aacute" k="51" />
+<hkern g1="L" g2="acircumflex" k="51" />
+<hkern g1="L" g2="atilde" k="51" />
+<hkern g1="L" g2="adieresis" k="51" />
+<hkern g1="L" g2="aring" k="51" />
+<hkern g1="L" g2="ae" k="63" />
+<hkern g1="L" g2="ccedilla" k="81" />
+<hkern g1="L" g2="egrave" k="51" />
+<hkern g1="L" g2="eacute" k="51" />
+<hkern g1="L" g2="ecircumflex" k="51" />
+<hkern g1="L" g2="edieresis" k="51" />
+<hkern g1="L" g2="eth" k="41" />
+<hkern g1="L" g2="ograve" k="51" />
+<hkern g1="L" g2="oacute" k="51" />
+<hkern g1="L" g2="ocircumflex" k="51" />
+<hkern g1="L" g2="otilde" k="51" />
+<hkern g1="L" g2="odieresis" k="51" />
+<hkern g1="L" g2="yacute" k="131" />
+<hkern g1="L" g2="ydieresis" k="154" />
+<hkern g1="M" g2="j" k="189" />
+<hkern g1="N" g2="j" k="177" />
+<hkern g1="O" g2="A" k="131" />
+<hkern g1="O" g2="S" k="65" />
+<hkern g1="O" g2="T" k="106" />
+<hkern g1="O" g2="V" k="131" />
+<hkern g1="O" g2="W" k="73" />
+<hkern g1="O" g2="X" k="224" />
+<hkern g1="O" g2="Y" k="224" />
+<hkern g1="O" g2="Z" k="225" />
+<hkern g1="O" g2="j" k="255" />
+<hkern g1="O" g2="Agrave" k="131" />
+<hkern g1="O" g2="Aacute" k="131" />
+<hkern g1="O" g2="Acircumflex" k="131" />
+<hkern g1="O" g2="Atilde" k="131" />
+<hkern g1="O" g2="Adieresis" k="131" />
+<hkern g1="O" g2="Aring" k="131" />
+<hkern g1="O" g2="AE" k="165" />
+<hkern g1="O" g2="Yacute" k="224" />
+<hkern g1="P" g2="A" k="226" />
+<hkern g1="P" g2="J" k="176" />
+<hkern g1="P" g2="T" k="55" />
+<hkern g1="P" g2="X" k="54" />
+<hkern g1="P" g2="Y" k="54" />
+<hkern g1="P" g2="Z" k="55" />
+<hkern g1="P" g2="j" k="243" />
+<hkern g1="P" g2="Agrave" k="195" />
+<hkern g1="P" g2="Aacute" k="242" />
+<hkern g1="P" g2="Acircumflex" k="250" />
+<hkern g1="P" g2="Atilde" k="211" />
+<hkern g1="P" g2="Adieresis" k="203" />
+<hkern g1="P" g2="Aring" k="234" />
+<hkern g1="P" g2="AE" k="321" />
+<hkern g1="P" g2="Yacute" k="54" />
+<hkern g1="Q" g2="T" k="139" />
+<hkern g1="Q" g2="V" k="131" />
+<hkern g1="Q" g2="W" k="73" />
+<hkern g1="Q" g2="Y" k="224" />
+<hkern g1="Q" g2="j" k="163" />
+<hkern g1="Q" g2="Yacute" k="224" />
+<hkern g1="R" g2="J" k="95" />
+<hkern g1="R" g2="T" k="111" />
+<hkern g1="R" g2="V" k="80" />
+<hkern g1="R" g2="Y" k="110" />
+<hkern g1="R" g2="a" k="101" />
+<hkern g1="R" g2="c" k="106" />
+<hkern g1="R" g2="d" k="89" />
+<hkern g1="R" g2="e" k="95" />
+<hkern g1="R" g2="j" k="150" />
+<hkern g1="R" g2="o" k="89" />
+<hkern g1="R" g2="q" k="76" />
+<hkern g1="R" g2="Yacute" k="110" />
+<hkern g1="R" g2="agrave" k="83" />
+<hkern g1="R" g2="aacute" k="89" />
+<hkern g1="R" g2="acircumflex" k="76" />
+<hkern g1="R" g2="atilde" k="76" />
+<hkern g1="R" g2="adieresis" k="76" />
+<hkern g1="R" g2="aring" k="76" />
+<hkern g1="R" g2="ae" k="82" />
+<hkern g1="R" g2="ccedilla" k="81" />
+<hkern g1="R" g2="egrave" k="83" />
+<hkern g1="R" g2="eacute" k="95" />
+<hkern g1="R" g2="ecircumflex" k="89" />
+<hkern g1="R" g2="edieresis" k="83" />
+<hkern g1="R" g2="eth" k="73" />
+<hkern g1="R" g2="ograve" k="95" />
+<hkern g1="R" g2="oacute" k="95" />
+<hkern g1="R" g2="ocircumflex" k="83" />
+<hkern g1="R" g2="otilde" k="70" />
+<hkern g1="R" g2="odieresis" k="76" />
+<hkern g1="S" g2="j" k="179" />
+<hkern g1="S" g2="y" k="68" />
+<hkern g1="S" g2="yacute" k="68" />
+<hkern g1="S" g2="ydieresis" k="68" />
+<hkern g1="T" g2="A" k="324" />
+<hkern g1="T" g2="C" k="190" />
+<hkern g1="T" g2="G" k="159" />
+<hkern g1="T" g2="J" k="269" />
+<hkern g1="T" g2="O" k="128" />
+<hkern g1="T" g2="Q" k="167" />
+<hkern g1="T" g2="S" k="46" />
+<hkern g1="T" g2="a" k="277" />
+<hkern g1="T" g2="c" k="308" />
+<hkern g1="T" g2="d" k="238" />
+<hkern g1="T" g2="e" k="285" />
+<hkern g1="T" g2="f" k="190" />
+<hkern g1="T" g2="g" k="243" />
+<hkern g1="T" g2="j" k="270" />
+<hkern g1="T" g2="m" k="204" />
+<hkern g1="T" g2="n" k="182" />
+<hkern g1="T" g2="o" k="238" />
+<hkern g1="T" g2="p" k="244" />
+<hkern g1="T" g2="q" k="258" />
+<hkern g1="T" g2="r" k="95" />
+<hkern g1="T" g2="s" k="137" />
+<hkern g1="T" g2="t" k="47" />
+<hkern g1="T" g2="u" k="114" />
+<hkern g1="T" g2="v" k="152" />
+<hkern g1="T" g2="w" k="114" />
+<hkern g1="T" g2="x" k="137" />
+<hkern g1="T" g2="y" k="146" />
+<hkern g1="T" g2="z" k="90" />
+<hkern g1="T" g2="Agrave" k="168" />
+<hkern g1="T" g2="Aacute" k="152" />
+<hkern g1="T" g2="Acircumflex" k="160" />
+<hkern g1="T" g2="Atilde" k="191" />
+<hkern g1="T" g2="Adieresis" k="176" />
+<hkern g1="T" g2="Aring" k="191" />
+<hkern g1="T" g2="AE" k="277" />
+<hkern g1="T" g2="Ccedilla" k="94" />
+<hkern g1="T" g2="Ograve" k="151" />
+<hkern g1="T" g2="Oacute" k="174" />
+<hkern g1="T" g2="Ocircumflex" k="151" />
+<hkern g1="T" g2="Otilde" k="159" />
+<hkern g1="T" g2="Odieresis" k="174" />
+<hkern g1="T" g2="Oslash" k="174" />
+<hkern g1="T" g2="agrave" k="214" />
+<hkern g1="T" g2="aacute" k="238" />
+<hkern g1="T" g2="acircumflex" k="175" />
+<hkern g1="T" g2="atilde" k="147" />
+<hkern g1="T" g2="adieresis" k="238" />
+<hkern g1="T" g2="aring" k="112" />
+<hkern g1="T" g2="ae" k="277" />
+<hkern g1="T" g2="ccedilla" k="278" />
+<hkern g1="T" g2="egrave" k="214" />
+<hkern g1="T" g2="eacute" k="238" />
+<hkern g1="T" g2="ecircumflex" k="175" />
+<hkern g1="T" g2="edieresis" k="238" />
+<hkern g1="T" g2="idieresis" k="17" />
+<hkern g1="T" g2="eth" k="175" />
+<hkern g1="T" g2="ograve" k="175" />
+<hkern g1="T" g2="oacute" k="160" />
+<hkern g1="T" g2="ocircumflex" k="175" />
+<hkern g1="T" g2="otilde" k="52" />
+<hkern g1="T" g2="odieresis" k="152" />
+<hkern g1="T" g2="oslash" k="152" />
+<hkern g1="T" g2="ugrave" k="82" />
+<hkern g1="T" g2="uacute" k="145" />
+<hkern g1="T" g2="ucircumflex" k="175" />
+<hkern g1="T" g2="udieresis" k="121" />
+<hkern g1="T" g2="yacute" k="171" />
+<hkern g1="T" g2="ydieresis" k="162" />
+<hkern g1="T" g2="dotlessi" k="288" />
+<hkern g1="U" g2="j" k="187" />
+<hkern g1="V" g2="A" k="232" />
+<hkern g1="V" g2="C" k="98" />
+<hkern g1="V" g2="G" k="98" />
+<hkern g1="V" g2="J" k="214" />
+<hkern g1="V" g2="O" k="69" />
+<hkern g1="V" g2="Q" k="69" />
+<hkern g1="V" g2="S" k="63" />
+<hkern g1="V" g2="a" k="195" />
+<hkern g1="V" g2="c" k="224" />
+<hkern g1="V" g2="d" k="195" />
+<hkern g1="V" g2="e" k="195" />
+<hkern g1="V" g2="f" k="95" />
+<hkern g1="V" g2="g" k="195" />
+<hkern g1="V" g2="j" k="270" />
+<hkern g1="V" g2="m" k="75" />
+<hkern g1="V" g2="o" k="195" />
+<hkern g1="V" g2="p" k="195" />
+<hkern g1="V" g2="q" k="195" />
+<hkern g1="V" g2="r" k="65" />
+<hkern g1="V" g2="s" k="160" />
+<hkern g1="V" g2="t" k="64" />
+<hkern g1="V" g2="w" k="73" />
+<hkern g1="V" g2="x" k="67" />
+<hkern g1="V" g2="y" k="67" />
+<hkern g1="V" g2="z" k="67" />
+<hkern g1="V" g2="Agrave" k="232" />
+<hkern g1="V" g2="Aacute" k="232" />
+<hkern g1="V" g2="Acircumflex" k="232" />
+<hkern g1="V" g2="Atilde" k="232" />
+<hkern g1="V" g2="Adieresis" k="232" />
+<hkern g1="V" g2="Aring" k="232" />
+<hkern g1="V" g2="AE" k="239" />
+<hkern g1="V" g2="Ccedilla" k="98" />
+<hkern g1="V" g2="Eth" k="52" />
+<hkern g1="V" g2="Ograve" k="69" />
+<hkern g1="V" g2="Oacute" k="69" />
+<hkern g1="V" g2="Ocircumflex" k="69" />
+<hkern g1="V" g2="Otilde" k="69" />
+<hkern g1="V" g2="Odieresis" k="69" />
+<hkern g1="V" g2="Oslash" k="69" />
+<hkern g1="V" g2="agrave" k="195" />
+<hkern g1="V" g2="aacute" k="195" />
+<hkern g1="V" g2="acircumflex" k="163" />
+<hkern g1="V" g2="adieresis" k="132" />
+<hkern g1="V" g2="aring" k="195" />
+<hkern g1="V" g2="ae" k="207" />
+<hkern g1="V" g2="ccedilla" k="130" />
+<hkern g1="V" g2="egrave" k="195" />
+<hkern g1="V" g2="eacute" k="195" />
+<hkern g1="V" g2="ecircumflex" k="163" />
+<hkern g1="V" g2="edieresis" k="132" />
+<hkern g1="V" g2="eth" k="216" />
+<hkern g1="V" g2="ograve" k="195" />
+<hkern g1="V" g2="oacute" k="195" />
+<hkern g1="V" g2="ocircumflex" k="163" />
+<hkern g1="V" g2="odieresis" k="132" />
+<hkern g1="V" g2="oslash" k="195" />
+<hkern g1="V" g2="yacute" k="67" />
+<hkern g1="V" g2="ydieresis" k="67" />
+<hkern g1="V" g2="dotlessi" k="135" />
+<hkern g1="W" g2="A" k="151" />
+<hkern g1="W" g2="C" k="101" />
+<hkern g1="W" g2="G" k="101" />
+<hkern g1="W" g2="J" k="191" />
+<hkern g1="W" g2="O" k="71" />
+<hkern g1="W" g2="Q" k="71" />
+<hkern g1="W" g2="S" k="65" />
+<hkern g1="W" g2="a" k="134" />
+<hkern g1="W" g2="c" k="164" />
+<hkern g1="W" g2="d" k="134" />
+<hkern g1="W" g2="e" k="134" />
+<hkern g1="W" g2="f" k="66" />
+<hkern g1="W" g2="g" k="134" />
+<hkern g1="W" g2="j" k="222" />
+<hkern g1="W" g2="m" k="46" />
+<hkern g1="W" g2="o" k="134" />
+<hkern g1="W" g2="p" k="134" />
+<hkern g1="W" g2="q" k="134" />
+<hkern g1="W" g2="r" k="67" />
+<hkern g1="W" g2="s" k="131" />
+<hkern g1="W" g2="t" k="66" />
+<hkern g1="W" g2="w" k="44" />
+<hkern g1="W" g2="x" k="69" />
+<hkern g1="W" g2="y" k="69" />
+<hkern g1="W" g2="z" k="69" />
+<hkern g1="W" g2="Agrave" k="159" />
+<hkern g1="W" g2="Aacute" k="159" />
+<hkern g1="W" g2="Acircumflex" k="183" />
+<hkern g1="W" g2="Atilde" k="159" />
+<hkern g1="W" g2="Adieresis" k="136" />
+<hkern g1="W" g2="Aring" k="190" />
+<hkern g1="W" g2="AE" k="167" />
+<hkern g1="W" g2="Ccedilla" k="101" />
+<hkern g1="W" g2="Ograve" k="71" />
+<hkern g1="W" g2="Oacute" k="71" />
+<hkern g1="W" g2="Ocircumflex" k="71" />
+<hkern g1="W" g2="Otilde" k="71" />
+<hkern g1="W" g2="Odieresis" k="71" />
+<hkern g1="W" g2="Oslash" k="71" />
+<hkern g1="W" g2="agrave" k="134" />
+<hkern g1="W" g2="aacute" k="134" />
+<hkern g1="W" g2="acircumflex" k="134" />
+<hkern g1="W" g2="atilde" k="71" />
+<hkern g1="W" g2="adieresis" k="134" />
+<hkern g1="W" g2="aring" k="134" />
+<hkern g1="W" g2="ae" k="178" />
+<hkern g1="W" g2="ccedilla" k="164" />
+<hkern g1="W" g2="egrave" k="134" />
+<hkern g1="W" g2="eacute" k="134" />
+<hkern g1="W" g2="ecircumflex" k="134" />
+<hkern g1="W" g2="edieresis" k="134" />
+<hkern g1="W" g2="eth" k="156" />
+<hkern g1="W" g2="ograve" k="134" />
+<hkern g1="W" g2="oacute" k="134" />
+<hkern g1="W" g2="ocircumflex" k="134" />
+<hkern g1="W" g2="otilde" k="71" />
+<hkern g1="W" g2="odieresis" k="134" />
+<hkern g1="W" g2="oslash" k="134" />
+<hkern g1="W" g2="yacute" k="69" />
+<hkern g1="W" g2="ydieresis" k="69" />
+<hkern g1="W" g2="dotlessi" k="106" />
+<hkern g1="X" g2="C" k="194" />
+<hkern g1="X" g2="G" k="140" />
+<hkern g1="X" g2="O" k="164" />
+<hkern g1="X" g2="Q" k="164" />
+<hkern g1="X" g2="c" k="68" />
+<hkern g1="X" g2="f" k="65" />
+<hkern g1="X" g2="j" k="133" />
+<hkern g1="X" g2="t" k="65" />
+<hkern g1="X" g2="v" k="163" />
+<hkern g1="X" g2="w" k="200" />
+<hkern g1="X" g2="y" k="103" />
+<hkern g1="X" g2="Ccedilla" k="114" />
+<hkern g1="X" g2="Eth" k="53" />
+<hkern g1="X" g2="Ograve" k="109" />
+<hkern g1="X" g2="Oacute" k="164" />
+<hkern g1="X" g2="Ocircumflex" k="109" />
+<hkern g1="X" g2="Otilde" k="109" />
+<hkern g1="X" g2="Odieresis" k="164" />
+<hkern g1="X" g2="ae" k="82" />
+<hkern g1="X" g2="ccedilla" k="68" />
+<hkern g1="X" g2="eth" k="60" />
+<hkern g1="X" g2="yacute" k="128" />
+<hkern g1="X" g2="ydieresis" k="111" />
+<hkern g1="Y" g2="A" k="240" />
+<hkern g1="Y" g2="C" k="160" />
+<hkern g1="Y" g2="G" k="160" />
+<hkern g1="Y" g2="J" k="193" />
+<hkern g1="Y" g2="O" k="130" />
+<hkern g1="Y" g2="Q" k="130" />
+<hkern g1="Y" g2="S" k="61" />
+<hkern g1="Y" g2="a" k="170" />
+<hkern g1="Y" g2="c" k="162" />
+<hkern g1="Y" g2="d" k="162" />
+<hkern g1="Y" g2="e" k="162" />
+<hkern g1="Y" g2="f" k="157" />
+<hkern g1="Y" g2="g" k="167" />
+<hkern g1="Y" g2="j" k="201" />
+<hkern g1="Y" g2="m" k="168" />
+<hkern g1="Y" g2="n" k="129" />
+<hkern g1="Y" g2="o" k="193" />
+<hkern g1="Y" g2="p" k="168" />
+<hkern g1="Y" g2="q" k="182" />
+<hkern g1="Y" g2="r" k="158" />
+<hkern g1="Y" g2="s" k="131" />
+<hkern g1="Y" g2="t" k="62" />
+<hkern g1="Y" g2="u" k="129" />
+<hkern g1="Y" g2="v" k="129" />
+<hkern g1="Y" g2="w" k="166" />
+<hkern g1="Y" g2="x" k="160" />
+<hkern g1="Y" g2="y" k="160" />
+<hkern g1="Y" g2="z" k="160" />
+<hkern g1="Y" g2="Agrave" k="193" />
+<hkern g1="Y" g2="Aacute" k="162" />
+<hkern g1="Y" g2="Acircumflex" k="162" />
+<hkern g1="Y" g2="Atilde" k="162" />
+<hkern g1="Y" g2="Adieresis" k="162" />
+<hkern g1="Y" g2="Aring" k="162" />
+<hkern g1="Y" g2="AE" k="162" />
+<hkern g1="Y" g2="Ccedilla" k="160" />
+<hkern g1="Y" g2="Eth" k="50" />
+<hkern g1="Y" g2="Ograve" k="130" />
+<hkern g1="Y" g2="Oacute" k="130" />
+<hkern g1="Y" g2="Ocircumflex" k="130" />
+<hkern g1="Y" g2="Otilde" k="130" />
+<hkern g1="Y" g2="Odieresis" k="130" />
+<hkern g1="Y" g2="Oslash" k="130" />
+<hkern g1="Y" g2="agrave" k="162" />
+<hkern g1="Y" g2="aacute" k="162" />
+<hkern g1="Y" g2="acircumflex" k="131" />
+<hkern g1="Y" g2="atilde" k="67" />
+<hkern g1="Y" g2="adieresis" k="131" />
+<hkern g1="Y" g2="aring" k="99" />
+<hkern g1="Y" g2="ae" k="162" />
+<hkern g1="Y" g2="ccedilla" k="171" />
+<hkern g1="Y" g2="egrave" k="162" />
+<hkern g1="Y" g2="eacute" k="162" />
+<hkern g1="Y" g2="ecircumflex" k="131" />
+<hkern g1="Y" g2="edieresis" k="131" />
+<hkern g1="Y" g2="eth" k="162" />
+<hkern g1="Y" g2="ograve" k="162" />
+<hkern g1="Y" g2="oacute" k="162" />
+<hkern g1="Y" g2="ocircumflex" k="131" />
+<hkern g1="Y" g2="otilde" k="67" />
+<hkern g1="Y" g2="odieresis" k="131" />
+<hkern g1="Y" g2="oslash" k="162" />
+<hkern g1="Y" g2="ugrave" k="129" />
+<hkern g1="Y" g2="uacute" k="129" />
+<hkern g1="Y" g2="ucircumflex" k="129" />
+<hkern g1="Y" g2="udieresis" k="98" />
+<hkern g1="Y" g2="yacute" k="160" />
+<hkern g1="Y" g2="ydieresis" k="97" />
+<hkern g1="Y" g2="dotlessi" k="228" />
+<hkern g1="Z" g2="C" k="193" />
+<hkern g1="Z" g2="G" k="193" />
+<hkern g1="Z" g2="O" k="163" />
+<hkern g1="Z" g2="Q" k="163" />
+<hkern g1="Z" g2="a" k="69" />
+<hkern g1="Z" g2="c" k="98" />
+<hkern g1="Z" g2="d" k="69" />
+<hkern g1="Z" g2="e" k="69" />
+<hkern g1="Z" g2="f" k="64" />
+<hkern g1="Z" g2="j" k="115" />
+<hkern g1="Z" g2="o" k="69" />
+<hkern g1="Z" g2="q" k="69" />
+<hkern g1="Z" g2="t" k="64" />
+<hkern g1="Z" g2="v" k="162" />
+<hkern g1="Z" g2="w" k="199" />
+<hkern g1="Z" g2="y" k="193" />
+<hkern g1="Z" g2="Ccedilla" k="193" />
+<hkern g1="Z" g2="Eth" k="52" />
+<hkern g1="Z" g2="Ograve" k="163" />
+<hkern g1="Z" g2="Oacute" k="163" />
+<hkern g1="Z" g2="Ocircumflex" k="163" />
+<hkern g1="Z" g2="Otilde" k="163" />
+<hkern g1="Z" g2="Odieresis" k="163" />
+<hkern g1="Z" g2="agrave" k="69" />
+<hkern g1="Z" g2="aacute" k="69" />
+<hkern g1="Z" g2="acircumflex" k="69" />
+<hkern g1="Z" g2="adieresis" k="69" />
+<hkern g1="Z" g2="aring" k="69" />
+<hkern g1="Z" g2="ae" k="81" />
+<hkern g1="Z" g2="ccedilla" k="98" />
+<hkern g1="Z" g2="egrave" k="69" />
+<hkern g1="Z" g2="eacute" k="69" />
+<hkern g1="Z" g2="ecircumflex" k="69" />
+<hkern g1="Z" g2="edieresis" k="69" />
+<hkern g1="Z" g2="eth" k="59" />
+<hkern g1="Z" g2="ograve" k="69" />
+<hkern g1="Z" g2="oacute" k="69" />
+<hkern g1="Z" g2="ocircumflex" k="69" />
+<hkern g1="Z" g2="odieresis" k="69" />
+<hkern g1="Z" g2="yacute" k="193" />
+<hkern g1="Z" g2="ydieresis" k="67" />
+<hkern g1="underscore" g2="underscore" k="39" />
+<hkern g1="a" g2="T" k="353" />
+<hkern g1="a" g2="V" k="249" />
+<hkern g1="a" g2="W" k="160" />
+<hkern g1="a" g2="Y" k="306" />
+<hkern g1="a" g2="f" k="58" />
+<hkern g1="a" g2="j" k="259" />
+<hkern g1="a" g2="t" k="90" />
+<hkern g1="a" g2="v" k="62" />
+<hkern g1="a" g2="y" k="61" />
+<hkern g1="a" g2="Yacute" k="298" />
+<hkern g1="a" g2="icircumflex" k="58" />
+<hkern g1="a" g2="idieresis" k="65" />
+<hkern g1="a" g2="yacute" k="61" />
+<hkern g1="a" g2="ydieresis" k="61" />
+<hkern g1="b" g2="A" k="60" />
+<hkern g1="b" g2="T" k="279" />
+<hkern g1="b" g2="V" k="129" />
+<hkern g1="b" g2="W" k="160" />
+<hkern g1="b" g2="X" k="122" />
+<hkern g1="b" g2="Y" k="294" />
+<hkern g1="b" g2="Z" k="123" />
+<hkern g1="b" g2="f" k="58" />
+<hkern g1="b" g2="j" k="199" />
+<hkern g1="b" g2="t" k="90" />
+<hkern g1="b" g2="v" k="62" />
+<hkern g1="b" g2="x" k="93" />
+<hkern g1="b" g2="y" k="61" />
+<hkern g1="b" g2="z" k="93" />
+<hkern g1="b" g2="Agrave" k="60" />
+<hkern g1="b" g2="Aacute" k="60" />
+<hkern g1="b" g2="Acircumflex" k="60" />
+<hkern g1="b" g2="Atilde" k="60" />
+<hkern g1="b" g2="Adieresis" k="60" />
+<hkern g1="b" g2="Aring" k="60" />
+<hkern g1="b" g2="AE" k="63" />
+<hkern g1="b" g2="Yacute" k="256" />
+<hkern g1="b" g2="icircumflex" k="58" />
+<hkern g1="b" g2="idieresis" k="65" />
+<hkern g1="b" g2="yacute" k="61" />
+<hkern g1="b" g2="ydieresis" k="61" />
+<hkern g1="c" g2="T" k="281" />
+<hkern g1="c" g2="V" k="123" />
+<hkern g1="c" g2="Y" k="148" />
+<hkern g1="c" g2="j" k="172" />
+<hkern g1="c" g2="Yacute" k="148" />
+<hkern g1="d" g2="A" k="60" />
+<hkern g1="d" g2="j" k="154" />
+<hkern g1="d" g2="Agrave" k="60" />
+<hkern g1="d" g2="Aacute" k="60" />
+<hkern g1="d" g2="Acircumflex" k="60" />
+<hkern g1="d" g2="Atilde" k="60" />
+<hkern g1="d" g2="Adieresis" k="60" />
+<hkern g1="d" g2="Aring" k="60" />
+<hkern g1="d" g2="AE" k="63" />
+<hkern g1="e" g2="A" k="92" />
+<hkern g1="e" g2="T" k="316" />
+<hkern g1="e" g2="V" k="249" />
+<hkern g1="e" g2="W" k="160" />
+<hkern g1="e" g2="X" k="122" />
+<hkern g1="e" g2="Y" k="246" />
+<hkern g1="e" g2="Z" k="123" />
+<hkern g1="e" g2="f" k="58" />
+<hkern g1="e" g2="j" k="229" />
+<hkern g1="e" g2="t" k="90" />
+<hkern g1="e" g2="v" k="62" />
+<hkern g1="e" g2="x" k="93" />
+<hkern g1="e" g2="y" k="61" />
+<hkern g1="e" g2="z" k="93" />
+<hkern g1="e" g2="Agrave" k="92" />
+<hkern g1="e" g2="Aacute" k="92" />
+<hkern g1="e" g2="Acircumflex" k="92" />
+<hkern g1="e" g2="Atilde" k="92" />
+<hkern g1="e" g2="Adieresis" k="92" />
+<hkern g1="e" g2="Aring" k="92" />
+<hkern g1="e" g2="AE" k="95" />
+<hkern g1="e" g2="Yacute" k="215" />
+<hkern g1="e" g2="icircumflex" k="58" />
+<hkern g1="e" g2="idieresis" k="65" />
+<hkern g1="e" g2="yacute" k="61" />
+<hkern g1="e" g2="ydieresis" k="61" />
+<hkern g1="f" g2="A" k="124" />
+<hkern g1="f" g2="J" k="178" />
+<hkern g1="f" g2="j" k="242" />
+<hkern g1="f" g2="Agrave" k="124" />
+<hkern g1="f" g2="Aacute" k="77" />
+<hkern g1="f" g2="Acircumflex" k="77" />
+<hkern g1="f" g2="Atilde" k="77" />
+<hkern g1="f" g2="Adieresis" k="77" />
+<hkern g1="f" g2="Aring" k="77" />
+<hkern g1="f" g2="AE" k="139" />
+<hkern g1="g" g2="T" k="285" />
+<hkern g1="g" g2="V" k="249" />
+<hkern g1="g" g2="W" k="160" />
+<hkern g1="g" g2="Y" k="254" />
+<hkern g1="g" g2="f" k="58" />
+<hkern g1="g" g2="t" k="90" />
+<hkern g1="g" g2="v" k="62" />
+<hkern g1="g" g2="y" k="61" />
+<hkern g1="g" g2="Yacute" k="254" />
+<hkern g1="g" g2="icircumflex" k="58" />
+<hkern g1="g" g2="idieresis" k="65" />
+<hkern g1="g" g2="yacute" k="61" />
+<hkern g1="g" g2="ydieresis" k="61" />
+<hkern g1="h" g2="T" k="308" />
+<hkern g1="h" g2="V" k="233" />
+<hkern g1="h" g2="W" k="144" />
+<hkern g1="h" g2="Y" k="261" />
+<hkern g1="h" g2="f" k="42" />
+<hkern g1="h" g2="j" k="198" />
+<hkern g1="h" g2="t" k="74" />
+<hkern g1="h" g2="v" k="46" />
+<hkern g1="h" g2="y" k="45" />
+<hkern g1="h" g2="Yacute" k="261" />
+<hkern g1="h" g2="icircumflex" k="42" />
+<hkern g1="h" g2="idieresis" k="49" />
+<hkern g1="h" g2="yacute" k="45" />
+<hkern g1="h" g2="ydieresis" k="45" />
+<hkern g1="i" g2="j" k="171" />
+<hkern g1="k" g2="T" k="251" />
+<hkern g1="k" g2="V" k="91" />
+<hkern g1="k" g2="Y" k="185" />
+<hkern g1="k" g2="a" k="63" />
+<hkern g1="k" g2="c" k="92" />
+<hkern g1="k" g2="d" k="63" />
+<hkern g1="k" g2="e" k="63" />
+<hkern g1="k" g2="j" k="156" />
+<hkern g1="k" g2="o" k="63" />
+<hkern g1="k" g2="q" k="63" />
+<hkern g1="k" g2="Yacute" k="185" />
+<hkern g1="k" g2="agrave" k="63" />
+<hkern g1="k" g2="aacute" k="63" />
+<hkern g1="k" g2="acircumflex" k="63" />
+<hkern g1="k" g2="atilde" k="63" />
+<hkern g1="k" g2="adieresis" k="63" />
+<hkern g1="k" g2="aring" k="63" />
+<hkern g1="k" g2="ae" k="75" />
+<hkern g1="k" g2="ccedilla" k="92" />
+<hkern g1="k" g2="egrave" k="63" />
+<hkern g1="k" g2="eacute" k="63" />
+<hkern g1="k" g2="ecircumflex" k="63" />
+<hkern g1="k" g2="edieresis" k="63" />
+<hkern g1="k" g2="eth" k="53" />
+<hkern g1="k" g2="ograve" k="63" />
+<hkern g1="k" g2="oacute" k="63" />
+<hkern g1="k" g2="ocircumflex" k="63" />
+<hkern g1="k" g2="otilde" k="63" />
+<hkern g1="k" g2="odieresis" k="63" />
+<hkern g1="l" g2="j" k="153" />
+<hkern g1="l" g2="ae" k="41" />
+<hkern g1="m" g2="T" k="260" />
+<hkern g1="m" g2="V" k="219" />
+<hkern g1="m" g2="W" k="130" />
+<hkern g1="m" g2="Y" k="221" />
+<hkern g1="m" g2="j" k="166" />
+<hkern g1="m" g2="t" k="60" />
+<hkern g1="m" g2="y" k="63" />
+<hkern g1="m" g2="Yacute" k="229" />
+<hkern g1="m" g2="icircumflex" k="60" />
+<hkern g1="m" g2="idieresis" k="67" />
+<hkern g1="m" g2="yacute" k="63" />
+<hkern g1="m" g2="ydieresis" k="63" />
+<hkern g1="n" g2="T" k="221" />
+<hkern g1="n" g2="V" k="233" />
+<hkern g1="n" g2="W" k="144" />
+<hkern g1="n" g2="Y" k="190" />
+<hkern g1="n" g2="f" k="42" />
+<hkern g1="n" g2="j" k="126" />
+<hkern g1="n" g2="t" k="74" />
+<hkern g1="n" g2="v" k="46" />
+<hkern g1="n" g2="y" k="45" />
+<hkern g1="n" g2="Yacute" k="221" />
+<hkern g1="n" g2="icircumflex" k="42" />
+<hkern g1="n" g2="idieresis" k="49" />
+<hkern g1="n" g2="yacute" k="45" />
+<hkern g1="n" g2="ydieresis" k="45" />
+<hkern g1="o" g2="A" k="60" />
+<hkern g1="o" g2="T" k="256" />
+<hkern g1="o" g2="V" k="249" />
+<hkern g1="o" g2="W" k="160" />
+<hkern g1="o" g2="X" k="122" />
+<hkern g1="o" g2="Y" k="225" />
+<hkern g1="o" g2="Z" k="123" />
+<hkern g1="o" g2="f" k="58" />
+<hkern g1="o" g2="j" k="201" />
+<hkern g1="o" g2="t" k="90" />
+<hkern g1="o" g2="v" k="62" />
+<hkern g1="o" g2="x" k="93" />
+<hkern g1="o" g2="y" k="61" />
+<hkern g1="o" g2="z" k="93" />
+<hkern g1="o" g2="Agrave" k="60" />
+<hkern g1="o" g2="Aacute" k="60" />
+<hkern g1="o" g2="Acircumflex" k="60" />
+<hkern g1="o" g2="Atilde" k="60" />
+<hkern g1="o" g2="Adieresis" k="60" />
+<hkern g1="o" g2="Aring" k="60" />
+<hkern g1="o" g2="AE" k="63" />
+<hkern g1="o" g2="Yacute" k="225" />
+<hkern g1="o" g2="icircumflex" k="58" />
+<hkern g1="o" g2="idieresis" k="65" />
+<hkern g1="o" g2="yacute" k="61" />
+<hkern g1="o" g2="ydieresis" k="61" />
+<hkern g1="p" g2="A" k="60" />
+<hkern g1="p" g2="T" k="297" />
+<hkern g1="p" g2="V" k="249" />
+<hkern g1="p" g2="W" k="160" />
+<hkern g1="p" g2="X" k="122" />
+<hkern g1="p" g2="Y" k="227" />
+<hkern g1="p" g2="Z" k="123" />
+<hkern g1="p" g2="f" k="58" />
+<hkern g1="p" g2="j" k="180" />
+<hkern g1="p" g2="t" k="90" />
+<hkern g1="p" g2="v" k="62" />
+<hkern g1="p" g2="x" k="93" />
+<hkern g1="p" g2="y" k="61" />
+<hkern g1="p" g2="z" k="93" />
+<hkern g1="p" g2="Agrave" k="60" />
+<hkern g1="p" g2="Aacute" k="60" />
+<hkern g1="p" g2="Acircumflex" k="60" />
+<hkern g1="p" g2="Atilde" k="60" />
+<hkern g1="p" g2="Adieresis" k="60" />
+<hkern g1="p" g2="Aring" k="60" />
+<hkern g1="p" g2="AE" k="63" />
+<hkern g1="p" g2="Yacute" k="227" />
+<hkern g1="p" g2="icircumflex" k="58" />
+<hkern g1="p" g2="idieresis" k="65" />
+<hkern g1="p" g2="yacute" k="61" />
+<hkern g1="p" g2="ydieresis" k="61" />
+<hkern g1="q" g2="T" k="263" />
+<hkern g1="q" g2="V" k="120" />
+<hkern g1="q" g2="W" k="160" />
+<hkern g1="q" g2="Y" k="247" />
+<hkern g1="q" g2="f" k="58" />
+<hkern g1="q" g2="t" k="90" />
+<hkern g1="q" g2="v" k="62" />
+<hkern g1="q" g2="y" k="61" />
+<hkern g1="q" g2="Yacute" k="247" />
+<hkern g1="q" g2="icircumflex" k="58" />
+<hkern g1="q" g2="idieresis" k="65" />
+<hkern g1="q" g2="yacute" k="61" />
+<hkern g1="q" g2="ydieresis" k="61" />
+<hkern g1="r" g2="A" k="185" />
+<hkern g1="r" g2="J" k="233" />
+<hkern g1="r" g2="T" k="224" />
+<hkern g1="r" g2="V" k="59" />
+<hkern g1="r" g2="X" k="216" />
+<hkern g1="r" g2="Y" k="153" />
+<hkern g1="r" g2="Z" k="201" />
+<hkern g1="r" g2="j" k="168" />
+<hkern g1="r" g2="Agrave" k="185" />
+<hkern g1="r" g2="Aacute" k="185" />
+<hkern g1="r" g2="Acircumflex" k="185" />
+<hkern g1="r" g2="Atilde" k="185" />
+<hkern g1="r" g2="Adieresis" k="185" />
+<hkern g1="r" g2="Aring" k="185" />
+<hkern g1="r" g2="AE" k="239" />
+<hkern g1="r" g2="Yacute" k="153" />
+<hkern g1="s" g2="T" k="233" />
+<hkern g1="s" g2="V" k="158" />
+<hkern g1="s" g2="W" k="69" />
+<hkern g1="s" g2="Y" k="256" />
+<hkern g1="s" g2="j" k="186" />
+<hkern g1="s" g2="Yacute" k="202" />
+<hkern g1="t" g2="T" k="184" />
+<hkern g1="t" g2="V" k="152" />
+<hkern g1="t" g2="W" k="63" />
+<hkern g1="t" g2="Y" k="183" />
+<hkern g1="t" g2="a" k="61" />
+<hkern g1="t" g2="c" k="90" />
+<hkern g1="t" g2="d" k="61" />
+<hkern g1="t" g2="e" k="61" />
+<hkern g1="t" g2="j" k="143" />
+<hkern g1="t" g2="o" k="61" />
+<hkern g1="t" g2="q" k="61" />
+<hkern g1="t" g2="Yacute" k="183" />
+<hkern g1="t" g2="agrave" k="61" />
+<hkern g1="t" g2="aacute" k="61" />
+<hkern g1="t" g2="acircumflex" k="61" />
+<hkern g1="t" g2="atilde" k="61" />
+<hkern g1="t" g2="adieresis" k="61" />
+<hkern g1="t" g2="aring" k="61" />
+<hkern g1="t" g2="ae" k="73" />
+<hkern g1="t" g2="ccedilla" k="90" />
+<hkern g1="t" g2="egrave" k="61" />
+<hkern g1="t" g2="eacute" k="61" />
+<hkern g1="t" g2="ecircumflex" k="61" />
+<hkern g1="t" g2="edieresis" k="61" />
+<hkern g1="t" g2="eth" k="51" />
+<hkern g1="t" g2="ograve" k="61" />
+<hkern g1="t" g2="oacute" k="61" />
+<hkern g1="t" g2="ocircumflex" k="61" />
+<hkern g1="t" g2="otilde" k="61" />
+<hkern g1="t" g2="odieresis" k="61" />
+<hkern g1="u" g2="T" k="248" />
+<hkern g1="u" g2="V" k="107" />
+<hkern g1="u" g2="W" k="49" />
+<hkern g1="u" g2="Y" k="201" />
+<hkern g1="u" g2="j" k="154" />
+<hkern g1="u" g2="Yacute" k="201" />
+<hkern g1="u" g2="icircumflex" k="42" />
+<hkern g1="u" g2="idieresis" k="49" />
+<hkern g1="v" g2="A" k="161" />
+<hkern g1="v" g2="J" k="167" />
+<hkern g1="v" g2="T" k="248" />
+<hkern g1="v" g2="V" k="107" />
+<hkern g1="v" g2="W" k="49" />
+<hkern g1="v" g2="X" k="232" />
+<hkern g1="v" g2="Y" k="201" />
+<hkern g1="v" g2="Z" k="240" />
+<hkern g1="v" g2="a" k="47" />
+<hkern g1="v" g2="c" k="77" />
+<hkern g1="v" g2="d" k="47" />
+<hkern g1="v" g2="e" k="47" />
+<hkern g1="v" g2="g" k="47" />
+<hkern g1="v" g2="j" k="216" />
+<hkern g1="v" g2="o" k="47" />
+<hkern g1="v" g2="p" k="47" />
+<hkern g1="v" g2="q" k="47" />
+<hkern g1="v" g2="Agrave" k="153" />
+<hkern g1="v" g2="Aacute" k="146" />
+<hkern g1="v" g2="Acircumflex" k="153" />
+<hkern g1="v" g2="Atilde" k="146" />
+<hkern g1="v" g2="Adieresis" k="161" />
+<hkern g1="v" g2="Aring" k="177" />
+<hkern g1="v" g2="AE" k="201" />
+<hkern g1="v" g2="Yacute" k="201" />
+<hkern g1="v" g2="agrave" k="47" />
+<hkern g1="v" g2="aacute" k="47" />
+<hkern g1="v" g2="acircumflex" k="47" />
+<hkern g1="v" g2="atilde" k="47" />
+<hkern g1="v" g2="adieresis" k="47" />
+<hkern g1="v" g2="aring" k="47" />
+<hkern g1="v" g2="ae" k="91" />
+<hkern g1="v" g2="ccedilla" k="77" />
+<hkern g1="v" g2="egrave" k="47" />
+<hkern g1="v" g2="eacute" k="47" />
+<hkern g1="v" g2="ecircumflex" k="47" />
+<hkern g1="v" g2="edieresis" k="47" />
+<hkern g1="v" g2="icircumflex" k="42" />
+<hkern g1="v" g2="idieresis" k="49" />
+<hkern g1="v" g2="eth" k="69" />
+<hkern g1="v" g2="ograve" k="47" />
+<hkern g1="v" g2="oacute" k="47" />
+<hkern g1="v" g2="ocircumflex" k="47" />
+<hkern g1="v" g2="otilde" k="47" />
+<hkern g1="v" g2="odieresis" k="47" />
+<hkern g1="v" g2="oslash" k="47" />
+<hkern g1="w" g2="A" k="250" />
+<hkern g1="w" g2="J" k="90" />
+<hkern g1="w" g2="T" k="330" />
+<hkern g1="w" g2="V" k="124" />
+<hkern g1="w" g2="X" k="218" />
+<hkern g1="w" g2="Y" k="133" />
+<hkern g1="w" g2="Z" k="219" />
+<hkern g1="w" g2="j" k="220" />
+<hkern g1="w" g2="Agrave" k="250" />
+<hkern g1="w" g2="Aacute" k="250" />
+<hkern g1="w" g2="Acircumflex" k="250" />
+<hkern g1="w" g2="Atilde" k="250" />
+<hkern g1="w" g2="Adieresis" k="250" />
+<hkern g1="w" g2="Aring" k="250" />
+<hkern g1="w" g2="AE" k="222" />
+<hkern g1="w" g2="Yacute" k="148" />
+<hkern g1="w" g2="ae" k="45" />
+<hkern g1="w" g2="icircumflex" k="59" />
+<hkern g1="w" g2="idieresis" k="66" />
+<hkern g1="x" g2="T" k="210" />
+<hkern g1="x" g2="V" k="91" />
+<hkern g1="x" g2="Y" k="185" />
+<hkern g1="x" g2="a" k="63" />
+<hkern g1="x" g2="c" k="92" />
+<hkern g1="x" g2="d" k="63" />
+<hkern g1="x" g2="e" k="63" />
+<hkern g1="x" g2="j" k="154" />
+<hkern g1="x" g2="o" k="63" />
+<hkern g1="x" g2="q" k="63" />
+<hkern g1="x" g2="Yacute" k="185" />
+<hkern g1="x" g2="agrave" k="63" />
+<hkern g1="x" g2="aacute" k="63" />
+<hkern g1="x" g2="acircumflex" k="63" />
+<hkern g1="x" g2="atilde" k="63" />
+<hkern g1="x" g2="adieresis" k="63" />
+<hkern g1="x" g2="aring" k="63" />
+<hkern g1="x" g2="ae" k="75" />
+<hkern g1="x" g2="ccedilla" k="92" />
+<hkern g1="x" g2="egrave" k="63" />
+<hkern g1="x" g2="eacute" k="63" />
+<hkern g1="x" g2="ecircumflex" k="63" />
+<hkern g1="x" g2="edieresis" k="63" />
+<hkern g1="x" g2="eth" k="53" />
+<hkern g1="x" g2="ograve" k="63" />
+<hkern g1="x" g2="oacute" k="63" />
+<hkern g1="x" g2="ocircumflex" k="63" />
+<hkern g1="x" g2="otilde" k="63" />
+<hkern g1="x" g2="odieresis" k="63" />
+<hkern g1="y" g2="A" k="125" />
+<hkern g1="y" g2="J" k="88" />
+<hkern g1="y" g2="T" k="306" />
+<hkern g1="y" g2="V" k="91" />
+<hkern g1="y" g2="X" k="78" />
+<hkern g1="y" g2="Y" k="94" />
+<hkern g1="y" g2="Z" k="118" />
+<hkern g1="y" g2="j" k="180" />
+<hkern g1="y" g2="Agrave" k="86" />
+<hkern g1="y" g2="Aacute" k="86" />
+<hkern g1="y" g2="Acircumflex" k="86" />
+<hkern g1="y" g2="Atilde" k="86" />
+<hkern g1="y" g2="Adieresis" k="86" />
+<hkern g1="y" g2="Aring" k="86" />
+<hkern g1="y" g2="AE" k="118" />
+<hkern g1="y" g2="Yacute" k="55" />
+<hkern g1="z" g2="T" k="299" />
+<hkern g1="z" g2="V" k="91" />
+<hkern g1="z" g2="Y" k="63" />
+<hkern g1="z" g2="a" k="63" />
+<hkern g1="z" g2="c" k="92" />
+<hkern g1="z" g2="d" k="63" />
+<hkern g1="z" g2="e" k="63" />
+<hkern g1="z" g2="j" k="180" />
+<hkern g1="z" g2="o" k="63" />
+<hkern g1="z" g2="q" k="63" />
+<hkern g1="z" g2="Yacute" k="149" />
+<hkern g1="z" g2="agrave" k="63" />
+<hkern g1="z" g2="aacute" k="63" />
+<hkern g1="z" g2="acircumflex" k="63" />
+<hkern g1="z" g2="atilde" k="63" />
+<hkern g1="z" g2="adieresis" k="63" />
+<hkern g1="z" g2="aring" k="63" />
+<hkern g1="z" g2="ae" k="75" />
+<hkern g1="z" g2="ccedilla" k="92" />
+<hkern g1="z" g2="egrave" k="63" />
+<hkern g1="z" g2="eacute" k="63" />
+<hkern g1="z" g2="ecircumflex" k="63" />
+<hkern g1="z" g2="edieresis" k="63" />
+<hkern g1="z" g2="eth" k="53" />
+<hkern g1="z" g2="ograve" k="63" />
+<hkern g1="z" g2="oacute" k="63" />
+<hkern g1="z" g2="ocircumflex" k="63" />
+<hkern g1="z" g2="otilde" k="63" />
+<hkern g1="z" g2="odieresis" k="63" />
+<hkern g1="Agrave" g2="C" k="98" />
+<hkern g1="Agrave" g2="G" k="98" />
+<hkern g1="Agrave" g2="O" k="69" />
+<hkern g1="Agrave" g2="Q" k="69" />
+<hkern g1="Agrave" g2="T" k="208" />
+<hkern g1="Agrave" g2="V" k="247" />
+<hkern g1="Agrave" g2="W" k="121" />
+<hkern g1="Agrave" g2="Y" k="247" />
+<hkern g1="Agrave" g2="f" k="64" />
+<hkern g1="Agrave" g2="j" k="200" />
+<hkern g1="Agrave" g2="t" k="95" />
+<hkern g1="Agrave" g2="v" k="137" />
+<hkern g1="Agrave" g2="w" k="199" />
+<hkern g1="Agrave" g2="y" k="256" />
+<hkern g1="Agrave" g2="Ccedilla" k="98" />
+<hkern g1="Agrave" g2="Eth" k="52" />
+<hkern g1="Agrave" g2="Ograve" k="69" />
+<hkern g1="Agrave" g2="Oacute" k="69" />
+<hkern g1="Agrave" g2="Ocircumflex" k="69" />
+<hkern g1="Agrave" g2="Otilde" k="69" />
+<hkern g1="Agrave" g2="Odieresis" k="69" />
+<hkern g1="Agrave" g2="Yacute" k="224" />
+<hkern g1="Agrave" g2="yacute" k="124" />
+<hkern g1="Agrave" g2="ydieresis" k="61" />
+<hkern g1="Aacute" g2="C" k="98" />
+<hkern g1="Aacute" g2="G" k="98" />
+<hkern g1="Aacute" g2="O" k="69" />
+<hkern g1="Aacute" g2="Q" k="69" />
+<hkern g1="Aacute" g2="T" k="247" />
+<hkern g1="Aacute" g2="V" k="200" />
+<hkern g1="Aacute" g2="W" k="159" />
+<hkern g1="Aacute" g2="Y" k="239" />
+<hkern g1="Aacute" g2="f" k="64" />
+<hkern g1="Aacute" g2="j" k="207" />
+<hkern g1="Aacute" g2="t" k="95" />
+<hkern g1="Aacute" g2="v" k="225" />
+<hkern g1="Aacute" g2="w" k="199" />
+<hkern g1="Aacute" g2="y" k="256" />
+<hkern g1="Aacute" g2="Ccedilla" k="98" />
+<hkern g1="Aacute" g2="Eth" k="52" />
+<hkern g1="Aacute" g2="Ograve" k="69" />
+<hkern g1="Aacute" g2="Oacute" k="69" />
+<hkern g1="Aacute" g2="Ocircumflex" k="69" />
+<hkern g1="Aacute" g2="Otilde" k="69" />
+<hkern g1="Aacute" g2="Odieresis" k="69" />
+<hkern g1="Aacute" g2="Yacute" k="200" />
+<hkern g1="Aacute" g2="yacute" k="62" />
+<hkern g1="Aacute" g2="ydieresis" k="53" />
+<hkern g1="Acircumflex" g2="C" k="98" />
+<hkern g1="Acircumflex" g2="G" k="98" />
+<hkern g1="Acircumflex" g2="O" k="69" />
+<hkern g1="Acircumflex" g2="Q" k="69" />
+<hkern g1="Acircumflex" g2="T" k="216" />
+<hkern g1="Acircumflex" g2="V" k="200" />
+<hkern g1="Acircumflex" g2="W" k="121" />
+<hkern g1="Acircumflex" g2="Y" k="200" />
+<hkern g1="Acircumflex" g2="f" k="64" />
+<hkern g1="Acircumflex" g2="j" k="106" />
+<hkern g1="Acircumflex" g2="t" k="95" />
+<hkern g1="Acircumflex" g2="v" k="225" />
+<hkern g1="Acircumflex" g2="w" k="199" />
+<hkern g1="Acircumflex" g2="y" k="256" />
+<hkern g1="Acircumflex" g2="Ccedilla" k="98" />
+<hkern g1="Acircumflex" g2="Eth" k="52" />
+<hkern g1="Acircumflex" g2="Ograve" k="69" />
+<hkern g1="Acircumflex" g2="Oacute" k="69" />
+<hkern g1="Acircumflex" g2="Ocircumflex" k="69" />
+<hkern g1="Acircumflex" g2="Otilde" k="69" />
+<hkern g1="Acircumflex" g2="Odieresis" k="69" />
+<hkern g1="Acircumflex" g2="Yacute" k="200" />
+<hkern g1="Acircumflex" g2="yacute" k="62" />
+<hkern g1="Acircumflex" g2="ydieresis" k="53" />
+<hkern g1="Atilde" g2="C" k="98" />
+<hkern g1="Atilde" g2="G" k="98" />
+<hkern g1="Atilde" g2="O" k="69" />
+<hkern g1="Atilde" g2="Q" k="69" />
+<hkern g1="Atilde" g2="T" k="204" />
+<hkern g1="Atilde" g2="V" k="204" />
+<hkern g1="Atilde" g2="W" k="78" />
+<hkern g1="Atilde" g2="Y" k="204" />
+<hkern g1="Atilde" g2="f" k="64" />
+<hkern g1="Atilde" g2="j" k="110" />
+<hkern g1="Atilde" g2="t" k="95" />
+<hkern g1="Atilde" g2="v" k="225" />
+<hkern g1="Atilde" g2="w" k="199" />
+<hkern g1="Atilde" g2="y" k="256" />
+<hkern g1="Atilde" g2="Ccedilla" k="98" />
+<hkern g1="Atilde" g2="Eth" k="52" />
+<hkern g1="Atilde" g2="Ograve" k="69" />
+<hkern g1="Atilde" g2="Oacute" k="69" />
+<hkern g1="Atilde" g2="Ocircumflex" k="69" />
+<hkern g1="Atilde" g2="Otilde" k="69" />
+<hkern g1="Atilde" g2="Odieresis" k="69" />
+<hkern g1="Atilde" g2="Yacute" k="204" />
+<hkern g1="Atilde" g2="yacute" k="66" />
+<hkern g1="Atilde" g2="ydieresis" k="57" />
+<hkern g1="Adieresis" g2="C" k="98" />
+<hkern g1="Adieresis" g2="G" k="98" />
+<hkern g1="Adieresis" g2="O" k="69" />
+<hkern g1="Adieresis" g2="Q" k="69" />
+<hkern g1="Adieresis" g2="T" k="236" />
+<hkern g1="Adieresis" g2="V" k="213" />
+<hkern g1="Adieresis" g2="W" k="188" />
+<hkern g1="Adieresis" g2="Y" k="213" />
+<hkern g1="Adieresis" g2="f" k="64" />
+<hkern g1="Adieresis" g2="j" k="158" />
+<hkern g1="Adieresis" g2="t" k="95" />
+<hkern g1="Adieresis" g2="v" k="157" />
+<hkern g1="Adieresis" g2="w" k="199" />
+<hkern g1="Adieresis" g2="y" k="256" />
+<hkern g1="Adieresis" g2="Ccedilla" k="98" />
+<hkern g1="Adieresis" g2="Eth" k="52" />
+<hkern g1="Adieresis" g2="Ograve" k="69" />
+<hkern g1="Adieresis" g2="Oacute" k="69" />
+<hkern g1="Adieresis" g2="Ocircumflex" k="69" />
+<hkern g1="Adieresis" g2="Otilde" k="69" />
+<hkern g1="Adieresis" g2="Odieresis" k="69" />
+<hkern g1="Adieresis" g2="Yacute" k="213" />
+<hkern g1="Adieresis" g2="yacute" k="75" />
+<hkern g1="Adieresis" g2="ydieresis" k="66" />
+<hkern g1="Aring" g2="C" k="98" />
+<hkern g1="Aring" g2="G" k="98" />
+<hkern g1="Aring" g2="O" k="69" />
+<hkern g1="Aring" g2="Q" k="69" />
+<hkern g1="Aring" g2="T" k="223" />
+<hkern g1="Aring" g2="V" k="230" />
+<hkern g1="Aring" g2="W" k="182" />
+<hkern g1="Aring" g2="Y" k="246" />
+<hkern g1="Aring" g2="f" k="64" />
+<hkern g1="Aring" g2="j" k="191" />
+<hkern g1="Aring" g2="t" k="95" />
+<hkern g1="Aring" g2="v" k="167" />
+<hkern g1="Aring" g2="w" k="199" />
+<hkern g1="Aring" g2="y" k="256" />
+<hkern g1="Aring" g2="Ccedilla" k="98" />
+<hkern g1="Aring" g2="Eth" k="52" />
+<hkern g1="Aring" g2="Ograve" k="69" />
+<hkern g1="Aring" g2="Oacute" k="69" />
+<hkern g1="Aring" g2="Ocircumflex" k="69" />
+<hkern g1="Aring" g2="Otilde" k="69" />
+<hkern g1="Aring" g2="Odieresis" k="69" />
+<hkern g1="Aring" g2="Yacute" k="207" />
+<hkern g1="Aring" g2="yacute" k="92" />
+<hkern g1="Aring" g2="ydieresis" k="83" />
+<hkern g1="AE" g2="C" k="100" />
+<hkern g1="AE" g2="G" k="100" />
+<hkern g1="AE" g2="J" k="65" />
+<hkern g1="AE" g2="O" k="102" />
+<hkern g1="AE" g2="Q" k="102" />
+<hkern g1="AE" g2="a" k="102" />
+<hkern g1="AE" g2="c" k="132" />
+<hkern g1="AE" g2="d" k="102" />
+<hkern g1="AE" g2="e" k="102" />
+<hkern g1="AE" g2="f" k="97" />
+<hkern g1="AE" g2="g" k="71" />
+<hkern g1="AE" g2="j" k="206" />
+<hkern g1="AE" g2="o" k="102" />
+<hkern g1="AE" g2="q" k="102" />
+<hkern g1="AE" g2="t" k="97" />
+<hkern g1="AE" g2="u" k="70" />
+<hkern g1="AE" g2="v" k="196" />
+<hkern g1="AE" g2="w" k="169" />
+<hkern g1="AE" g2="y" k="195" />
+<hkern g1="AE" g2="Ccedilla" k="100" />
+<hkern g1="AE" g2="Ograve" k="102" />
+<hkern g1="AE" g2="Oacute" k="102" />
+<hkern g1="AE" g2="Ocircumflex" k="102" />
+<hkern g1="AE" g2="Otilde" k="102" />
+<hkern g1="AE" g2="Odieresis" k="102" />
+<hkern g1="AE" g2="agrave" k="102" />
+<hkern g1="AE" g2="aacute" k="102" />
+<hkern g1="AE" g2="acircumflex" k="102" />
+<hkern g1="AE" g2="atilde" k="102" />
+<hkern g1="AE" g2="adieresis" k="102" />
+<hkern g1="AE" g2="aring" k="102" />
+<hkern g1="AE" g2="ae" k="114" />
+<hkern g1="AE" g2="ccedilla" k="132" />
+<hkern g1="AE" g2="egrave" k="102" />
+<hkern g1="AE" g2="eacute" k="102" />
+<hkern g1="AE" g2="ecircumflex" k="102" />
+<hkern g1="AE" g2="edieresis" k="102" />
+<hkern g1="AE" g2="eth" k="92" />
+<hkern g1="AE" g2="ograve" k="102" />
+<hkern g1="AE" g2="oacute" k="102" />
+<hkern g1="AE" g2="ocircumflex" k="102" />
+<hkern g1="AE" g2="otilde" k="102" />
+<hkern g1="AE" g2="odieresis" k="102" />
+<hkern g1="AE" g2="ugrave" k="70" />
+<hkern g1="AE" g2="uacute" k="70" />
+<hkern g1="AE" g2="ucircumflex" k="70" />
+<hkern g1="AE" g2="udieresis" k="70" />
+<hkern g1="AE" g2="yacute" k="195" />
+<hkern g1="AE" g2="ydieresis" k="132" />
+<hkern g1="Ccedilla" g2="C" k="91" />
+<hkern g1="Ccedilla" g2="G" k="138" />
+<hkern g1="Ccedilla" g2="O" k="91" />
+<hkern g1="Ccedilla" g2="Q" k="91" />
+<hkern g1="Ccedilla" g2="f" k="154" />
+<hkern g1="Ccedilla" g2="j" k="208" />
+<hkern g1="Ccedilla" g2="t" k="130" />
+<hkern g1="Ccedilla" g2="v" k="248" />
+<hkern g1="Ccedilla" g2="w" k="122" />
+<hkern g1="Ccedilla" g2="y" k="202" />
+<hkern g1="Ccedilla" g2="Ccedilla" k="104" />
+<hkern g1="Ccedilla" g2="Igrave" k="75" />
+<hkern g1="Ccedilla" g2="Iacute" k="105" />
+<hkern g1="Ccedilla" g2="Icircumflex" k="96" />
+<hkern g1="Ccedilla" g2="Idieresis" k="76" />
+<hkern g1="Ccedilla" g2="Eth" k="59" />
+<hkern g1="Ccedilla" g2="Ograve" k="91" />
+<hkern g1="Ccedilla" g2="Oacute" k="137" />
+<hkern g1="Ccedilla" g2="Ocircumflex" k="91" />
+<hkern g1="Ccedilla" g2="Otilde" k="91" />
+<hkern g1="Ccedilla" g2="Odieresis" k="91" />
+<hkern g1="Ccedilla" g2="iacute" k="53" />
+<hkern g1="Ccedilla" g2="yacute" k="204" />
+<hkern g1="Ccedilla" g2="ydieresis" k="164" />
+<hkern g1="Egrave" g2="C" k="127" />
+<hkern g1="Egrave" g2="G" k="127" />
+<hkern g1="Egrave" g2="O" k="129" />
+<hkern g1="Egrave" g2="Q" k="129" />
+<hkern g1="Egrave" g2="c" k="64" />
+<hkern g1="Egrave" g2="j" k="184" />
+<hkern g1="Egrave" g2="v" k="59" />
+<hkern g1="Egrave" g2="w" k="165" />
+<hkern g1="Egrave" g2="y" k="76" />
+<hkern g1="Egrave" g2="Ccedilla" k="127" />
+<hkern g1="Egrave" g2="Ograve" k="129" />
+<hkern g1="Egrave" g2="Oacute" k="129" />
+<hkern g1="Egrave" g2="Ocircumflex" k="129" />
+<hkern g1="Egrave" g2="Otilde" k="129" />
+<hkern g1="Egrave" g2="Odieresis" k="129" />
+<hkern g1="Egrave" g2="ae" k="47" />
+<hkern g1="Egrave" g2="ccedilla" k="64" />
+<hkern g1="Egrave" g2="eth" k="56" />
+<hkern g1="Egrave" g2="yacute" k="78" />
+<hkern g1="Egrave" g2="ydieresis" k="64" />
+<hkern g1="Eacute" g2="C" k="127" />
+<hkern g1="Eacute" g2="G" k="127" />
+<hkern g1="Eacute" g2="O" k="129" />
+<hkern g1="Eacute" g2="Q" k="129" />
+<hkern g1="Eacute" g2="c" k="64" />
+<hkern g1="Eacute" g2="j" k="182" />
+<hkern g1="Eacute" g2="v" k="191" />
+<hkern g1="Eacute" g2="w" k="165" />
+<hkern g1="Eacute" g2="y" k="51" />
+<hkern g1="Eacute" g2="Ccedilla" k="127" />
+<hkern g1="Eacute" g2="Ograve" k="129" />
+<hkern g1="Eacute" g2="Oacute" k="129" />
+<hkern g1="Eacute" g2="Ocircumflex" k="129" />
+<hkern g1="Eacute" g2="Otilde" k="129" />
+<hkern g1="Eacute" g2="Odieresis" k="129" />
+<hkern g1="Eacute" g2="ae" k="47" />
+<hkern g1="Eacute" g2="ccedilla" k="64" />
+<hkern g1="Eacute" g2="eth" k="56" />
+<hkern g1="Eacute" g2="yacute" k="53" />
+<hkern g1="Eacute" g2="ydieresis" k="64" />
+<hkern g1="Ecircumflex" g2="C" k="127" />
+<hkern g1="Ecircumflex" g2="G" k="127" />
+<hkern g1="Ecircumflex" g2="O" k="129" />
+<hkern g1="Ecircumflex" g2="Q" k="129" />
+<hkern g1="Ecircumflex" g2="c" k="64" />
+<hkern g1="Ecircumflex" g2="j" k="175" />
+<hkern g1="Ecircumflex" g2="v" k="191" />
+<hkern g1="Ecircumflex" g2="w" k="165" />
+<hkern g1="Ecircumflex" g2="y" k="51" />
+<hkern g1="Ecircumflex" g2="Ccedilla" k="127" />
+<hkern g1="Ecircumflex" g2="Ograve" k="129" />
+<hkern g1="Ecircumflex" g2="Oacute" k="129" />
+<hkern g1="Ecircumflex" g2="Ocircumflex" k="129" />
+<hkern g1="Ecircumflex" g2="Otilde" k="129" />
+<hkern g1="Ecircumflex" g2="Odieresis" k="129" />
+<hkern g1="Ecircumflex" g2="ae" k="47" />
+<hkern g1="Ecircumflex" g2="ccedilla" k="64" />
+<hkern g1="Ecircumflex" g2="eth" k="56" />
+<hkern g1="Ecircumflex" g2="yacute" k="53" />
+<hkern g1="Ecircumflex" g2="ydieresis" k="64" />
+<hkern g1="Edieresis" g2="C" k="127" />
+<hkern g1="Edieresis" g2="G" k="127" />
+<hkern g1="Edieresis" g2="O" k="129" />
+<hkern g1="Edieresis" g2="Q" k="129" />
+<hkern g1="Edieresis" g2="c" k="64" />
+<hkern g1="Edieresis" g2="j" k="180" />
+<hkern g1="Edieresis" g2="v" k="191" />
+<hkern g1="Edieresis" g2="w" k="165" />
+<hkern g1="Edieresis" g2="y" k="87" />
+<hkern g1="Edieresis" g2="Ccedilla" k="127" />
+<hkern g1="Edieresis" g2="Ograve" k="129" />
+<hkern g1="Edieresis" g2="Oacute" k="129" />
+<hkern g1="Edieresis" g2="Ocircumflex" k="129" />
+<hkern g1="Edieresis" g2="Otilde" k="129" />
+<hkern g1="Edieresis" g2="Odieresis" k="129" />
+<hkern g1="Edieresis" g2="ae" k="47" />
+<hkern g1="Edieresis" g2="ccedilla" k="64" />
+<hkern g1="Edieresis" g2="eth" k="56" />
+<hkern g1="Edieresis" g2="yacute" k="66" />
+<hkern g1="Edieresis" g2="ydieresis" k="64" />
+<hkern g1="Igrave" g2="I" k="42" />
+<hkern g1="Igrave" g2="j" k="283" />
+<hkern g1="Igrave" g2="dotlessi" k="42" />
+<hkern g1="Iacute" g2="j" k="199" />
+<hkern g1="Icircumflex" g2="j" k="207" />
+<hkern g1="Idieresis" g2="I" k="50" />
+<hkern g1="Idieresis" g2="j" k="227" />
+<hkern g1="Idieresis" g2="dotlessi" k="50" />
+<hkern g1="Eth" g2="A" k="128" />
+<hkern g1="Eth" g2="T" k="223" />
+<hkern g1="Eth" g2="V" k="128" />
+<hkern g1="Eth" g2="X" k="190" />
+<hkern g1="Eth" g2="Y" k="190" />
+<hkern g1="Eth" g2="Z" k="223" />
+<hkern g1="Eth" g2="j" k="176" />
+<hkern g1="Eth" g2="Agrave" k="128" />
+<hkern g1="Eth" g2="Aacute" k="128" />
+<hkern g1="Eth" g2="Acircumflex" k="128" />
+<hkern g1="Eth" g2="Atilde" k="128" />
+<hkern g1="Eth" g2="Adieresis" k="128" />
+<hkern g1="Eth" g2="Aring" k="128" />
+<hkern g1="Eth" g2="AE" k="131" />
+<hkern g1="Eth" g2="Yacute" k="190" />
+<hkern g1="Ntilde" g2="j" k="182" />
+<hkern g1="Ograve" g2="A" k="131" />
+<hkern g1="Ograve" g2="S" k="65" />
+<hkern g1="Ograve" g2="T" k="136" />
+<hkern g1="Ograve" g2="V" k="131" />
+<hkern g1="Ograve" g2="W" k="73" />
+<hkern g1="Ograve" g2="X" k="224" />
+<hkern g1="Ograve" g2="Y" k="224" />
+<hkern g1="Ograve" g2="Z" k="225" />
+<hkern g1="Ograve" g2="j" k="160" />
+<hkern g1="Ograve" g2="Agrave" k="131" />
+<hkern g1="Ograve" g2="Aacute" k="131" />
+<hkern g1="Ograve" g2="Acircumflex" k="131" />
+<hkern g1="Ograve" g2="Atilde" k="131" />
+<hkern g1="Ograve" g2="Adieresis" k="131" />
+<hkern g1="Ograve" g2="Aring" k="131" />
+<hkern g1="Ograve" g2="AE" k="165" />
+<hkern g1="Ograve" g2="Yacute" k="224" />
+<hkern g1="Oacute" g2="A" k="131" />
+<hkern g1="Oacute" g2="S" k="65" />
+<hkern g1="Oacute" g2="T" k="133" />
+<hkern g1="Oacute" g2="V" k="131" />
+<hkern g1="Oacute" g2="W" k="73" />
+<hkern g1="Oacute" g2="X" k="224" />
+<hkern g1="Oacute" g2="Y" k="224" />
+<hkern g1="Oacute" g2="Z" k="225" />
+<hkern g1="Oacute" g2="j" k="173" />
+<hkern g1="Oacute" g2="Agrave" k="131" />
+<hkern g1="Oacute" g2="Aacute" k="131" />
+<hkern g1="Oacute" g2="Acircumflex" k="131" />
+<hkern g1="Oacute" g2="Atilde" k="131" />
+<hkern g1="Oacute" g2="Adieresis" k="131" />
+<hkern g1="Oacute" g2="Aring" k="131" />
+<hkern g1="Oacute" g2="AE" k="165" />
+<hkern g1="Oacute" g2="Yacute" k="224" />
+<hkern g1="Ocircumflex" g2="A" k="131" />
+<hkern g1="Ocircumflex" g2="S" k="65" />
+<hkern g1="Ocircumflex" g2="T" k="109" />
+<hkern g1="Ocircumflex" g2="V" k="131" />
+<hkern g1="Ocircumflex" g2="W" k="73" />
+<hkern g1="Ocircumflex" g2="X" k="224" />
+<hkern g1="Ocircumflex" g2="Y" k="224" />
+<hkern g1="Ocircumflex" g2="Z" k="225" />
+<hkern g1="Ocircumflex" g2="j" k="187" />
+<hkern g1="Ocircumflex" g2="Agrave" k="131" />
+<hkern g1="Ocircumflex" g2="Aacute" k="131" />
+<hkern g1="Ocircumflex" g2="Acircumflex" k="131" />
+<hkern g1="Ocircumflex" g2="Atilde" k="131" />
+<hkern g1="Ocircumflex" g2="Adieresis" k="131" />
+<hkern g1="Ocircumflex" g2="Aring" k="131" />
+<hkern g1="Ocircumflex" g2="AE" k="165" />
+<hkern g1="Ocircumflex" g2="Yacute" k="224" />
+<hkern g1="Otilde" g2="A" k="131" />
+<hkern g1="Otilde" g2="S" k="65" />
+<hkern g1="Otilde" g2="T" k="137" />
+<hkern g1="Otilde" g2="V" k="131" />
+<hkern g1="Otilde" g2="W" k="73" />
+<hkern g1="Otilde" g2="X" k="224" />
+<hkern g1="Otilde" g2="Y" k="224" />
+<hkern g1="Otilde" g2="Z" k="225" />
+<hkern g1="Otilde" g2="j" k="169" />
+<hkern g1="Otilde" g2="Agrave" k="131" />
+<hkern g1="Otilde" g2="Aacute" k="131" />
+<hkern g1="Otilde" g2="Acircumflex" k="131" />
+<hkern g1="Otilde" g2="Atilde" k="131" />
+<hkern g1="Otilde" g2="Adieresis" k="131" />
+<hkern g1="Otilde" g2="Aring" k="131" />
+<hkern g1="Otilde" g2="AE" k="165" />
+<hkern g1="Otilde" g2="Yacute" k="224" />
+<hkern g1="Odieresis" g2="A" k="131" />
+<hkern g1="Odieresis" g2="S" k="65" />
+<hkern g1="Odieresis" g2="T" k="149" />
+<hkern g1="Odieresis" g2="V" k="131" />
+<hkern g1="Odieresis" g2="W" k="73" />
+<hkern g1="Odieresis" g2="X" k="224" />
+<hkern g1="Odieresis" g2="Y" k="110" />
+<hkern g1="Odieresis" g2="Z" k="225" />
+<hkern g1="Odieresis" g2="j" k="196" />
+<hkern g1="Odieresis" g2="Agrave" k="131" />
+<hkern g1="Odieresis" g2="Aacute" k="131" />
+<hkern g1="Odieresis" g2="Acircumflex" k="131" />
+<hkern g1="Odieresis" g2="Atilde" k="131" />
+<hkern g1="Odieresis" g2="Adieresis" k="131" />
+<hkern g1="Odieresis" g2="Aring" k="131" />
+<hkern g1="Odieresis" g2="AE" k="165" />
+<hkern g1="Odieresis" g2="Yacute" k="95" />
+<hkern g1="Oslash" g2="A" k="131" />
+<hkern g1="Oslash" g2="S" k="65" />
+<hkern g1="Oslash" g2="j" k="179" />
+<hkern g1="Oslash" g2="Agrave" k="131" />
+<hkern g1="Oslash" g2="Aacute" k="131" />
+<hkern g1="Oslash" g2="Acircumflex" k="131" />
+<hkern g1="Oslash" g2="Atilde" k="131" />
+<hkern g1="Oslash" g2="Adieresis" k="131" />
+<hkern g1="Oslash" g2="Aring" k="131" />
+<hkern g1="Oslash" g2="AE" k="165" />
+<hkern g1="Ugrave" g2="j" k="170" />
+<hkern g1="Uacute" g2="j" k="158" />
+<hkern g1="Ucircumflex" g2="j" k="175" />
+<hkern g1="Udieresis" g2="j" k="187" />
+<hkern g1="Yacute" g2="A" k="205" />
+<hkern g1="Yacute" g2="C" k="160" />
+<hkern g1="Yacute" g2="G" k="160" />
+<hkern g1="Yacute" g2="J" k="212" />
+<hkern g1="Yacute" g2="O" k="130" />
+<hkern g1="Yacute" g2="Q" k="130" />
+<hkern g1="Yacute" g2="S" k="61" />
+<hkern g1="Yacute" g2="a" k="181" />
+<hkern g1="Yacute" g2="c" k="181" />
+<hkern g1="Yacute" g2="d" k="205" />
+<hkern g1="Yacute" g2="e" k="197" />
+<hkern g1="Yacute" g2="f" k="157" />
+<hkern g1="Yacute" g2="g" k="186" />
+<hkern g1="Yacute" g2="j" k="197" />
+<hkern g1="Yacute" g2="m" k="168" />
+<hkern g1="Yacute" g2="n" k="129" />
+<hkern g1="Yacute" g2="o" k="181" />
+<hkern g1="Yacute" g2="p" k="187" />
+<hkern g1="Yacute" g2="q" k="178" />
+<hkern g1="Yacute" g2="r" k="158" />
+<hkern g1="Yacute" g2="s" k="127" />
+<hkern g1="Yacute" g2="t" k="62" />
+<hkern g1="Yacute" g2="u" k="129" />
+<hkern g1="Yacute" g2="v" k="129" />
+<hkern g1="Yacute" g2="w" k="166" />
+<hkern g1="Yacute" g2="x" k="160" />
+<hkern g1="Yacute" g2="y" k="160" />
+<hkern g1="Yacute" g2="z" k="160" />
+<hkern g1="Yacute" g2="Agrave" k="197" />
+<hkern g1="Yacute" g2="Aacute" k="205" />
+<hkern g1="Yacute" g2="Acircumflex" k="228" />
+<hkern g1="Yacute" g2="Atilde" k="197" />
+<hkern g1="Yacute" g2="Adieresis" k="197" />
+<hkern g1="Yacute" g2="Aring" k="189" />
+<hkern g1="Yacute" g2="AE" k="189" />
+<hkern g1="Yacute" g2="Ccedilla" k="160" />
+<hkern g1="Yacute" g2="Eth" k="50" />
+<hkern g1="Yacute" g2="Ograve" k="130" />
+<hkern g1="Yacute" g2="Oacute" k="130" />
+<hkern g1="Yacute" g2="Ocircumflex" k="130" />
+<hkern g1="Yacute" g2="Otilde" k="130" />
+<hkern g1="Yacute" g2="Odieresis" k="130" />
+<hkern g1="Yacute" g2="Oslash" k="130" />
+<hkern g1="Yacute" g2="agrave" k="174" />
+<hkern g1="Yacute" g2="aacute" k="189" />
+<hkern g1="Yacute" g2="acircumflex" k="166" />
+<hkern g1="Yacute" g2="atilde" k="67" />
+<hkern g1="Yacute" g2="adieresis" k="158" />
+<hkern g1="Yacute" g2="aring" k="126" />
+<hkern g1="Yacute" g2="ae" k="197" />
+<hkern g1="Yacute" g2="ccedilla" k="190" />
+<hkern g1="Yacute" g2="egrave" k="174" />
+<hkern g1="Yacute" g2="eacute" k="205" />
+<hkern g1="Yacute" g2="ecircumflex" k="150" />
+<hkern g1="Yacute" g2="edieresis" k="150" />
+<hkern g1="Yacute" g2="eth" k="166" />
+<hkern g1="Yacute" g2="ograve" k="181" />
+<hkern g1="Yacute" g2="oacute" k="174" />
+<hkern g1="Yacute" g2="ocircumflex" k="143" />
+<hkern g1="Yacute" g2="otilde" k="67" />
+<hkern g1="Yacute" g2="odieresis" k="158" />
+<hkern g1="Yacute" g2="oslash" k="181" />
+<hkern g1="Yacute" g2="ugrave" k="129" />
+<hkern g1="Yacute" g2="uacute" k="129" />
+<hkern g1="Yacute" g2="ucircumflex" k="129" />
+<hkern g1="Yacute" g2="udieresis" k="98" />
+<hkern g1="Yacute" g2="yacute" k="160" />
+<hkern g1="Yacute" g2="ydieresis" k="97" />
+<hkern g1="Yacute" g2="dotlessi" k="228" />
+<hkern g1="Thorn" g2="A" k="127" />
+<hkern g1="Thorn" g2="T" k="280" />
+<hkern g1="Thorn" g2="V" k="127" />
+<hkern g1="Thorn" g2="X" k="170" />
+<hkern g1="Thorn" g2="Y" k="186" />
+<hkern g1="Thorn" g2="Z" k="186" />
+<hkern g1="Thorn" g2="j" k="288" />
+<hkern g1="Thorn" g2="Agrave" k="127" />
+<hkern g1="Thorn" g2="Aacute" k="127" />
+<hkern g1="Thorn" g2="Acircumflex" k="127" />
+<hkern g1="Thorn" g2="Atilde" k="127" />
+<hkern g1="Thorn" g2="Adieresis" k="127" />
+<hkern g1="Thorn" g2="Aring" k="127" />
+<hkern g1="Thorn" g2="AE" k="161" />
+<hkern g1="Thorn" g2="Yacute" k="186" />
+<hkern g1="germandbls" g2="T" k="84" />
+<hkern g1="germandbls" g2="V" k="123" />
+<hkern g1="germandbls" g2="W" k="96" />
+<hkern g1="germandbls" g2="Y" k="108" />
+<hkern g1="germandbls" g2="j" k="194" />
+<hkern g1="germandbls" g2="y" k="61" />
+<hkern g1="germandbls" g2="Yacute" k="92" />
+<hkern g1="germandbls" g2="yacute" k="61" />
+<hkern g1="germandbls" g2="ydieresis" k="61" />
+<hkern g1="agrave" g2="T" k="154" />
+<hkern g1="agrave" g2="V" k="249" />
+<hkern g1="agrave" g2="W" k="160" />
+<hkern g1="agrave" g2="Y" k="223" />
+<hkern g1="agrave" g2="f" k="58" />
+<hkern g1="agrave" g2="j" k="146" />
+<hkern g1="agrave" g2="t" k="90" />
+<hkern g1="agrave" g2="v" k="62" />
+<hkern g1="agrave" g2="y" k="61" />
+<hkern g1="agrave" g2="Yacute" k="208" />
+<hkern g1="agrave" g2="icircumflex" k="58" />
+<hkern g1="agrave" g2="idieresis" k="65" />
+<hkern g1="agrave" g2="yacute" k="61" />
+<hkern g1="agrave" g2="ydieresis" k="61" />
+<hkern g1="aacute" g2="T" k="102" />
+<hkern g1="aacute" g2="V" k="249" />
+<hkern g1="aacute" g2="W" k="160" />
+<hkern g1="aacute" g2="Y" k="125" />
+<hkern g1="aacute" g2="f" k="58" />
+<hkern g1="aacute" g2="j" k="181" />
+<hkern g1="aacute" g2="t" k="90" />
+<hkern g1="aacute" g2="v" k="62" />
+<hkern g1="aacute" g2="y" k="61" />
+<hkern g1="aacute" g2="Yacute" k="118" />
+<hkern g1="aacute" g2="icircumflex" k="58" />
+<hkern g1="aacute" g2="idieresis" k="65" />
+<hkern g1="aacute" g2="yacute" k="61" />
+<hkern g1="aacute" g2="ydieresis" k="61" />
+<hkern g1="acircumflex" g2="T" k="214" />
+<hkern g1="acircumflex" g2="V" k="88" />
+<hkern g1="acircumflex" g2="W" k="160" />
+<hkern g1="acircumflex" g2="Y" k="199" />
+<hkern g1="acircumflex" g2="f" k="58" />
+<hkern g1="acircumflex" g2="j" k="207" />
+<hkern g1="acircumflex" g2="t" k="90" />
+<hkern g1="acircumflex" g2="v" k="62" />
+<hkern g1="acircumflex" g2="y" k="61" />
+<hkern g1="acircumflex" g2="Yacute" k="168" />
+<hkern g1="acircumflex" g2="yacute" k="61" />
+<hkern g1="acircumflex" g2="ydieresis" k="61" />
+<hkern g1="atilde" g2="T" k="123" />
+<hkern g1="atilde" g2="V" k="123" />
+<hkern g1="atilde" g2="W" k="97" />
+<hkern g1="atilde" g2="Y" k="122" />
+<hkern g1="atilde" g2="f" k="58" />
+<hkern g1="atilde" g2="j" k="181" />
+<hkern g1="atilde" g2="t" k="90" />
+<hkern g1="atilde" g2="v" k="62" />
+<hkern g1="atilde" g2="y" k="61" />
+<hkern g1="atilde" g2="Yacute" k="122" />
+<hkern g1="atilde" g2="yacute" k="61" />
+<hkern g1="atilde" g2="ydieresis" k="61" />
+<hkern g1="adieresis" g2="T" k="289" />
+<hkern g1="adieresis" g2="V" k="108" />
+<hkern g1="adieresis" g2="W" k="160" />
+<hkern g1="adieresis" g2="Y" k="179" />
+<hkern g1="adieresis" g2="f" k="58" />
+<hkern g1="adieresis" g2="j" k="195" />
+<hkern g1="adieresis" g2="t" k="90" />
+<hkern g1="adieresis" g2="v" k="62" />
+<hkern g1="adieresis" g2="y" k="61" />
+<hkern g1="adieresis" g2="Yacute" k="156" />
+<hkern g1="adieresis" g2="yacute" k="61" />
+<hkern g1="adieresis" g2="ydieresis" k="61" />
+<hkern g1="aring" g2="T" k="111" />
+<hkern g1="aring" g2="V" k="95" />
+<hkern g1="aring" g2="W" k="160" />
+<hkern g1="aring" g2="Y" k="111" />
+<hkern g1="aring" g2="f" k="58" />
+<hkern g1="aring" g2="j" k="190" />
+<hkern g1="aring" g2="t" k="90" />
+<hkern g1="aring" g2="v" k="62" />
+<hkern g1="aring" g2="y" k="61" />
+<hkern g1="aring" g2="Yacute" k="119" />
+<hkern g1="aring" g2="icircumflex" k="58" />
+<hkern g1="aring" g2="idieresis" k="65" />
+<hkern g1="aring" g2="yacute" k="61" />
+<hkern g1="aring" g2="ydieresis" k="61" />
+<hkern g1="ae" g2="A" k="126" />
+<hkern g1="ae" g2="S" k="123" />
+<hkern g1="ae" g2="T" k="225" />
+<hkern g1="ae" g2="V" k="284" />
+<hkern g1="ae" g2="W" k="163" />
+<hkern g1="ae" g2="X" k="157" />
+<hkern g1="ae" g2="Y" k="225" />
+<hkern g1="ae" g2="Z" k="158" />
+<hkern g1="ae" g2="f" k="93" />
+<hkern g1="ae" g2="i" k="50" />
+<hkern g1="ae" g2="j" k="192" />
+<hkern g1="ae" g2="t" k="124" />
+<hkern g1="ae" g2="v" k="97" />
+<hkern g1="ae" g2="w" k="70" />
+<hkern g1="ae" g2="x" k="127" />
+<hkern g1="ae" g2="y" k="96" />
+<hkern g1="ae" g2="z" k="127" />
+<hkern g1="ae" g2="Agrave" k="126" />
+<hkern g1="ae" g2="Aacute" k="126" />
+<hkern g1="ae" g2="Acircumflex" k="126" />
+<hkern g1="ae" g2="Atilde" k="126" />
+<hkern g1="ae" g2="Adieresis" k="126" />
+<hkern g1="ae" g2="Aring" k="126" />
+<hkern g1="ae" g2="AE" k="129" />
+<hkern g1="ae" g2="Igrave" k="47" />
+<hkern g1="ae" g2="Iacute" k="53" />
+<hkern g1="ae" g2="Icircumflex" k="60" />
+<hkern g1="ae" g2="Yacute" k="256" />
+<hkern g1="ae" g2="igrave" k="42" />
+<hkern g1="ae" g2="icircumflex" k="93" />
+<hkern g1="ae" g2="idieresis" k="100" />
+<hkern g1="ae" g2="yacute" k="96" />
+<hkern g1="ae" g2="ydieresis" k="96" />
+<hkern g1="ccedilla" g2="T" k="248" />
+<hkern g1="ccedilla" g2="V" k="123" />
+<hkern g1="ccedilla" g2="Y" k="185" />
+<hkern g1="ccedilla" g2="j" k="41" />
+<hkern g1="ccedilla" g2="Yacute" k="170" />
+<hkern g1="egrave" g2="A" k="92" />
+<hkern g1="egrave" g2="S" k="120" />
+<hkern g1="egrave" g2="T" k="210" />
+<hkern g1="egrave" g2="V" k="75" />
+<hkern g1="egrave" g2="W" k="160" />
+<hkern g1="egrave" g2="X" k="122" />
+<hkern g1="egrave" g2="Y" k="178" />
+<hkern g1="egrave" g2="Z" k="123" />
+<hkern g1="egrave" g2="f" k="58" />
+<hkern g1="egrave" g2="j" k="186" />
+<hkern g1="egrave" g2="t" k="90" />
+<hkern g1="egrave" g2="v" k="62" />
+<hkern g1="egrave" g2="x" k="93" />
+<hkern g1="egrave" g2="y" k="61" />
+<hkern g1="egrave" g2="z" k="93" />
+<hkern g1="egrave" g2="Agrave" k="92" />
+<hkern g1="egrave" g2="Aacute" k="92" />
+<hkern g1="egrave" g2="Acircumflex" k="92" />
+<hkern g1="egrave" g2="Atilde" k="92" />
+<hkern g1="egrave" g2="Adieresis" k="92" />
+<hkern g1="egrave" g2="Aring" k="92" />
+<hkern g1="egrave" g2="AE" k="95" />
+<hkern g1="egrave" g2="Yacute" k="209" />
+<hkern g1="egrave" g2="icircumflex" k="58" />
+<hkern g1="egrave" g2="idieresis" k="65" />
+<hkern g1="egrave" g2="yacute" k="61" />
+<hkern g1="egrave" g2="ydieresis" k="61" />
+<hkern g1="eacute" g2="A" k="92" />
+<hkern g1="eacute" g2="S" k="120" />
+<hkern g1="eacute" g2="T" k="129" />
+<hkern g1="eacute" g2="V" k="249" />
+<hkern g1="eacute" g2="W" k="160" />
+<hkern g1="eacute" g2="X" k="122" />
+<hkern g1="eacute" g2="Y" k="122" />
+<hkern g1="eacute" g2="Z" k="123" />
+<hkern g1="eacute" g2="f" k="58" />
+<hkern g1="eacute" g2="j" k="185" />
+<hkern g1="eacute" g2="t" k="90" />
+<hkern g1="eacute" g2="v" k="62" />
+<hkern g1="eacute" g2="x" k="93" />
+<hkern g1="eacute" g2="y" k="61" />
+<hkern g1="eacute" g2="z" k="93" />
+<hkern g1="eacute" g2="Agrave" k="92" />
+<hkern g1="eacute" g2="Aacute" k="92" />
+<hkern g1="eacute" g2="Acircumflex" k="92" />
+<hkern g1="eacute" g2="Atilde" k="92" />
+<hkern g1="eacute" g2="Adieresis" k="92" />
+<hkern g1="eacute" g2="Aring" k="92" />
+<hkern g1="eacute" g2="AE" k="95" />
+<hkern g1="eacute" g2="Yacute" k="106" />
+<hkern g1="eacute" g2="icircumflex" k="58" />
+<hkern g1="eacute" g2="idieresis" k="65" />
+<hkern g1="eacute" g2="yacute" k="61" />
+<hkern g1="eacute" g2="ydieresis" k="61" />
+<hkern g1="ecircumflex" g2="A" k="92" />
+<hkern g1="ecircumflex" g2="S" k="120" />
+<hkern g1="ecircumflex" g2="T" k="203" />
+<hkern g1="ecircumflex" g2="V" k="100" />
+<hkern g1="ecircumflex" g2="W" k="160" />
+<hkern g1="ecircumflex" g2="X" k="122" />
+<hkern g1="ecircumflex" g2="Y" k="164" />
+<hkern g1="ecircumflex" g2="Z" k="123" />
+<hkern g1="ecircumflex" g2="f" k="58" />
+<hkern g1="ecircumflex" g2="j" k="195" />
+<hkern g1="ecircumflex" g2="t" k="90" />
+<hkern g1="ecircumflex" g2="v" k="62" />
+<hkern g1="ecircumflex" g2="x" k="93" />
+<hkern g1="ecircumflex" g2="y" k="61" />
+<hkern g1="ecircumflex" g2="z" k="93" />
+<hkern g1="ecircumflex" g2="Agrave" k="92" />
+<hkern g1="ecircumflex" g2="Aacute" k="92" />
+<hkern g1="ecircumflex" g2="Acircumflex" k="92" />
+<hkern g1="ecircumflex" g2="Atilde" k="92" />
+<hkern g1="ecircumflex" g2="Adieresis" k="92" />
+<hkern g1="ecircumflex" g2="Aring" k="92" />
+<hkern g1="ecircumflex" g2="AE" k="95" />
+<hkern g1="ecircumflex" g2="Yacute" k="164" />
+<hkern g1="ecircumflex" g2="yacute" k="61" />
+<hkern g1="ecircumflex" g2="ydieresis" k="61" />
+<hkern g1="edieresis" g2="A" k="92" />
+<hkern g1="edieresis" g2="S" k="120" />
+<hkern g1="edieresis" g2="T" k="190" />
+<hkern g1="edieresis" g2="V" k="186" />
+<hkern g1="edieresis" g2="W" k="160" />
+<hkern g1="edieresis" g2="X" k="122" />
+<hkern g1="edieresis" g2="Y" k="142" />
+<hkern g1="edieresis" g2="Z" k="123" />
+<hkern g1="edieresis" g2="f" k="58" />
+<hkern g1="edieresis" g2="j" k="189" />
+<hkern g1="edieresis" g2="t" k="90" />
+<hkern g1="edieresis" g2="v" k="62" />
+<hkern g1="edieresis" g2="x" k="93" />
+<hkern g1="edieresis" g2="y" k="61" />
+<hkern g1="edieresis" g2="z" k="93" />
+<hkern g1="edieresis" g2="Agrave" k="92" />
+<hkern g1="edieresis" g2="Aacute" k="92" />
+<hkern g1="edieresis" g2="Acircumflex" k="92" />
+<hkern g1="edieresis" g2="Atilde" k="92" />
+<hkern g1="edieresis" g2="Adieresis" k="92" />
+<hkern g1="edieresis" g2="Aring" k="92" />
+<hkern g1="edieresis" g2="AE" k="95" />
+<hkern g1="edieresis" g2="Yacute" k="88" />
+<hkern g1="edieresis" g2="yacute" k="61" />
+<hkern g1="edieresis" g2="ydieresis" k="61" />
+<hkern g1="igrave" g2="T" k="40" />
+<hkern g1="igrave" g2="j" k="264" />
+<hkern g1="igrave" g2="dotlessi" k="46" />
+<hkern g1="iacute" g2="j" k="224" />
+<hkern g1="iacute" g2="dotlessi" k="49" />
+<hkern g1="icircumflex" g2="j" k="173" />
+<hkern g1="icircumflex" g2="dotlessi" k="44" />
+<hkern g1="idieresis" g2="A" k="40" />
+<hkern g1="idieresis" g2="T" k="-19" />
+<hkern g1="idieresis" g2="a" k="43" />
+<hkern g1="idieresis" g2="c" k="41" />
+<hkern g1="idieresis" g2="d" k="43" />
+<hkern g1="idieresis" g2="e" k="43" />
+<hkern g1="idieresis" g2="g" k="43" />
+<hkern g1="idieresis" g2="j" k="182" />
+<hkern g1="idieresis" g2="m" k="49" />
+<hkern g1="idieresis" g2="n" k="42" />
+<hkern g1="idieresis" g2="o" k="43" />
+<hkern g1="idieresis" g2="p" k="43" />
+<hkern g1="idieresis" g2="q" k="43" />
+<hkern g1="idieresis" g2="s" k="40" />
+<hkern g1="idieresis" g2="u" k="42" />
+<hkern g1="idieresis" g2="v" k="42" />
+<hkern g1="idieresis" g2="w" k="47" />
+<hkern g1="idieresis" g2="x" k="41" />
+<hkern g1="idieresis" g2="y" k="41" />
+<hkern g1="idieresis" g2="z" k="41" />
+<hkern g1="idieresis" g2="Agrave" k="40" />
+<hkern g1="idieresis" g2="Aacute" k="40" />
+<hkern g1="idieresis" g2="Acircumflex" k="40" />
+<hkern g1="idieresis" g2="Atilde" k="40" />
+<hkern g1="idieresis" g2="Adieresis" k="40" />
+<hkern g1="idieresis" g2="Aring" k="40" />
+<hkern g1="idieresis" g2="AE" k="43" />
+<hkern g1="idieresis" g2="agrave" k="43" />
+<hkern g1="idieresis" g2="aacute" k="43" />
+<hkern g1="idieresis" g2="aring" k="43" />
+<hkern g1="idieresis" g2="ae" k="55" />
+<hkern g1="idieresis" g2="ccedilla" k="41" />
+<hkern g1="idieresis" g2="egrave" k="43" />
+<hkern g1="idieresis" g2="eacute" k="43" />
+<hkern g1="idieresis" g2="ograve" k="43" />
+<hkern g1="idieresis" g2="oacute" k="43" />
+<hkern g1="idieresis" g2="oslash" k="43" />
+<hkern g1="idieresis" g2="ugrave" k="42" />
+<hkern g1="idieresis" g2="uacute" k="42" />
+<hkern g1="idieresis" g2="yacute" k="41" />
+<hkern g1="idieresis" g2="dotlessi" k="109" />
+<hkern g1="eth" g2="T" k="133" />
+<hkern g1="eth" g2="V" k="133" />
+<hkern g1="eth" g2="W" k="107" />
+<hkern g1="eth" g2="X" k="101" />
+<hkern g1="eth" g2="Y" k="132" />
+<hkern g1="eth" g2="Z" k="102" />
+<hkern g1="eth" g2="j" k="200" />
+<hkern g1="eth" g2="t" k="68" />
+<hkern g1="eth" g2="x" k="71" />
+<hkern g1="eth" g2="y" k="40" />
+<hkern g1="eth" g2="z" k="71" />
+<hkern g1="eth" g2="AE" k="42" />
+<hkern g1="eth" g2="Yacute" k="132" />
+<hkern g1="eth" g2="idieresis" k="44" />
+<hkern g1="eth" g2="yacute" k="40" />
+<hkern g1="eth" g2="ydieresis" k="40" />
+<hkern g1="ntilde" g2="T" k="76" />
+<hkern g1="ntilde" g2="V" k="76" />
+<hkern g1="ntilde" g2="W" k="49" />
+<hkern g1="ntilde" g2="Y" k="75" />
+<hkern g1="ntilde" g2="f" k="42" />
+<hkern g1="ntilde" g2="j" k="190" />
+<hkern g1="ntilde" g2="t" k="74" />
+<hkern g1="ntilde" g2="v" k="46" />
+<hkern g1="ntilde" g2="y" k="45" />
+<hkern g1="ntilde" g2="Yacute" k="75" />
+<hkern g1="ntilde" g2="yacute" k="45" />
+<hkern g1="ntilde" g2="ydieresis" k="45" />
+<hkern g1="ograve" g2="A" k="60" />
+<hkern g1="ograve" g2="T" k="115" />
+<hkern g1="ograve" g2="V" k="249" />
+<hkern g1="ograve" g2="W" k="160" />
+<hkern g1="ograve" g2="X" k="122" />
+<hkern g1="ograve" g2="Y" k="169" />
+<hkern g1="ograve" g2="Z" k="123" />
+<hkern g1="ograve" g2="f" k="58" />
+<hkern g1="ograve" g2="j" k="239" />
+<hkern g1="ograve" g2="t" k="90" />
+<hkern g1="ograve" g2="v" k="62" />
+<hkern g1="ograve" g2="x" k="93" />
+<hkern g1="ograve" g2="y" k="61" />
+<hkern g1="ograve" g2="z" k="93" />
+<hkern g1="ograve" g2="Agrave" k="60" />
+<hkern g1="ograve" g2="Aacute" k="60" />
+<hkern g1="ograve" g2="Acircumflex" k="60" />
+<hkern g1="ograve" g2="Atilde" k="60" />
+<hkern g1="ograve" g2="Adieresis" k="60" />
+<hkern g1="ograve" g2="Aring" k="60" />
+<hkern g1="ograve" g2="AE" k="63" />
+<hkern g1="ograve" g2="Yacute" k="169" />
+<hkern g1="ograve" g2="icircumflex" k="58" />
+<hkern g1="ograve" g2="idieresis" k="65" />
+<hkern g1="ograve" g2="yacute" k="61" />
+<hkern g1="ograve" g2="ydieresis" k="61" />
+<hkern g1="oacute" g2="A" k="60" />
+<hkern g1="oacute" g2="T" k="114" />
+<hkern g1="oacute" g2="V" k="249" />
+<hkern g1="oacute" g2="W" k="160" />
+<hkern g1="oacute" g2="X" k="122" />
+<hkern g1="oacute" g2="Y" k="160" />
+<hkern g1="oacute" g2="Z" k="123" />
+<hkern g1="oacute" g2="f" k="58" />
+<hkern g1="oacute" g2="j" k="216" />
+<hkern g1="oacute" g2="t" k="90" />
+<hkern g1="oacute" g2="v" k="62" />
+<hkern g1="oacute" g2="x" k="93" />
+<hkern g1="oacute" g2="y" k="61" />
+<hkern g1="oacute" g2="z" k="93" />
+<hkern g1="oacute" g2="Agrave" k="60" />
+<hkern g1="oacute" g2="Aacute" k="60" />
+<hkern g1="oacute" g2="Acircumflex" k="60" />
+<hkern g1="oacute" g2="Atilde" k="60" />
+<hkern g1="oacute" g2="Adieresis" k="60" />
+<hkern g1="oacute" g2="Aring" k="60" />
+<hkern g1="oacute" g2="AE" k="63" />
+<hkern g1="oacute" g2="Yacute" k="106" />
+<hkern g1="oacute" g2="icircumflex" k="58" />
+<hkern g1="oacute" g2="idieresis" k="65" />
+<hkern g1="oacute" g2="yacute" k="61" />
+<hkern g1="oacute" g2="ydieresis" k="61" />
+<hkern g1="ocircumflex" g2="A" k="60" />
+<hkern g1="ocircumflex" g2="T" k="169" />
+<hkern g1="ocircumflex" g2="V" k="218" />
+<hkern g1="ocircumflex" g2="W" k="160" />
+<hkern g1="ocircumflex" g2="X" k="122" />
+<hkern g1="ocircumflex" g2="Y" k="138" />
+<hkern g1="ocircumflex" g2="Z" k="123" />
+<hkern g1="ocircumflex" g2="f" k="58" />
+<hkern g1="ocircumflex" g2="j" k="224" />
+<hkern g1="ocircumflex" g2="t" k="90" />
+<hkern g1="ocircumflex" g2="v" k="62" />
+<hkern g1="ocircumflex" g2="x" k="93" />
+<hkern g1="ocircumflex" g2="y" k="61" />
+<hkern g1="ocircumflex" g2="z" k="93" />
+<hkern g1="ocircumflex" g2="Agrave" k="60" />
+<hkern g1="ocircumflex" g2="Aacute" k="60" />
+<hkern g1="ocircumflex" g2="Acircumflex" k="60" />
+<hkern g1="ocircumflex" g2="Atilde" k="60" />
+<hkern g1="ocircumflex" g2="Adieresis" k="60" />
+<hkern g1="ocircumflex" g2="Aring" k="60" />
+<hkern g1="ocircumflex" g2="AE" k="63" />
+<hkern g1="ocircumflex" g2="Yacute" k="138" />
+<hkern g1="ocircumflex" g2="yacute" k="61" />
+<hkern g1="ocircumflex" g2="ydieresis" k="61" />
+<hkern g1="otilde" g2="A" k="60" />
+<hkern g1="otilde" g2="T" k="83" />
+<hkern g1="otilde" g2="V" k="123" />
+<hkern g1="otilde" g2="W" k="97" />
+<hkern g1="otilde" g2="X" k="122" />
+<hkern g1="otilde" g2="Y" k="122" />
+<hkern g1="otilde" g2="Z" k="123" />
+<hkern g1="otilde" g2="f" k="58" />
+<hkern g1="otilde" g2="j" k="192" />
+<hkern g1="otilde" g2="t" k="90" />
+<hkern g1="otilde" g2="v" k="62" />
+<hkern g1="otilde" g2="x" k="93" />
+<hkern g1="otilde" g2="y" k="61" />
+<hkern g1="otilde" g2="z" k="93" />
+<hkern g1="otilde" g2="Agrave" k="60" />
+<hkern g1="otilde" g2="Aacute" k="60" />
+<hkern g1="otilde" g2="Acircumflex" k="60" />
+<hkern g1="otilde" g2="Atilde" k="60" />
+<hkern g1="otilde" g2="Adieresis" k="60" />
+<hkern g1="otilde" g2="Aring" k="60" />
+<hkern g1="otilde" g2="AE" k="63" />
+<hkern g1="otilde" g2="Yacute" k="122" />
+<hkern g1="otilde" g2="yacute" k="61" />
+<hkern g1="otilde" g2="ydieresis" k="61" />
+<hkern g1="odieresis" g2="A" k="60" />
+<hkern g1="odieresis" g2="T" k="228" />
+<hkern g1="odieresis" g2="V" k="186" />
+<hkern g1="odieresis" g2="W" k="160" />
+<hkern g1="odieresis" g2="X" k="122" />
+<hkern g1="odieresis" g2="Y" k="133" />
+<hkern g1="odieresis" g2="Z" k="123" />
+<hkern g1="odieresis" g2="f" k="58" />
+<hkern g1="odieresis" g2="j" k="227" />
+<hkern g1="odieresis" g2="t" k="90" />
+<hkern g1="odieresis" g2="v" k="62" />
+<hkern g1="odieresis" g2="x" k="93" />
+<hkern g1="odieresis" g2="y" k="61" />
+<hkern g1="odieresis" g2="z" k="93" />
+<hkern g1="odieresis" g2="Agrave" k="60" />
+<hkern g1="odieresis" g2="Aacute" k="60" />
+<hkern g1="odieresis" g2="Acircumflex" k="60" />
+<hkern g1="odieresis" g2="Atilde" k="60" />
+<hkern g1="odieresis" g2="Adieresis" k="60" />
+<hkern g1="odieresis" g2="Aring" k="60" />
+<hkern g1="odieresis" g2="AE" k="63" />
+<hkern g1="odieresis" g2="Yacute" k="118" />
+<hkern g1="odieresis" g2="yacute" k="61" />
+<hkern g1="odieresis" g2="ydieresis" k="61" />
+<hkern g1="oslash" g2="A" k="60" />
+<hkern g1="oslash" g2="T" k="163" />
+<hkern g1="oslash" g2="V" k="123" />
+<hkern g1="oslash" g2="X" k="122" />
+<hkern g1="oslash" g2="Y" k="217" />
+<hkern g1="oslash" g2="Z" k="123" />
+<hkern g1="oslash" g2="j" k="186" />
+<hkern g1="oslash" g2="Agrave" k="60" />
+<hkern g1="oslash" g2="Aacute" k="60" />
+<hkern g1="oslash" g2="Acircumflex" k="60" />
+<hkern g1="oslash" g2="Atilde" k="60" />
+<hkern g1="oslash" g2="Adieresis" k="60" />
+<hkern g1="oslash" g2="Aring" k="60" />
+<hkern g1="oslash" g2="AE" k="63" />
+<hkern g1="oslash" g2="Yacute" k="217" />
+<hkern g1="oslash" g2="icircumflex" k="58" />
+<hkern g1="oslash" g2="idieresis" k="65" />
+<hkern g1="ugrave" g2="T" k="192" />
+<hkern g1="ugrave" g2="V" k="107" />
+<hkern g1="ugrave" g2="W" k="49" />
+<hkern g1="ugrave" g2="Y" k="97" />
+<hkern g1="ugrave" g2="j" k="199" />
+<hkern g1="ugrave" g2="Yacute" k="97" />
+<hkern g1="ugrave" g2="icircumflex" k="42" />
+<hkern g1="ugrave" g2="idieresis" k="49" />
+<hkern g1="uacute" g2="T" k="93" />
+<hkern g1="uacute" g2="V" k="107" />
+<hkern g1="uacute" g2="W" k="49" />
+<hkern g1="uacute" g2="Y" k="62" />
+<hkern g1="uacute" g2="j" k="195" />
+<hkern g1="uacute" g2="Yacute" k="62" />
+<hkern g1="uacute" g2="icircumflex" k="42" />
+<hkern g1="uacute" g2="idieresis" k="49" />
+<hkern g1="ucircumflex" g2="T" k="134" />
+<hkern g1="ucircumflex" g2="V" k="107" />
+<hkern g1="ucircumflex" g2="W" k="49" />
+<hkern g1="ucircumflex" g2="Y" k="71" />
+<hkern g1="ucircumflex" g2="j" k="204" />
+<hkern g1="ucircumflex" g2="Yacute" k="71" />
+<hkern g1="udieresis" g2="T" k="216" />
+<hkern g1="udieresis" g2="V" k="107" />
+<hkern g1="udieresis" g2="W" k="49" />
+<hkern g1="udieresis" g2="Y" k="97" />
+<hkern g1="udieresis" g2="j" k="222" />
+<hkern g1="udieresis" g2="Yacute" k="97" />
+<hkern g1="yacute" g2="A" k="132" />
+<hkern g1="yacute" g2="J" k="88" />
+<hkern g1="yacute" g2="T" k="91" />
+<hkern g1="yacute" g2="V" k="91" />
+<hkern g1="yacute" g2="X" k="90" />
+<hkern g1="yacute" g2="Y" k="90" />
+<hkern g1="yacute" g2="Z" k="91" />
+<hkern g1="yacute" g2="j" k="226" />
+<hkern g1="yacute" g2="Agrave" k="139" />
+<hkern g1="yacute" g2="Aacute" k="116" />
+<hkern g1="yacute" g2="Acircumflex" k="124" />
+<hkern g1="yacute" g2="Atilde" k="116" />
+<hkern g1="yacute" g2="Adieresis" k="116" />
+<hkern g1="yacute" g2="Aring" k="124" />
+<hkern g1="yacute" g2="AE" k="125" />
+<hkern g1="yacute" g2="Yacute" k="90" />
+<hkern g1="thorn" g2="A" k="60" />
+<hkern g1="thorn" g2="T" k="251" />
+<hkern g1="thorn" g2="V" k="249" />
+<hkern g1="thorn" g2="W" k="160" />
+<hkern g1="thorn" g2="X" k="122" />
+<hkern g1="thorn" g2="Y" k="258" />
+<hkern g1="thorn" g2="Z" k="123" />
+<hkern g1="thorn" g2="f" k="58" />
+<hkern g1="thorn" g2="j" k="250" />
+<hkern g1="thorn" g2="t" k="90" />
+<hkern g1="thorn" g2="v" k="62" />
+<hkern g1="thorn" g2="x" k="93" />
+<hkern g1="thorn" g2="y" k="61" />
+<hkern g1="thorn" g2="z" k="93" />
+<hkern g1="thorn" g2="Agrave" k="60" />
+<hkern g1="thorn" g2="Aacute" k="60" />
+<hkern g1="thorn" g2="Acircumflex" k="60" />
+<hkern g1="thorn" g2="Atilde" k="60" />
+<hkern g1="thorn" g2="Adieresis" k="60" />
+<hkern g1="thorn" g2="Aring" k="60" />
+<hkern g1="thorn" g2="AE" k="63" />
+<hkern g1="thorn" g2="Yacute" k="243" />
+<hkern g1="thorn" g2="icircumflex" k="58" />
+<hkern g1="thorn" g2="idieresis" k="65" />
+<hkern g1="thorn" g2="yacute" k="61" />
+<hkern g1="thorn" g2="ydieresis" k="61" />
+<hkern g1="ydieresis" g2="A" k="125" />
+<hkern g1="ydieresis" g2="J" k="88" />
+<hkern g1="ydieresis" g2="T" k="166" />
+<hkern g1="ydieresis" g2="V" k="60" />
+<hkern g1="ydieresis" g2="X" k="55" />
+<hkern g1="ydieresis" g2="Y" k="63" />
+<hkern g1="ydieresis" g2="Z" k="133" />
+<hkern g1="ydieresis" g2="j" k="227" />
+<hkern g1="ydieresis" g2="Agrave" k="117" />
+<hkern g1="ydieresis" g2="Aacute" k="102" />
+<hkern g1="ydieresis" g2="Acircumflex" k="125" />
+<hkern g1="ydieresis" g2="Atilde" k="117" />
+<hkern g1="ydieresis" g2="Adieresis" k="125" />
+<hkern g1="ydieresis" g2="Aring" k="94" />
+<hkern g1="ydieresis" g2="AE" k="141" />
+<hkern g1="ydieresis" g2="Yacute" k="86" />
+<hkern g1="dotlessi" g2="I" k="51" />
+<hkern g1="dotlessi" g2="T" k="486" />
+<hkern g1="dotlessi" g2="V" k="171" />
+<hkern g1="dotlessi" g2="W" k="81" />
+<hkern g1="dotlessi" g2="Y" k="265" />
+<hkern g1="dotlessi" g2="i" k="63" />
+<hkern g1="dotlessi" g2="j" k="278" />
+<hkern g1="dotlessi" g2="Igrave" k="60" />
+<hkern g1="dotlessi" g2="Iacute" k="66" />
+<hkern g1="dotlessi" g2="Icircumflex" k="73" />
+<hkern g1="dotlessi" g2="Idieresis" k="52" />
+<hkern g1="dotlessi" g2="Yacute" k="265" />
+<hkern g1="dotlessi" g2="igrave" k="55" />
+<hkern g1="dotlessi" g2="iacute" k="52" />
+<hkern g1="dotlessi" g2="icircumflex" k="106" />
+<hkern g1="dotlessi" g2="idieresis" k="113" />
+<hkern g1="dotlessi" g2="dotlessi" k="51" />
+</font>
+</defs>
+</svg>
diff --git a/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.ttf b/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.ttf
new file mode 100644
index 0000000..f68d1cc
Binary files /dev/null and b/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.ttf differ
diff --git a/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.woff b/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.woff
new file mode 100644
index 0000000..1057958
Binary files /dev/null and b/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.woff differ
diff --git a/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.woff2 b/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.woff2
new file mode 100644
index 0000000..14c5487
Binary files /dev/null and b/hubs/static/css/fonts/Comfortaa-regular/Comfortaa-regular.woff2 differ
diff --git a/hubs/static/css/fonts/Comfortaa-regular/LICENSE.txt b/hubs/static/css/fonts/Comfortaa-regular/LICENSE.txt
new file mode 100644
index 0000000..e0bfe25
--- /dev/null
+++ b/hubs/static/css/fonts/Comfortaa-regular/LICENSE.txt
@@ -0,0 +1,94 @@
+Copyright (c) 2010, 2011 Johan Aakerlund (aajohan@gmail.com),
+with Reserved Font Name "Comfortaa".
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.

From 45f398ce692c9ac03fff0a7d5854f0b1fa254428 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Sep 06 2015 00:43:35 +0000
Subject: [PATCH 219/254] Added @font-face definitions to style.css for Comfortaa


---

diff --git a/hubs/static/css/style.css b/hubs/static/css/style.css
index 655d2cb..1d8a9aa 100644
--- a/hubs/static/css/style.css
+++ b/hubs/static/css/style.css
@@ -309,3 +309,45 @@ font-size: 32pt;
 .navbar-nav > li.idle-year    > a { color: #AAA; }
 .navbar-nav > li.idle-2years  > a { color: #BBB; }
 .navbar-nav > li.idle-5years  > a { color: #CCC; }
+
+@font-face {
+  font-family: 'Comfortaa';
+  font-weight: 300;
+  font-style: normal;
+  src: url('/fonts/Comfortaa-300/Comfortaa-300.eot');
+  src: url('/fonts/Comfortaa-300/Comfortaa-300.eot?#iefix') format('embedded-opentype'),
+       local('Comfortaa Light'),
+       local('Comfortaa-300'),
+       url('/fonts/Comfortaa-300/Comfortaa-300.woff2') format('woff2'),
+       url('/fonts/Comfortaa-300/Comfortaa-300.woff') format('woff'),
+       url('/fonts/Comfortaa-300/Comfortaa-300.ttf') format('truetype'),
+       url('/fonts/Comfortaa-300/Comfortaa-300.svg#Comfortaa') format('svg');
+}
+
+@font-face {
+  font-family: 'Comfortaa';
+  font-weight: 400;
+  font-style: normal;
+  src: url('/fonts/Comfortaa-regular/Comfortaa-regular.eot');
+  src: url('/fonts/Comfortaa-regular/Comfortaa-regular.eot?#iefix') format('embedded-opentype'),
+       local('Comfortaa'),
+       local('Comfortaa-regular'),
+       url('/fonts/Comfortaa-regular/Comfortaa-regular.woff2') format('woff2'),
+       url('/fonts/Comfortaa-regular/Comfortaa-regular.woff') format('woff'),
+       url('/fonts/Comfortaa-regular/Comfortaa-regular.ttf') format('truetype'),
+       url('/fonts/Comfortaa-regular/Comfortaa-regular.svg#Comfortaa') format('svg');
+}
+
+@font-face {
+  font-family: 'Comfortaa';
+  font-weight: 700;
+  font-style: normal;
+  src: url('/fonts/Comfortaa-700/Comfortaa-700.eot');
+  src: url('/fonts/Comfortaa-700/Comfortaa-700.eot?#iefix') format('embedded-opentype'),
+       local('Comfortaa Bold'),
+       local('Comfortaa-700'),
+       url('/fonts/Comfortaa-700/Comfortaa-700.woff2') format('woff2'),
+       url('/fonts/Comfortaa-700/Comfortaa-700.woff') format('woff'),
+       url('/fonts/Comfortaa-700/Comfortaa-700.ttf') format('truetype'),
+       url('/fonts/Comfortaa-700/Comfortaa-700.svg#Comfortaa') format('svg');
+}

From 1e57f4329ea9a26e2eb8d291bb3b98f5e7388bf6 Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Sep 06 2015 00:44:55 +0000
Subject: [PATCH 220/254] Removed Google Fonts Link from hubs.html template


---

diff --git a/hubs/templates/hubs.html b/hubs/templates/hubs.html
index bf6f021..1e87956 100644
--- a/hubs/templates/hubs.html
+++ b/hubs/templates/hubs.html
@@ -4,8 +4,6 @@
   <link href="{{ url_for('static', filename='bootstrap/css/bootstrap.css') }}" rel="stylesheet" />
   <link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet" />
   <link href="{{ url_for('static', filename='css/pace-theme-minimal.css') }}" rel="stylesheet" />
-  <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic|Comfortaa' rel='stylesheet' type='text/css'>
-<!--I added google fonts!!!! Sorry if I wasn't supposed to do that!!! -->
 </head>
 <script src="{{ url_for('static', filename='js/pace.min.js') }}"></script>
 <body>

From 98e1a2d34039e5aa3e0d3d24eb8f413e73e7d64e Mon Sep 17 00:00:00 2001
From: Remy DeCausemaker <decause@redhat.com>
Date: Sep 06 2015 00:45:45 +0000
Subject: [PATCH 221/254] Remove extra Comfortaa files


---

diff --git a/hubs/static/css/fonts/Comfortaa_Bold-webfont.eot b/hubs/static/css/fonts/Comfortaa_Bold-webfont.eot
deleted file mode 100644
index 5f40449..0000000
Binary files a/hubs/static/css/fonts/Comfortaa_Bold-webfont.eot and /dev/null differ
diff --git a/hubs/static/css/fonts/Comfortaa_Bold-webfont.svg b/hubs/static/css/fonts/Comfortaa_Bold-webfont.svg
deleted file mode 100644
index 8b25d69..0000000
--- a/hubs/static/css/fonts/Comfortaa_Bold-webfont.svg
+++ /dev/null
@@ -1,504 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata>
-This is a custom SVG webfont generated by Font Squirrel.
-Designer    : Johan Aakerlund - aajohan
-</metadata>
-<defs>
-<font id="webfontjkcnhWWT" horiz-adv-x="1014" >
-<font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="508" />
-<glyph unicode=" "  horiz-adv-x="508" />
-<glyph unicode="&#x09;" horiz-adv-x="508" />
-<glyph unicode="&#xa0;" horiz-adv-x="508" />
-<glyph unicode="!" horiz-adv-x="511" d="M245 1472h12q84 0 103 -96v-961q-24 -99 -110 -99q-108 16 -108 99v965q19 92 103 92zM236 236h10q131 -19 131 -122v-22q0 -95 -122 -122h-15q-104 0 -130 133q27 133 126 133z" />
-<glyph unicode="&#x22;" horiz-adv-x="557" d="M193 1589q102 -26 102 -99q-23 -341 -77 -341l-28 -8q-83 0 -91 152l-20 187q22 109 114 109zM435 1589q76 0 105 -103q-32 -329 -63 -329q-17 -16 -44 -16h-4q-86 0 -86 164l-20 184q0 81 112 100z" />
-<glyph unicode="#" horiz-adv-x="1336" d="M1030 1461q94 -26 94 -94v-11q0 -32 -69 -359h71l34 4q81 0 104 -106q-21 -105 -106 -105h-145l-26 -132h104q116 -11 116 -109q-19 -98 -72 -98v-11l-52 11h-138q-79 -399 -97 -435q-36 -48 -86 -48h-11q-94 20 -94 98v6l76 379h-178q4 0 4 -17q0 -45 -28 -205 q-43 -213 -61 -224q-29 -41 -84 -41q-103 20 -103 108l76 379h-62l-22 -4q-85 0 -105 106v7q0 75 102 98h133l26 132h-102q-102 20 -102 107q17 100 67 100v7l70 -7h109q82 438 113 438q28 22 67 22q87 0 101 -106l-69 -354h158q77 397 96 423q38 41 91 41zM644 790 l-26 -132h157l26 132h-157z" />
-<glyph unicode="$" d="M622 210q99 73 99 180v39q0 126 -99 187v-406zM336 1091v-31q0 -106 76 -148v316q-76 -38 -76 -137zM507 1682h20q75 0 95 -100v-103q76 -6 200 -118q52 -53 52 -88v-23q0 -76 -101 -92q-46 0 -119 81q-27 23 -32 24v-398q169 -62 249 -213q61 -116 61 -222 q0 -298 -307 -432h-3v-106q-24 -100 -106 -100q-104 22 -104 104v104q0 -13 -29 -13q-15 0 -37 3q-186 63 -269 200l-6 34q18 104 104 104q55 0 129 -93q76 -50 108 -52v526q-120 37 -175 116q-108 111 -108 258v28q0 206 210 331q72 35 73 35v115q28 90 95 90z" />
-<glyph unicode="%" horiz-adv-x="1610" d="M462 1486h19q182 0 308 -164q74 -109 74 -223q0 -252 -262 -372q-75 -21 -124 -21h-7q-228 0 -349 220q-41 84 -41 170q0 256 270 372q56 18 112 18zM1316 1466h14q95 -20 95 -99v-15q0 -32 -146 -219l-864 -1142q-42 -21 -65 -21h-7q-99 21 -99 94v16q0 42 112 178 l897 1184q35 24 63 24zM288 1097v-5q0 -128 142 -175l33 -3h18q125 0 171 146l4 37q0 131 -140 178l-44 7q-129 0 -178 -136zM1209 743q229 0 361 -237q29 -87 29 -152v-12q0 -229 -241 -352q-75 -30 -149 -30h-7q-200 0 -328 192q-55 94 -55 186v23q0 207 205 333 q99 49 185 49zM1023 352q0 -127 133 -178l48 -6h13q122 0 171 140l3 29v24q0 127 -150 171l-34 4q-135 0 -181 -154z" />
-<glyph unicode="&#x26;" horiz-adv-x="1457" d="M529 655q-176 -158 -176 -228l-4 -31v-17q0 -126 145 -183l51 -7q114 0 226 142l41 41zM530 959q120 106 120 160v15q0 75 -91 111l-33 3q-71 0 -106 -79l-6 -23v-27q0 -61 116 -160zM966 525l137 139q36 26 69 26q97 0 110 -112q0 -58 -142 -182l-21 -23l197 -198 q23 -29 23 -61v-15q-21 -99 -102 -99h-11q-56 0 -163 123l-98 96q-204 -222 -279 -222q-66 -27 -139 -27q-237 0 -376 236q-41 97 -41 185q0 208 221 389l25 26q-174 162 -174 230q-8 0 -8 98q0 206 220 312q61 17 106 17h19q213 0 314 -233q12 -54 12 -92v-19 q0 -160 -165 -292l-16 -18z" />
-<glyph unicode="'" horiz-adv-x="346" d="M206 1576q102 -26 102 -99q-23 -341 -77 -341l-28 -8q-83 0 -91 152l-20 187q22 109 114 109z" />
-<glyph unicode="(" horiz-adv-x="758" d="M633 1626h14q96 -18 96 -98v-17l-78 -208q-129 -348 -129 -714q0 -456 205 -905l7 -24q-20 -108 -104 -108h-7q-88 0 -132 158q-178 413 -178 883q0 505 227 995q41 38 79 38z" />
-<glyph unicode=")" horiz-adv-x="758" d="M171 1630h15q75 0 124 -158q178 -423 178 -876q0 -534 -236 -1014q-43 -28 -73 -28h-8q-85 0 -104 110l84 210q128 362 128 718q0 447 -205 906l-7 24q19 108 104 108z" />
-<glyph unicode="*" horiz-adv-x="1024" d="M474 1366l-32 104v13q0 83 111 107q105 -27 105 -107v-13l-32 -102l103 64l35 5q106 -20 106 -106v-12q0 -60 -84 -98l-118 4l93 -76l17 -45v-25q0 -84 -103 -102q-102 0 -120 135l-3 10l-25 -84q-41 -61 -102 -61q-103 23 -103 98v16q0 64 105 125l9 7l-121 -2 q-85 34 -85 106v4q0 86 107 106q39 0 137 -71z" />
-<glyph unicode="+" d="M542 1147h12q84 0 102 -103v-197h183q121 -10 121 -113q-20 -103 -76 -103v-11l-53 11h-175v-201q-19 -103 -106 -103h-7q-103 20 -103 98v206h-172l-24 -4q-87 0 -108 111v7q0 78 107 102h197v201q19 99 102 99z" />
-<glyph unicode="," horiz-adv-x="557" d="M283 -28q-177 30 -177 174v4q0 102 122 151q21 11 56 11h19q163 -34 163 -154l1 -31l7 -47v-18q0 -203 -199 -302q-43 -28 -75 -28q-67 0 -82 88q0 74 103 94q30 17 62 58z" />
-<glyph unicode="-" horiz-adv-x="670" d="M175 698h400q83 0 106 -110q-25 -106 -106 -106h-400q-92 0 -107 116q28 100 107 100z" />
-<glyph unicode="&#xad;" horiz-adv-x="670" d="M175 698h400q83 0 106 -110q-25 -106 -106 -106h-400q-92 0 -107 116q28 100 107 100z" />
-<glyph unicode="." horiz-adv-x="557" d="M299 304q129 0 165 -151v-28q0 -94 -113 -145q-20 -10 -52 -10h-4q-137 0 -165 167q0 110 118 157q19 10 51 10z" />
-<glyph unicode="/" horiz-adv-x="770" d="M661 1547q103 -18 103 -102v-25q-506 -1395 -560 -1527q-43 -46 -86 -46h-8q-87 0 -106 110q5 34 560 1540q49 50 97 50z" />
-<glyph unicode="0" horiz-adv-x="989" d="M476 1467q266 0 406 -284q74 -227 74 -419v-87q0 -237 -98 -479q-148 -228 -374 -228h-12q-246 0 -386 259q-86 220 -86 486v11q0 282 102 513q151 228 374 228zM196 737v-41q0 -253 90 -422q81 -100 183 -100h11q229 0 269 367q11 61 15 181q0 214 -73 407 q-84 134 -211 134q-155 0 -229 -173q-55 -183 -55 -353z" />
-<glyph unicode="1" horiz-adv-x="568" d="M331 1467h19q95 -21 95 -95v-1303q-18 -99 -102 -99h-7q-99 21 -99 94v1156q-67 -22 -103 -22q-71 0 -94 95v23q0 80 175 116z" />
-<glyph unicode="2" horiz-adv-x="976" d="M461 1466q218 0 379 -194q85 -129 85 -267q0 -210 -201 -399l-375 -429h497q81 0 98 -98v-9q-15 -100 -102 -100h-736q-98 18 -98 102v4q0 49 79 123l584 666q43 60 43 140q0 171 -180 240q-28 9 -66 9h-11q-164 0 -237 -176q-9 -36 -13 -96q-37 -75 -98 -75h-10 q-99 18 -99 98q0 242 230 396q123 65 231 65z" />
-<glyph unicode="3" horiz-adv-x="955" d="M474 1462q183 0 315 -163q74 -100 74 -221v-15q0 -170 -118 -273q178 -129 178 -360q0 -239 -225 -396q-117 -64 -231 -64h-11q-270 0 -420 278q-36 103 -36 185q0 78 106 98q86 0 101 -103q0 -146 153 -231q54 -20 107 -20q150 0 228 159q17 46 17 79v30q0 141 -157 219 l-127 28q-55 42 -55 92v4q0 101 132 101q60 0 128 84q26 55 26 101q0 104 -104 162q-37 19 -84 19q-120 0 -171 -128q-14 -132 -42 -132q-27 -30 -69 -30q-102 23 -102 94v19q0 213 212 339q81 41 175 45z" />
-<glyph unicode="4" horiz-adv-x="1103" d="M748 1455h23q62 0 95 -90l-5 -43v-720h86l34 3q76 0 102 -101q0 -76 -90 -109l-61 4h-71v-335q0 -73 -98 -94h-10q-99 18 -99 101v328h-476l-98 -4q-80 34 -80 98v15q0 41 46 77q599 779 633 832q35 38 69 38zM320 602h334v435z" />
-<glyph unicode="5" d="M183 1460l45 -5h573q85 0 105 -105q0 -85 -106 -108h-497v-319h185q270 0 422 -276q47 -114 47 -201q0 -247 -234 -409q-121 -67 -239 -67h-12q-279 0 -435 288q-37 110 -37 189q35 96 108 96q113 0 113 -158q43 -129 134 -174q74 -28 121 -28q176 0 250 180q14 35 14 83 q0 192 -203 256l-85 8h-261q-74 0 -101 89v563q0 63 93 98z" />
-<glyph unicode="6" horiz-adv-x="951" d="M211 446v-35q0 -137 158 -217q45 -13 92 -17q169 0 241 178l10 65v13q0 177 -191 242l-66 7q-164 0 -238 -181zM440 889h38q222 0 376 -221q69 -122 69 -238q0 -229 -209 -383q-119 -77 -247 -77h-19q-220 0 -379 218q-69 124 -69 242q0 155 111 303l410 706q45 27 78 27 q75 0 98 -103q0 -42 -95 -192z" />
-<glyph unicode="7" horiz-adv-x="964" d="M679 1252h-535q-103 20 -103 108q22 99 94 99h731q95 -20 95 -90v-19q0 -29 -42 -92l-712 -1260q-42 -28 -72 -28h-6q-99 18 -99 102v15q12 44 649 1165z" />
-<glyph unicode="8" horiz-adv-x="972" d="M477 1469q186 0 315 -164q74 -101 74 -222v-19q0 -163 -118 -270q179 -130 179 -362q0 -230 -210 -385q-119 -77 -248 -77h-19q-221 0 -381 218q-69 125 -69 244q0 240 192 375q-62 48 -93 172q-12 31 -12 85v19q0 206 197 332q98 54 193 54zM295 1066q0 -120 146 -169 l37 -4q127 0 174 136l7 48q0 133 -143 176l-44 4q-123 0 -171 -132zM208 433q0 -177 189 -246q23 -9 72 -9q167 0 240 186l7 51v36q0 142 -167 221q-46 14 -84 14q-182 0 -247 -186z" />
-<glyph unicode="9" horiz-adv-x="972" d="M210 1023v-34q0 -131 148 -213q43 -19 103 -19q144 0 221 137q26 50 26 110v4q0 170 -179 238q-23 9 -64 9h-23q-140 0 -219 -161q-13 -46 -13 -71zM430 548q-239 17 -377 247q-53 109 -53 213q0 255 248 404q108 53 213 53q240 0 393 -229q64 -122 64 -228 q0 -172 -138 -334l-504 -677q-39 -27 -73 -27q-102 20 -102 105q0 45 126 198z" />
-<glyph unicode=":" horiz-adv-x="557" d="M322 982q111 0 154 -129v-37q0 -96 -129 -142h-27q-152 23 -152 157q30 151 154 151zM310 314h16q119 0 150 -139v-23q0 -111 -149 -147q-159 28 -159 162q32 147 142 147z" />
-<glyph unicode=";" horiz-adv-x="557" d="M297 956q111 0 154 -129v-37q0 -96 -129 -142h-27q-152 23 -152 157q30 151 154 151zM321 288q158 0 158 -222v-4q0 -208 -249 -290h-28q-75 16 -75 78v20q19 74 88 74l17 -3q61 33 72 33q3 0 3 -2l21 7q-165 26 -165 155q0 109 125 154h33z" />
-<glyph unicode="&#x37e;" horiz-adv-x="557" d="M297 956q111 0 154 -129v-37q0 -96 -129 -142h-27q-152 23 -152 157q30 151 154 151zM321 288q158 0 158 -222v-4q0 -208 -249 -290h-28q-75 16 -75 78v20q19 74 88 74l17 -3q61 33 72 33q3 0 3 -2l21 7q-165 26 -165 155q0 109 125 154h33z" />
-<glyph unicode="&#x3c;" d="M425 625q23 -10 507 -312q34 -40 34 -79v-4q0 -91 -108 -106q-42 0 -166 85l-539 334q-39 42 -39 83q0 79 128 135q576 371 610 371h12q102 -26 102 -106v-8q0 -76 -140 -143q-5 -7 -401 -250z" />
-<glyph unicode="=" d="M243 863h612q83 0 106 -110q-25 -106 -106 -106h-612q-92 0 -107 116q28 100 107 100zM243 531h611q107 -21 107 -113q-22 -103 -106 -103h-620q-82 0 -98 112q0 80 106 104z" />
-<glyph unicode="&#x3e;" d="M247 1150q38 0 252 -141q430 -265 466 -296q24 -32 24 -65v-8q0 -76 -112 -123q-588 -375 -618 -375h-19q-103 19 -103 106v4q0 77 143 146l390 249q-478 293 -506 322q-27 37 -27 74q21 107 110 107z" />
-<glyph unicode="?" horiz-adv-x="980" d="M527 1463q193 0 349 -169q109 -138 109 -300q0 -203 -183 -362q-162 -89 -162 -258q-15 -103 -108 -103q-99 22 -99 94v30q0 253 261 414q83 82 83 196q0 143 -152 229q-68 21 -109 21q-149 0 -233 -158l-27 -132q-45 -58 -95 -58q-103 22 -103 102q0 219 215 381 q131 73 254 73zM520 228h19q88 0 124 -108v-34q-23 -122 -139 -122q-125 27 -125 128q0 112 121 136z" />
-<glyph unicode="@" horiz-adv-x="2019" d="M568 635v-12q0 -220 222 -332q69 -26 124 -26h32q183 0 302 185q44 86 44 165v16q0 212 -211 325q-73 33 -151 33h-4q-223 0 -336 -233q-22 -72 -22 -121zM1293 174q-133 -125 -347 -125h-32q-295 0 -490 295q-72 143 -72 287q0 323 316 511q135 63 262 63 q328 0 519 -320q59 -132 59 -270v-358q129 0 203 131q37 90 37 199v52q0 312 -262 557q-228 189 -500 189q-402 0 -651 -355q-119 -192 -119 -411v-4q0 -364 300 -608q215 -158 470 -158q215 0 437 134l31 7q110 -22 110 -111q0 -121 -358 -221q-98 -25 -192 -25h-52 q-359 0 -661 272q-305 308 -305 718q0 418 338 734q289 244 632 244h36q430 0 747 -367q219 -280 219 -615q0 -426 -294 -544q-77 -34 -156 -34h-28q-158 0 -193 72l-5 28z" />
-<glyph unicode="A" horiz-adv-x="1191" d="M709 744l-121 317l-117 -317h238zM586 1458q93 0 131 -160q454 -1183 459 -1217v-13q0 -81 -98 -98h-7q-90 0 -123 149l-161 418h-398l-202 -533q-45 -34 -78 -34h-11q-98 18 -98 101v9l130 352q335 872 365 973q48 53 91 53z" />
-<glyph unicode="B" horiz-adv-x="943" d="M72 1467l50 -8h225l15 3q190 0 321 -175q67 -98 67 -213v-11q0 -140 -85 -237q228 -125 228 -400q0 -276 -286 -424q-93 -32 -166 -32h-342q-99 18 -99 102v1287q15 100 72 100v8zM207 1252v-363h109q165 0 210 113q13 33 13 65v11q0 124 -145 170l-75 4h-112zM207 682 v-505h166q199 0 265 110q44 63 44 139v7q0 181 -198 242l-101 7h-176z" />
-<glyph unicode="C" horiz-adv-x="1300" d="M744 1466q233 0 439 -146q22 -42 22 -65v-8q0 -91 -107 -102h-13l-136 70q-126 40 -205 40q-255 0 -440 -233q-93 -156 -93 -304q0 -298 280 -473q123 -64 246 -64h11q157 0 327 106h35q95 -21 95 -98v-11q0 -102 -275 -184q-83 -24 -174 -24h-19q-370 0 -619 342 q-118 199 -118 406q0 389 354 633q190 115 390 115z" />
-<glyph unicode="D" horiz-adv-x="1140" d="M72 1478l52 -11h189l42 4q338 0 585 -292q159 -206 159 -466q0 -359 -315 -604q-201 -139 -424 -139h-261q-99 18 -99 102v1295q15 100 72 100v11zM208 1263v-1085h133q342 0 507 331q43 112 43 215q0 247 -220 432q-134 107 -406 107h-57z" />
-<glyph unicode="E" horiz-adv-x="1031" d="M72 1479l52 -11h737l15 4q95 0 110 -114q-21 -98 -113 -98h-665v-452h424l54 4q76 0 99 -103q0 -73 -86 -109l-82 4h-409v-426h683q79 0 96 -112q-29 -96 -99 -96h-789q-99 18 -99 102v1296q15 100 72 100v11z" />
-<glyph unicode="F" horiz-adv-x="959" d="M72 1479l52 -11h737l15 4q95 0 110 -114q-21 -98 -113 -98h-665v-452h424l54 4q76 0 99 -103q0 -73 -86 -109l-82 4h-409v-506l5 -27q-24 -101 -103 -101h-11q-99 18 -99 102v1296q15 100 72 100v11z" />
-<glyph unicode="G" horiz-adv-x="1250" d="M733 1466q238 0 433 -136q28 -38 28 -71v-4q0 -83 -103 -102q-22 0 -162 66q-82 32 -158 32h-61q-198 0 -381 -193q-118 -162 -118 -332v-15q0 -278 258 -455q134 -75 268 -75h15q132 0 250 64v296h-246q-98 17 -98 102v5q17 100 101 100h352q81 0 98 -100v-421 q0 -111 -61 -140q-199 -117 -389 -117h-22q-370 0 -619 342q-118 195 -118 406q0 376 334 622q206 126 399 126z" />
-<glyph unicode="H" horiz-adv-x="1100" d="M94 1463h18q95 -20 95 -90v-568h652v560q17 98 98 98h14q95 -18 95 -98v-1301q0 -73 -99 -94h-10q-98 18 -98 102v530h-652v-534q0 -81 -98 -98h-7q-83 0 -102 103v1279q12 111 94 111z" />
-<glyph unicode="I" horiz-adv-x="539" d="M160 1479l23 -4h137l18 4q106 -23 106 -110q-18 -103 -102 -103h14v-1087h-7q74 0 95 -100v-10q-18 -99 -102 -99h-183q-99 18 -99 102v7q21 100 95 100h-7v1087h14q-90 0 -102 108v6q0 70 100 99z" />
-<glyph unicode="J" horiz-adv-x="976" d="M846 1469h12q80 0 98 -99v-926q0 -255 -238 -409q-113 -65 -232 -65h-19q-236 0 -394 227q-73 121 -73 254q22 99 95 99h15q102 0 102 -147q5 -70 89 -161q81 -64 177 -64q190 0 260 199q10 35 10 71v926q18 95 98 95z" />
-<glyph unicode="K" horiz-adv-x="1070" d="M122 1464h5q100 -17 100 -98v-581q658 657 674 657l27 4h12q95 -18 95 -98v-12q0 -51 -89 -124l-445 -448l522 -646l4 -33v-13q0 -81 -98 -98h-7q-61 0 -149 129l-423 513l-123 -126v-422q0 -81 -100 -98h-5q-83 0 -102 102v1290q19 102 102 102z" />
-<glyph unicode="L" horiz-adv-x="951" d="M94 1463h18q95 -20 95 -90v-1196h587q87 0 103 -111q-29 -96 -103 -96h-692q-83 0 -102 103v1279q12 111 94 111z" />
-<glyph unicode="M" horiz-adv-x="1490" d="M267 874v-806q0 -81 -98 -98h-7q-83 0 -102 103v1278q12 111 94 111h15q83 0 111 -118l459 -1026q9 35 302 703l188 405q34 36 74 36h15q82 0 94 -111v-1278q-19 -103 -102 -103h-7q-98 17 -98 98v807q-372 -842 -389 -869q-41 -36 -80 -36q-88 0 -145 178z" />
-<glyph unicode="N" horiz-adv-x="1283" d="M998 374v992q18 95 98 95h11q81 0 98 -98v-1288q0 -87 -107 -105q-61 0 -158 144l-733 936v-978q0 -81 -100 -98h-5q-83 0 -102 102v1274q12 111 94 111h15q67 0 108 -88q53 -60 781 -999z" />
-<glyph unicode="O" horiz-adv-x="1536" d="M748 1465q378 0 632 -350q115 -199 115 -401q0 -374 -338 -622q-192 -122 -402 -122h-15q-386 0 -629 358q-111 182 -111 393q0 358 314 602q205 142 434 142zM207 710q0 -259 230 -437q142 -96 303 -96h19q253 0 429 226q100 144 100 315q0 293 -269 464 q-132 76 -271 76q-268 0 -445 -234q-96 -138 -96 -314z" />
-<glyph unicode="P" horiz-adv-x="917" d="M94 1468h346q218 0 371 -224q57 -115 57 -208v-27q0 -203 -183 -350q-125 -86 -245 -86h-232v-505q0 -80 -99 -98h-7q-83 0 -102 103v1283q12 112 94 112zM208 1260v-479h205q170 0 234 163q13 33 13 80q0 148 -154 220q-35 16 -85 16h-213z" />
-<glyph unicode="Q" horiz-adv-x="1553" d="M1206 426q82 135 82 292q0 293 -269 465q-131 75 -271 75q-268 0 -445 -234q-96 -138 -96 -314q0 -259 230 -437q142 -96 303 -96h19q177 0 300 98q-133 145 -156 181v38q18 95 98 95h11q52 0 147 -116zM1348 273q151 -149 151 -194v-7q0 -80 -103 -102q-61 0 -167 130 q-28 21 -29 21q-194 -151 -445 -151h-15q-385 0 -629 358q-111 182 -111 393q0 358 314 602q206 142 434 142q378 0 633 -350q114 -198 114 -401q0 -237 -147 -441z" />
-<glyph unicode="R" horiz-adv-x="934" d="M94 1465h315q218 0 355 -228q45 -89 45 -185v-15q0 -214 -208 -351l-10 -5q332 -573 332 -594v-19q0 -81 -100 -98h-6q-73 0 -140 145l-301 514h-168v-561q0 -81 -100 -98h-6q-83 0 -102 103v1280q12 112 94 112zM208 1261v-425h185q156 0 206 169l3 27v28 q0 123 -140 188q-39 13 -129 13h-125z" />
-<glyph unicode="S" horiz-adv-x="892" d="M451 1467q201 0 337 -185l7 -25v-27q0 -74 -101 -91q-46 0 -125 88q-55 35 -106 35h-23q-108 0 -164 -117q-12 -26 -12 -52v-31q0 -124 150 -180q131 0 287 -126q151 -153 151 -336q0 -225 -193 -368q-118 -82 -261 -82q-232 0 -387 204l-11 43q19 103 104 103 q54 0 123 -88q83 -57 152 -57h34q134 0 217 153q13 49 13 73v38q0 133 -154 217l-195 54q-236 136 -236 356v27q0 218 231 340q87 34 162 34z" />
-<glyph unicode="T" horiz-adv-x="1187" d="M94 1466h936q95 -18 95 -98v-15q0 -82 -111 -94h-348v-1191q0 -81 -100 -98h-5q-83 0 -102 103v1186h-356q-103 20 -103 108q22 99 94 99z" />
-<glyph unicode="U" horiz-adv-x="1168" d="M134 1463h18q95 -20 95 -90v-806q0 -243 135 -323q86 -67 191 -67q202 0 305 208q21 65 21 137v843q17 98 98 98h14q95 -18 95 -98v-881q0 -240 -228 -417q-145 -97 -294 -97h-26q-250 0 -434 244q-84 132 -84 323v815q12 111 94 111z" />
-<glyph unicode="V" horiz-adv-x="1212" d="M585 378l393 1050q45 43 87 43h4q83 0 103 -109l-480 -1295q-22 -97 -105 -97h-3q-92 0 -132 169q-452 1194 -452 1222v8q0 86 108 102q87 0 133 -180z" />
-<glyph unicode="W" horiz-adv-x="1739" d="M850 993l-280 -973q-41 -50 -88 -50h-15q-88 0 -114 167q-324 1105 -353 1227q23 102 95 102h16q89 0 112 -137l254 -885q270 949 292 985q36 37 77 37h11q93 0 116 -159q25 -69 250 -861l282 970q39 50 80 50h18q95 -20 95 -90v-23l-387 -1339q-45 -44 -86 -44h-4 q-97 0 -121 164z" />
-<glyph unicode="X" horiz-adv-x="1271" d="M95 1467h16q62 0 97 -70l400 -510l438 562q32 18 58 18h12q80 0 98 -99v-6q0 -44 -109 -171l-368 -474l466 -597l11 -40v-11q-18 -99 -102 -99h-4q-68 0 -109 86l-391 498l-438 -561q-31 -23 -63 -23h-7q-99 18 -99 102v11q0 36 169 243l308 398q-458 580 -472 610l-6 32 q23 101 95 101z" />
-<glyph unicode="Y" horiz-adv-x="1111" d="M536 897q353 531 372 545q28 21 52 21h23q69 0 94 -98q0 -46 -135 -230l-301 -450v-604q-13 -111 -94 -111h-16q-72 0 -98 86v626q0 5 -154 234l-273 411l-6 35q23 101 95 101h16q69 0 105 -88z" />
-<glyph unicode="Z" horiz-adv-x="1237" d="M94 1467h1021q80 0 98 -99v-6q0 -40 -90 -145l-804 -1039h794q100 -15 100 -102v-7q-18 -99 -102 -99h-1009q-86 0 -102 108q0 41 188 275l703 907h-788q-103 20 -103 108q22 99 94 99z" />
-<glyph unicode="[" horiz-adv-x="779" d="M319 1614l71 -7h290l49 4q98 -34 98 -102v-12q0 -70 -89 -106l-74 4h-201v-1632h265q99 -22 99 -98v-12q0 -93 -112 -106h-361q-107 21 -107 110v1833q9 117 72 117v7z" />
-<glyph unicode="\" horiz-adv-x="691" d="M107 1578h4q99 0 144 -193l511 -1394q-20 -113 -107 -113h-16q-85 0 -133 189q-472 1271 -510 1399q17 112 107 112z" />
-<glyph unicode="]" horiz-adv-x="758" d="M120 1611l65 -4h274l48 4q99 -27 99 -106v-1860q0 -78 -103 -98h-371q-93 0 -106 112v6q0 71 105 103l24 -5h235v1632h-189l-81 -4q-94 31 -94 110q0 76 94 110z" />
-<glyph unicode="^" horiz-adv-x="942" d="M409 1464h21q71 0 138 -131q236 -357 236 -387v-24q0 -82 -112 -98q-70 0 -168 182l-101 150l-200 -309q-48 -23 -77 -23q-78 0 -102 107q0 44 85 168q211 333 240 350z" />
-<glyph unicode="_" horiz-adv-x="958" d="M106 1h887q102 -18 102 -100v-15q-20 -97 -100 -97h-889q-90 0 -105 114q28 98 105 98z" />
-<glyph unicode="`" horiz-adv-x="752" d="M310 1441h15q53 0 130 -93q188 -177 188 -210l5 -23q-23 -106 -107 -106h-8q-58 0 -185 145q-137 118 -137 177v12q0 76 99 98z" />
-<glyph unicode="a" horiz-adv-x="1202" d="M206 519v-11q0 -205 206 -308q64 -24 115 -24h29q170 0 281 171q40 80 40 153v15q0 197 -195 302q-67 30 -140 30h-4q-207 0 -312 -216q-20 -66 -20 -112zM878 84q-122 -114 -322 -114h-29q-276 0 -460 276q-67 134 -67 269q0 302 296 479q126 59 246 59q307 0 486 -300 q55 -123 55 -253v-433q0 -80 -98 -97h-7q-68 0 -101 80v11z" />
-<glyph unicode="b" horiz-adv-x="1201" d="M139 1462h17q95 -21 95 -95v-420q123 118 341 118q211 0 383 -160q164 -172 164 -387q0 -308 -291 -484q-127 -64 -245 -64h-30q-222 0 -412 207q-117 156 -117 367v823q0 74 95 95zM251 529v-19q0 -212 223 -316q58 -17 106 -17h23q206 0 312 222q17 67 17 103v23 q0 211 -226 316q-69 17 -107 17h-15q-206 0 -312 -219q-21 -61 -21 -110z" />
-<glyph unicode="c" horiz-adv-x="1002" d="M543 1056q210 0 384 -160q17 -31 17 -57v-7q-18 -98 -101 -98h-4q-37 0 -136 75q-74 38 -149 38h-22q-199 0 -302 -210q-24 -71 -24 -128q0 -203 211 -309q62 -24 134 -24q118 0 240 103l41 9h15q80 0 97 -98v-6q0 -98 -262 -198q-86 -16 -128 -16h-30q-220 0 -408 206 q-116 163 -116 337q0 265 234 444q149 99 309 99z" />
-<glyph unicode="d" horiz-adv-x="1166" d="M978 1462h18q95 -20 95 -91v-748l4 -128q0 -158 -128 -329q-181 -196 -408 -196h-30q-222 0 -412 207q-117 165 -117 341q0 266 236 447q150 100 312 100q208 0 340 -118v359l-4 65q29 91 94 91zM207 529v-19q0 -212 223 -316q58 -17 106 -17h23q206 0 312 222 q17 67 17 103v23q0 211 -226 316q-69 17 -107 17h-15q-206 0 -312 -219q-21 -61 -21 -110z" />
-<glyph unicode="e" horiz-adv-x="1132" d="M539 1055q313 0 486 -297q60 -117 60 -253v-22q-18 -102 -101 -102h-749q29 -99 163 -171q79 -30 148 -30q80 0 192 56h32q94 -18 94 -98v-11q0 -118 -297 -157h-28q-292 0 -468 273q-71 129 -71 270q0 298 281 474q137 68 258 68zM217 587h655q0 37 -83 149 q-112 106 -220 106h-41q-164 0 -270 -162q-37 -64 -41 -93z" />
-<glyph unicode="f" horiz-adv-x="837" d="M596 1467h94q78 0 94 -108q0 -77 -103 -100h-60q-115 0 -152 -127l-3 -75v-22h132l60 3q73 0 96 -99v-14q0 -72 -95 -95h-193v-719l3 -42q0 -76 -102 -99q-76 0 -109 90l4 51v719h-168q-78 0 -94 108q0 59 85 100l82 -3h91v38q0 274 244 377z" />
-<glyph unicode="g" horiz-adv-x="1145" d="M544 1051q241 0 417 -200q122 -167 122 -317l-4 -126v-449q0 -141 -206 -299q-157 -103 -329 -103q-294 0 -486 262q-38 64 -38 91v11q0 73 94 94h14q71 0 111 -108q122 -153 305 -153q219 0 328 196l6 40v97q-123 -114 -323 -114h-30q-218 0 -405 204q-115 162 -115 335 q0 263 232 440q148 99 307 99zM210 523v-18q0 -208 219 -310q57 -17 104 -17h22q203 0 307 218q16 65 16 101v23q0 207 -221 310q-69 16 -106 16h-14q-203 0 -307 -215q-20 -59 -20 -108z" />
-<glyph unicode="h" horiz-adv-x="1100" d="M142 1460h18q95 -20 95 -90v-396q104 90 280 90q268 0 429 -253q61 -113 61 -215v-528q0 -81 -100 -98h-5q-77 0 -102 94v510q0 184 -191 266q-45 13 -92 13q-189 0 -267 -203q-13 -43 -13 -148v-434q0 -81 -100 -98h-5q-77 0 -102 94v1298q21 98 94 98z" />
-<glyph unicode="i" horiz-adv-x="431" d="M211 1316q99 -25 99 -94v-22q0 -79 -107 -94q-77 0 -101 105q21 105 109 105zM211 1060q99 -25 99 -94v-898q0 -81 -100 -98h-6q-82 0 -101 102v874q12 114 108 114z" />
-<glyph unicode="j" horiz-adv-x="656" d="M104 -438q-89 0 -104 109q0 83 109 99q188 0 249 186l8 106v894q0 84 105 100q99 -19 99 -100v-928q0 -295 -280 -431q-90 -32 -167 -35h-19zM465 1308q105 -21 105 -105q0 -88 -110 -105q-94 27 -94 94v22q0 68 99 94z" />
-<glyph unicode="k" horiz-adv-x="1056" d="M410 518l-125 -80v-370q0 -81 -100 -98h-6q-77 0 -102 94v1302q21 99 94 99h18q96 -21 96 -91v-690q489 324 586 379h27q86 0 102 -107q0 -66 -136 -138l-276 -189l406 -514l6 -33v-9q-18 -99 -102 -99h-7q-60 0 -157 140z" />
-<glyph unicode="l" horiz-adv-x="473" d="M159 1457h18q95 -20 95 -90v-1190h49q73 0 94 -99v-8q-17 -100 -102 -100h-146q-83 0 -102 102v1275q12 110 94 110z" />
-<glyph unicode="m" horiz-adv-x="1725" d="M171 1036q75 0 96 -66q81 66 235 66q204 0 329 -152q43 80 241 140l88 12q249 0 392 -236q48 -99 48 -190v-548q0 -73 -97 -92h-9q-97 17 -97 100v532q0 160 -168 221l-46 6h-35q-133 0 -204 -156q-9 -33 -9 -56v-547q-18 -100 -99 -100h-7q-97 17 -97 96v452 q0 175 -43 215q-72 96 -184 96h-11q-154 0 -217 -166q-10 -40 -10 -109v-488q0 -79 -97 -96h-6q-81 0 -100 100v853q11 113 107 113z" />
-<glyph unicode="n" horiz-adv-x="1197" d="M187 1053q97 -25 97 -94v-15q120 109 324 109q224 0 397 -186q126 -156 126 -329v-475q0 -74 -98 -93h-10q-98 18 -98 101v418q0 260 -221 341q-54 14 -96 14h-11q-185 0 -287 -193q-26 -57 -26 -192v-392q0 -80 -98 -97h-7q-82 0 -101 102v867q12 114 109 114z" />
-<glyph unicode="o" horiz-adv-x="1111" d="M539 1048q209 0 378 -158q161 -169 161 -381q0 -303 -286 -476q-125 -63 -242 -63h-30q-218 0 -405 204q-115 162 -115 335q0 263 232 440q148 99 307 99zM209 520v-18q0 -187 181 -290q64 -33 138 -33h22q193 0 296 201q23 62 23 122v18q0 155 -143 262q-83 57 -191 57 q-211 0 -310 -222q-16 -52 -16 -97z" />
-<glyph unicode="p" horiz-adv-x="1172" d="M595 1050q209 0 377 -157q161 -169 161 -380q0 -302 -285 -474q-125 -63 -241 -63h-30q-188 0 -314 114v-443q0 -71 -101 -93q-80 0 -103 101v825q0 405 383 546q49 16 153 24zM267 524v-19q0 -185 180 -288q64 -33 138 -33h22q193 0 295 200q23 62 23 121v19 q0 154 -142 261q-84 57 -191 57q-210 0 -308 -222q-17 -53 -17 -96z" />
-<glyph unicode="q" horiz-adv-x="1153" d="M555 1040q207 0 375 -155q160 -156 160 -413v-821q-23 -101 -103 -101q-101 22 -101 93v440q-122 -113 -320 -113h-29q-217 0 -403 203q-114 161 -114 332q0 261 230 437q148 98 305 98zM227 516v-18q0 -185 180 -287q63 -33 137 -33h22q192 0 294 199q23 62 23 121v18 q0 153 -143 260q-82 57 -189 57q-209 0 -307 -221q-17 -52 -17 -96z" />
-<glyph unicode="r" horiz-adv-x="925" d="M208 1061q98 -25 98 -94v-16q124 110 323 110q107 0 232 -54q43 -44 43 -85v-7q-17 -98 -101 -98h-9q-103 33 -150 33h-22q-202 0 -296 -210q-20 -55 -20 -128v-444q0 -81 -100 -98h-6q-82 0 -101 102v874q12 115 109 115z" />
-<glyph unicode="s" horiz-adv-x="968" d="M704 327q-1 20 -41 24q-506 113 -540 144q-103 78 -103 193q0 156 218 296q120 63 237 63q274 0 433 -253l4 -37v-6q0 -85 -102 -100q-68 0 -126 96q-91 89 -209 89q-154 0 -241 -144l-2 -10q0 -20 86 -27q430 -104 475 -121q123 -81 123 -205v-3q0 -171 -242 -309 q-105 -47 -221 -47q-240 0 -405 224q-21 30 -21 58v22q0 81 110 93q53 0 125 -103q88 -82 206 -82q140 0 232 131z" />
-<glyph unicode="t" horiz-adv-x="691" d="M287 1420h17q93 -20 93 -89v-300h119l33 4q77 0 101 -100q0 -75 -88 -107l-60 4h-105v-509q0 -120 68 -143l79 -7h40q73 0 92 -97v-9q-17 -97 -100 -97h-77q-194 0 -288 210q-17 53 -17 121v531h-42l-64 -4q-88 31 -88 106q17 97 66 97v7l69 -7h59v280q12 109 93 109z " />
-<glyph unicode="u" horiz-adv-x="1188" d="M921 80q-141 -110 -311 -110h-26q-248 0 -430 242q-84 131 -84 320v411q12 114 109 114q97 -25 97 -94v-401q0 -240 133 -320q86 -66 190 -66q199 0 301 206q21 67 21 135v438q20 102 108 102q98 -22 98 -101v-892q0 -75 -98 -94h-10q-98 18 -98 101v9z" />
-<glyph unicode="v" horiz-adv-x="1103" d="M98 1059h7q80 0 130 -142l294 -604q325 690 352 719q36 27 72 27q102 -19 102 -101v-4q0 -26 -168 -374l-281 -577q-44 -33 -77 -33h-3q-85 0 -141 162q-363 741 -385 806v26q18 95 98 95z" />
-<glyph unicode="w" horiz-adv-x="1382" d="M658 600l-188 -581q-37 -49 -86 -49h-3q-74 0 -103 87l-278 876q21 106 105 106q93 0 124 -171l153 -468q183 580 201 604q35 30 76 35q93 0 119 -145l160 -494q174 550 194 593q43 46 87 46q101 -20 101 -109l-295 -918q-45 -42 -85 -42h-3q-93 0 -125 166z" />
-<glyph unicode="x" horiz-adv-x="930" d="M450 662q52 61 279 346q21 20 70 29q99 -24 99 -93v-22q0 -34 -139 -196l-180 -227q319 -382 319 -411v-22q0 -79 -98 -96h-5q-60 0 -121 96l-224 275q-273 -341 -293 -355q-26 -16 -53 -16h-3q-85 0 -100 105q0 42 147 208l171 220l-309 387l-10 43q21 103 104 103 q61 0 138 -118q164 -196 208 -256z" />
-<glyph unicode="y" horiz-adv-x="926" d="M455 383q249 607 269 630q35 29 73 29q96 -18 96 -96v-6q-4 -31 -347 -849q-163 -405 -188 -437q-25 -19 -65 -30q-101 22 -101 91v17q0 19 155 393l-330 805v12q19 96 100 96t129 -158z" />
-<glyph unicode="z" horiz-adv-x="980" d="M66 1045l69 -7h635l39 5q93 -29 93 -94v-22q0 -35 -92 -135l-493 -618h492q93 -18 93 -96v-12q0 -79 -97 -96h-705q-85 0 -100 106q0 42 158 224l427 538h-432l-64 -4q-89 31 -89 107q17 97 66 97v7z" />
-<glyph unicode="{" d="M712 1620h141q90 0 114 -87v-27q0 -72 -95 -94h-148q-42 0 -42 -46v-579q0 -56 -39 -118q42 -47 42 -133v-586q0 -31 43 -31h144q95 -20 95 -98v-15q0 -74 -99 -95h-152q-172 0 -235 191l-4 55v575q0 26 -26 31h-84q-103 20 -103 109q22 100 95 100h61q53 0 53 23v574 q0 188 192 247z" />
-<glyph unicode="|" d="M534 1649h11q96 -18 96 -99v-1908q0 -72 -104 -95q-86 0 -106 108v1890q18 104 103 104z" />
-<glyph unicode="}" d="M207 1608h154q162 0 228 -180l4 -39v-582q0 -34 56 -34h65q85 -26 85 -97v-15q0 -75 -98 -94h-82q-30 0 -30 -64v-554q0 -147 -180 -217l-50 -4h-154q-99 15 -99 101v7q17 98 97 98h139q41 0 41 30v562q0 96 42 147q-38 55 -38 119v580q0 30 -41 30h-143q-80 0 -97 101 q15 105 101 105z" />
-<glyph unicode="~" d="M403 881h24q101 0 225 -83l29 -8h16l98 30q128 -25 128 -127q0 -123 -210 -150h-36q-100 0 -223 84l-30 7h-17l-91 -24h-17q-113 22 -113 117v14q0 96 127 125q42 15 90 15z" />
-<glyph unicode="&#xa1;" horiz-adv-x="672" d="M330 1357h14q83 0 116 -84l8 -33q0 -115 -129 -132q-103 0 -123 129q26 120 114 120zM338 1095h9q93 -16 93 -96v-931q-14 -94 -96 -94h-9q-91 17 -91 93v935q0 77 94 93z" />
-<glyph unicode="&#xa2;" horiz-adv-x="1105" d="M529 825q-164 -19 -255 -202q-23 -70 -23 -124q0 -128 87 -220zM802 1417h14q93 -17 93 -96v-16l-110 -322q172 -79 172 -163v-6q-17 -97 -99 -97h-4q-37 0 -132 74l-4 1l-214 -615q9 -3 68 -3q115 0 235 99l39 11h15q79 0 96 -97v-7q0 -95 -256 -193q-84 -16 -125 -16 h-29q-53 0 -112 16q-88 -269 -119 -291l-60 -22q-105 24 -105 104q0 19 100 296q-217 162 -217 428q0 287 275 465q136 66 261 66l18 -1q113 341 134 356q31 29 66 29z" />
-<glyph unicode="&#xa3;" horiz-adv-x="946" d="M227 804q-94 180 -94 290q0 249 262 384q83 25 123 25h39q197 0 338 -188l6 -40q-25 -106 -108 -106q-49 0 -121 81q-56 42 -115 42h-23q-132 0 -186 -157l-4 -45q0 -69 126 -286h218q104 -20 104 -110q-23 -101 -96 -101h-170l-1 5v-52q0 -133 -111 -353l-1 -3h345 q-4 0 -4 6q0 15 21 62q45 44 90 44q105 -22 105 -108q0 -35 -80 -181q-40 -34 -78 -34h-568q-84 0 -103 104q0 28 152 358q22 63 22 116l-2 36h-134q-100 19 -100 107q20 104 107 104h41z" />
-<glyph unicode="&#xa4;" d="M442 715q0 -79 91 -110h23q85 0 106 97v22q-23 97 -99 97l-9 3q-112 -18 -112 -109zM689 423q-61 -30 -141 -30q-59 0 -131 30q-60 -74 -117 -74h-11q-99 19 -99 102v12q0 56 72 116q-28 56 -28 120v20q0 76 28 132q-72 59 -72 112v25q28 89 94 89h20q49 0 114 -72 q50 28 118 28h24q81 0 129 -28q62 72 107 72h33q89 -28 89 -102v-8q0 -51 -73 -118q29 -56 29 -134q0 -69 -30 -139q74 -59 74 -113v-21q-29 -93 -98 -93h-20q-38 0 -111 74z" />
-<glyph unicode="&#xa5;" horiz-adv-x="1262" d="M538 445h-326l-36 -4q-106 22 -106 104q0 85 104 104h239q-57 87 -57 100q0 2 2 2h-196q-92 26 -92 100q0 92 114 103h27q-68 107 -67 107q-74 32 -74 103q0 73 101 96h172q86 0 104 -104q0 -73 -53 -88l250 -378q259 376 276 376q1 0 1 -2h18q-63 38 -63 85v22 q27 89 104 89h144q87 0 103 -105q0 -51 -67 -94l-72 -107h18q114 -11 114 -100v-7q0 -78 -97 -96h-175l-67 -102h235q104 -20 104 -100v-4q0 -86 -74 -96v-12l-68 8h-322v-379q0 -73 -101 -96h-6q-83 0 -115 84l4 69v322z" />
-<glyph unicode="&#xa6;" horiz-adv-x="770" d="M389 1645h11q96 -18 96 -99v-681q0 -81 -100 -99h-7q-84 0 -103 104v671q18 104 103 104zM397 426q99 -26 99 -95v-693q0 -72 -104 -95q-86 0 -106 108v659q12 116 111 116z" />
-<glyph unicode="&#xa7;" d="M541 1470h35q179 0 319 -168l6 -36q-14 -93 -84 -93h-19q-32 0 -113 76q-57 37 -124 37q-159 0 -211 -176v-42q0 -135 153 -200q195 -30 250 -90q133 -118 133 -254v-50q0 -130 -118 -232q145 -110 145 -304q0 -221 -210 -348q-94 -47 -181 -47h-12q-196 0 -334 172 l-6 35q0 80 98 94q39 0 107 -69q66 -48 135 -48q142 0 204 150l11 60q0 157 -179 216q-124 15 -180 51q-181 122 -181 293v19q0 174 119 255q-142 112 -142 297v15q0 222 214 344q83 43 165 43zM373 518v-13q0 -111 125 -154l34 -3h21q102 0 146 125l3 34q0 118 -139 158 l-35 4q-107 0 -152 -121z" />
-<glyph unicode="&#xa8;" horiz-adv-x="1024" d="M326 1339q106 -25 106 -113q-21 -107 -113 -107q-107 21 -107 114q25 106 114 106zM778 1339q106 -25 106 -113q-21 -107 -113 -107q-107 21 -107 114q25 106 114 106z" />
-<glyph unicode="&#xa9;" horiz-adv-x="1674" d="M833 1441q361 0 599 -324q120 -183 120 -399q0 -386 -358 -621q-171 -98 -369 -98q-325 0 -561 279q-154 206 -154 440q0 352 309 591q196 132 414 132zM219 729v-18q0 -324 309 -528q157 -79 305 -79q314 0 516 283q98 158 98 335q0 318 -294 523q-157 87 -301 87h-38 q-281 0 -482 -256q-113 -163 -113 -347zM844 1230q189 0 350 -143q15 -20 15 -41v-8q0 -64 -79 -71h-3q-15 0 -125 79q-95 37 -165 37q-227 0 -343 -233q-23 -65 -23 -124v-27q0 -183 185 -305q95 -49 181 -49q134 0 267 110l30 7q75 -10 75 -71v-8q0 -72 -218 -162 q-96 -22 -154 -22q-298 0 -463 289q-53 116 -53 230q0 267 248 437q123 75 275 75z" />
-<glyph unicode="&#xaa;" horiz-adv-x="648" d="M318 1427h33q169 0 257 -188l17 -84l-4 -67v-137l5 -27q-13 -48 -53 -65h-18q-39 0 -66 46v-8q-45 -38 -142 -38h-8q-206 0 -276 216q-10 24 -10 70q0 197 219 277zM189 1136q0 -106 130 -141h28q96 0 139 117l3 34q0 97 -110 142l-42 7q-99 0 -144 -113z" />
-<glyph unicode="&#xab;" horiz-adv-x="944" d="M661 492q184 -215 201 -249v-30q-13 -67 -70 -67h-4q-47 0 -128 115q-170 193 -170 227v30q213 269 269 314l42 7q61 -32 61 -75v-4q0 -32 -201 -268zM545 842q69 -22 69 -62v-20q0 -31 -191 -255l-8 -12q203 -232 203 -272q-13 -71 -70 -71h-30q-46 34 -270 313l-6 30 q0 36 127 182q128 163 151 163l4 4h21z" />
-<glyph unicode="&#xac;" d="M177 782h715q99 -19 99 -102v-348q0 -78 -103 -98h-10q-103 19 -103 106v226h-589q-107 21 -107 113q23 103 98 103z" />
-<glyph unicode="&#xae;" horiz-adv-x="1674" d="M828 1446q364 0 604 -325q121 -184 121 -400q0 -387 -360 -623q-173 -98 -372 -98q-328 0 -565 279q-156 208 -156 442q0 353 311 593q198 132 417 132zM210 732v-18q0 -325 311 -529q158 -79 307 -79q317 0 520 283q99 159 99 336q0 319 -296 525q-158 87 -304 87h-38 q-283 0 -485 -257q-114 -164 -114 -348zM616 1216h186q205 0 269 -208q8 -21 8 -64q0 -149 -156 -234q225 -388 235 -416v-7q-16 -45 -45 -45h-15q-34 0 -80 98l-201 347h-148v-396q-7 -49 -42 -49h-26q-34 19 -34 45v876q8 53 49 53zM669 1114v-329h95q160 0 197 98 q15 35 15 72q0 106 -121 151q-17 8 -49 8h-137z" />
-<glyph unicode="&#xaf;" horiz-adv-x="806" d="M18 1806h847q97 -18 97 -100v-15q-18 -97 -97 -97h-847q-86 0 -100 114q27 98 100 98z" />
-<glyph unicode="&#xb0;" horiz-adv-x="674" d="M370 1311q-62 0 -106 -44t-44 -106t43.5 -105t106.5 -43t105.5 42.5t42.5 105.5t-43.5 106.5t-104.5 43.5zM369 1472q127 0 217 -90.5t90 -217.5q0 -126 -91 -217t-218 -91q-130 0 -218.5 90t-88.5 218t90.5 218t218.5 90z" />
-<glyph unicode="&#xb1;" d="M543 1218h24q64 0 99 -94l-5 -45v-161h196q108 -17 108 -106v-8q0 -79 -100 -107l-32 5h-172v-157l4 -44q0 -79 -107 -103q-79 0 -113 94l4 53v157h-172l-27 -5q-105 27 -105 107v8q0 86 107 106h197v160l-5 41q31 99 99 99zM239 398l53 -4h533l40 4q100 -27 100 -106v-8 q0 -71 -89 -106l-74 4h-494l-69 -4q-94 31 -94 106v8q0 71 94 106z" />
-<glyph unicode="&#xb2;" d="M536 1567q109 0 190 -98q43 -65 43 -134q0 -106 -98 -198l-153 -174h198q51 0 62 -60v-7q-9 -62 -64 -62h-346q-60 11 -60 64v2q0 29 41 68l272 311q17 23 17 56q0 69 -73 97q-11 3 -26 3h-5q-66 0 -95 -70q-4 -16 -7 -45q-22 -47 -61 -47h-6q-61 11 -61 62 q0 122 116 199q61 33 116 33z" />
-<glyph unicode="&#xb3;" d="M532 1573q95 0 163 -84q38 -52 38 -115v-7q0 -87 -46 -129q75 -54 75 -172q0 -122 -114 -201q-60 -34 -119 -34h-5q-138 0 -215 142q-18 53 -18 94q0 49 65 63q56 0 65 -64q0 -61 64 -97q22 -8 44 -8q62 0 94 66q7 19 7 32v14q0 57 -64 90l-62 13q-35 27 -35 58v2 q0 64 78 64q21 0 48 33q10 21 10 40q0 40 -41 63q-14 7 -33 7q-46 0 -66 -49q-8 -75 -28 -75q-12 -14 -42 -14q-63 14 -63 60v9q0 111 110 175q42 22 90 24z" />
-<glyph unicode="&#xb4;" horiz-adv-x="889" d="M546 1444q94 0 110 -116q0 -55 -192 -227q-76 -93 -130 -93h-15q-99 19 -99 102v16q0 47 149 181q120 137 177 137z" />
-<glyph unicode="&#xb5;" horiz-adv-x="1180" d="M966 77q-141 -110 -310 -110h-26q-187 0 -306 108v-440q0 -71 -101 -93q-84 0 -104 105v1289q12 113 109 113q96 -25 96 -93v-399q0 -240 133 -318q85 -66 188 -66q199 0 300 205q21 66 21 134v436q20 101 107 101q98 -22 98 -101v-887q0 -73 -98 -94h-9q-98 18 -98 101 v9z" />
-<glyph unicode="&#xb6;" horiz-adv-x="1024" d="M433 1465h465q95 -21 95 -91v-19q0 -81 -83 -98v-1184q-19 -103 -102 -103h-6q-100 17 -100 98v1189h-80v-1187q-17 -100 -102 -100h-7q-99 18 -99 102v644q-184 0 -307 212q-37 83 -37 166q0 219 220 337q69 34 143 34z" />
-<glyph unicode="&#xb7;" horiz-adv-x="508" d="M305 776q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9z" />
-<glyph unicode="&#x2219;" horiz-adv-x="508" d="M305 776q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9z" />
-<glyph unicode="&#xb8;" horiz-adv-x="1024" d="M578 68q96 -19 96 -90v-40q104 -69 104 -186q0 -169 -197 -218l-53 3h-50l-61 -3q-85 28 -85 89v17q17 90 93 90h121q36 0 36 22v3q0 15 -41 23q-63 30 -63 82v111q0 78 100 97z" />
-<glyph unicode="&#xb9;" d="M561 1594h12q59 -13 59 -61v-614q-11 -61 -64 -61h-4q-61 13 -61 60v522q-13 -4 -33 -4q-45 0 -60 58v13q0 50 95 70z" />
-<glyph unicode="&#xba;" horiz-adv-x="718" d="M400 1573q126 0 192 -134q33 -102 33 -188v-38q0 -106 -44 -215q-70 -108 -177 -108h-6q-116 0 -182 122q-39 99 -39 218v5q0 125 46 230q72 108 177 108zM296 1239v-17q0 -107 36 -174q29 -36 65 -36h5q84 0 99 145q5 26 7 77q0 89 -30 168q-31 48 -76 48q-56 0 -83 -63 q-23 -76 -23 -148z" />
-<glyph unicode="&#xbb;" horiz-adv-x="944" d="M282 829q48 0 150 -139q151 -169 151 -207q0 -33 -210 -278q-47 -68 -88 -68h-7q-71 13 -71 74q0 36 115 167l88 108q-183 213 -199 246v27q0 57 71 70zM658 485q-203 234 -203 273q16 75 74 75q46 0 131 -119q167 -188 167 -223v-30q-203 -260 -275 -320h-46 q-35 16 -51 51v27q0 36 203 266z" />
-<glyph unicode="&#xbc;" horiz-adv-x="1470" d="M1215 1472h12q81 0 98 -100v-6q0 -45 -131 -198q-96 -133 -906 -1176q-37 -22 -74 -22q-94 26 -94 95v23q0 34 151 220q814 1061 881 1141q31 23 63 23zM345 1464q45 0 78 -57l-3 -65v-652l3 -39q-21 -68 -75 -68q-44 0 -72 53v654l-32 -7h-29q-53 28 -53 71q0 74 110 91 q0 3 73 19zM1109 563l-150 -198h150v198zM1185 859q49 0 75 -63l-3 -44v-387h57q61 0 73 -84q-27 -64 -77 -64h-53v-195q-31 -52 -75 -52q-73 14 -73 76v171h-311q-65 14 -65 68v29q341 439 389 510q24 35 63 35z" />
-<glyph unicode="&#xbd;" horiz-adv-x="1492" d="M1202 1467h11q81 0 98 -100v-6q0 -45 -131 -197q-95 -132 -902 -1172q-37 -22 -74 -22q-94 26 -94 94v23q0 34 150 220q812 1057 879 1137q31 23 63 23zM334 1459q45 0 80 -56l-5 -66v-649l5 -39q-23 -69 -77 -69q-43 0 -72 53v652l-31 -7h-29q-53 28 -53 72q0 73 110 90 q0 3 72 19zM1105 845q194 0 275 -209l3 -44v-42q0 -111 -163 -268l-143 -165h227l20 5q71 -23 71 -61v-22q-14 -65 -68 -65h-417q-58 0 -72 72q0 30 190 236q204 227 204 247l4 27v29q-26 113 -125 113q-88 0 -126 -97q0 -79 -59 -100h-20q-47 0 -72 62q0 186 197 270z" />
-<glyph unicode="&#xbe;" horiz-adv-x="1541" d="M396 1468q144 0 216 -146q18 -42 18 -77v-22q0 -96 -58 -151q92 -64 92 -208q0 -198 -220 -271l-58 -4h-8q-187 0 -264 220l-4 58q0 38 52 69h27q67 0 75 -107q35 -93 117 -93h12q90 0 122 108l3 26q0 86 -104 123q-93 0 -93 83q16 67 91 67q52 0 72 80v22q0 50 -74 76 h-17q-63 0 -87 -73v-36q-28 -53 -68 -53h-14q-65 12 -65 67v8q0 164 186 230zM1298 1460h12q80 0 98 -99v-6q0 -45 -131 -197q-95 -132 -898 -1166q-37 -22 -73 -22q-94 26 -94 94v23q0 34 149 219q808 1052 875 1131q31 23 62 23zM1193 557l-148 -195h148v195zM1268 853 q49 0 75 -63l-3 -44v-384h56q61 0 73 -83q-27 -64 -76 -64h-53v-193q-31 -52 -75 -52q-72 14 -72 75v170h-309q-65 14 -65 68v29q339 435 386 505q25 36 63 36z" />
-<glyph unicode="&#xbf;" horiz-adv-x="977" d="M471 1110h11q107 0 128 -135q-23 -128 -132 -128h-4q-109 0 -131 125v9q24 129 128 129zM474 805q102 -18 102 -102v-7q0 -273 -257 -424q-86 -82 -86 -198q0 -148 155 -228q58 -21 101 -21q146 0 227 147q18 30 31 140q50 60 101 60q101 -24 101 -102q0 -225 -221 -383 q-123 -69 -239 -69q-229 0 -378 197q-85 120 -85 266q0 261 257 416q90 81 90 246q46 62 101 62z" />
-<glyph unicode="&#xc0;" horiz-adv-x="1220" d="M507 1836h7q62 0 156 -136q67 -71 67 -116q-18 -103 -101 -103h-16q-52 0 -162 153q-53 45 -53 108q26 94 102 94zM715 749l-123 320l-118 -320h241zM590 1468q93 0 131 -161q458 -1191 463 -1226v-13q0 -81 -100 -98h-6q-90 0 -123 150l-163 421h-400l-205 -537 q-45 -34 -78 -34h-10q-99 18 -99 102v9l131 354q338 878 368 980q48 53 91 53z" />
-<glyph unicode="&#xc1;" horiz-adv-x="1212" d="M652 1828h6q99 -19 99 -94v-15q0 -44 -85 -136q-73 -109 -133 -109h-12q-80 0 -97 100v6q0 49 122 184q41 64 100 64zM711 746l-121 317l-118 -317h239zM588 1462q92 0 130 -161q456 -1186 461 -1220v-13q0 -81 -100 -98h-5q-91 0 -124 149l-161 420h-399l-203 -535 q-45 -34 -78 -34h-10q-99 18 -99 102v8l130 353q337 874 367 976q46 53 91 53z" />
-<glyph unicode="&#xc2;" horiz-adv-x="1212" d="M593 1550q-71 -93 -122 -93h-11q-83 0 -102 102q0 47 123 187q44 65 99 65h30q51 0 148 -132q67 -71 67 -117v-5q-15 -100 -102 -100h-7q-56 0 -123 93zM711 746l-121 317l-118 -317h239zM588 1462q92 0 130 -161q456 -1186 461 -1220v-13q0 -81 -100 -98h-5 q-91 0 -124 149l-161 420h-399l-203 -535q-45 -34 -78 -34h-10q-99 18 -99 102v8l130 353q337 874 367 976q46 53 91 53z" />
-<glyph unicode="&#xc3;" horiz-adv-x="1216" d="M479 1765q91 0 202 -72l20 -2l75 22h13q100 -17 100 -102v-4q0 -96 -150 -120l-40 -4q-91 0 -194 73l-17 2l-84 -23q-106 20 -106 102v8q0 99 164 117zM711 746l-121 317l-118 -317h239zM588 1462q92 0 130 -161q456 -1186 461 -1220v-13q0 -81 -100 -98h-5 q-91 0 -124 149l-161 420h-399l-203 -535q-45 -34 -78 -34h-10q-99 18 -99 102v8l130 353q337 874 367 976q46 53 91 53z" />
-<glyph unicode="&#xc4;" horiz-adv-x="1225" d="M438 1744h17q95 -21 95 -94v-11q0 -86 -107 -102q-100 19 -100 102v11q0 73 95 94zM727 1744h15q79 0 94 -107q0 -77 -104 -101q-103 19 -103 99v24q27 85 98 85zM711 746l-121 317l-118 -317h239zM588 1462q92 0 130 -161q456 -1186 461 -1220v-13q0 -81 -100 -98h-5 q-91 0 -124 149l-161 420h-399l-203 -535q-45 -34 -78 -34h-10q-99 18 -99 102v8l130 353q337 874 367 976q46 53 91 53z" />
-<glyph unicode="&#xc5;" horiz-adv-x="1219" d="M581 1862h15q127 0 182 -152l4 -39v-11q0 -124 -145 -182l-45 -8q-120 0 -182 117q-20 42 -20 83q0 132 153 188zM531 1666q10 -55 53 -55q58 9 58 51v10q-8 49 -45 49h-16q-41 0 -50 -55zM713 748l-122 319l-118 -319h240zM589 1466q93 0 131 -161q457 -1190 462 -1224 v-13q0 -81 -100 -98h-6q-90 0 -123 149l-162 421h-400l-204 -536q-45 -34 -78 -34h-10q-99 18 -99 102v9l130 353q338 877 368 979q48 53 91 53z" />
-<glyph unicode="&#xc6;" horiz-adv-x="1565" d="M810 1465h595q69 0 95 -101q-21 -106 -107 -106h-470v-508h363q96 -21 96 -91v-19q0 -81 -100 -98h-359v-364h474q83 0 102 -103q0 -83 -103 -105h-578q-83 0 -102 103v469h-233q-9 -11 -154 -281l-147 -257q-39 -34 -76 -34h-4q-86 0 -102 108q0 32 246 463l496 891 q40 33 68 33zM600 750h116v207z" />
-<glyph unicode="&#xc7;" horiz-adv-x="1399" d="M743 1462q233 0 425 -142q28 -37 28 -73q-18 -101 -104 -101q-25 0 -146 66q-112 41 -203 41q-249 0 -430 -228q-92 -152 -92 -298q0 -291 274 -463q120 -63 241 -63h11q153 0 312 98l26 6h14q97 -17 97 -100v-4q0 -116 -318 -197l-42 -4v-31q112 -74 112 -198 q0 -180 -210 -230l-55 4h-53l-65 -4q-89 29 -89 93v18q18 94 97 94h130q40 0 40 25v4q0 17 -46 26q-65 31 -65 85v114q-125 12 -302 120q-317 246 -317 607q0 382 348 622q186 113 382 113z" />
-<glyph unicode="&#xc8;" horiz-adv-x="1039" d="M72 1473l52 -11h733l15 4q95 0 110 -114q-21 -97 -113 -97h-662v-450h423l53 3q76 0 99 -102q0 -72 -85 -109l-82 4h-408v-424h681q78 0 95 -111q-29 -96 -99 -96h-785q-99 18 -99 102v1290q15 100 72 100v11zM385 1859h8q61 0 155 -136q67 -71 67 -116 q-18 -103 -101 -103h-15q-54 0 -162 153q-54 45 -54 108q28 94 102 94z" />
-<glyph unicode="&#xc9;" d="M72 1473l52 -11h733l15 4q95 0 110 -114q-21 -97 -113 -97h-662v-450h423l53 3q76 0 99 -102q0 -72 -85 -109l-82 4h-408v-424h681q78 0 95 -111q-29 -96 -99 -96h-785q-99 18 -99 102v1290q15 100 72 100v11zM506 1859h7q102 -20 102 -106q0 -44 -96 -151 q-69 -98 -119 -98h-22q-79 0 -95 108q0 40 124 182q44 65 99 65z" />
-<glyph unicode="&#xca;" d="M72 1473l52 -11h733l15 4q95 0 110 -114q-21 -97 -113 -97h-662v-450h423l53 3q76 0 99 -102q0 -72 -85 -109l-82 4h-408v-424h681q78 0 95 -111q-29 -96 -99 -96h-785q-99 18 -99 102v1290q15 100 72 100v11zM488 1837h22q61 0 140 -113q83 -91 83 -128v-18 q-20 -95 -91 -95h-26q-47 0 -116 92q-63 -92 -115 -92h-26q-71 0 -91 95v18q0 44 174 231z" />
-<glyph unicode="&#xcb;" horiz-adv-x="1027" d="M72 1473l52 -11h733l15 4q95 0 110 -114q-21 -97 -113 -97h-662v-450h423l53 3q76 0 99 -102q0 -72 -85 -109l-82 4h-408v-424h681q78 0 95 -111q-29 -96 -99 -96h-785q-99 18 -99 102v1290q15 100 72 100v11zM333 1734h17q95 -21 95 -94v-11q0 -86 -106 -102 q-101 19 -101 102v11q0 73 95 94zM623 1734h15q79 0 95 -107q0 -77 -105 -101q-103 18 -103 99v24q27 85 98 85z" />
-<glyph unicode="&#xcc;" horiz-adv-x="657" d="M246 1848q63 0 147 -120q78 -84 78 -135q-20 -102 -105 -102q-61 0 -130 102q-92 104 -92 139v22q0 75 102 94zM211 1462l22 -5h133l18 5q106 -24 106 -110q-18 -102 -102 -102h15v-1073h-7q73 0 94 -99v-9q-18 -99 -102 -99h-179q-99 18 -99 102v6q21 99 94 99h-7v1073 h15q-90 0 -102 107v6q0 68 101 99z" />
-<glyph unicode="&#xcd;" horiz-adv-x="657" d="M404 1858h7q102 -20 102 -106q0 -44 -96 -151q-69 -98 -119 -98h-22q-79 0 -94 108q0 40 123 182q44 65 99 65zM241 1466l23 -5h132l18 5q107 -23 107 -109q-18 -103 -102 -103h15v-1077h-7q73 0 94 -98v-10q-18 -99 -102 -99h-180q-99 18 -99 102v7q21 98 94 98h-7v1077 h15q-90 0 -102 107v6q0 70 101 99z" />
-<glyph unicode="&#xce;" horiz-adv-x="657" d="M246 1467l23 -5h133l18 5q106 -24 106 -110q-18 -103 -101 -103h15v-1077h-8q75 0 94 -98v-9q-17 -100 -101 -100h-181q-99 18 -99 102v7q21 98 95 98h-8v1077h15q-90 0 -102 108v6q0 68 101 99zM334 1573q-64 -95 -125 -95h-9q-100 17 -100 102v4q0 47 119 181 q48 68 96 68h30q64 0 159 -139q64 -66 64 -113q-18 -103 -102 -103h-7q-59 0 -125 95z" />
-<glyph unicode="&#xcf;" horiz-adv-x="657" d="M174 1713h18q95 -20 95 -90v-19q0 -80 -102 -99q-105 21 -105 110q22 98 94 98zM461 1713h17q95 -21 95 -94v-11q0 -86 -106 -102q-101 19 -101 102v11q0 73 95 94zM241 1462l23 -5h132l18 5q106 -23 106 -110q-18 -102 -101 -102h15v-1073h-8q75 0 94 -99v-8 q-17 -100 -101 -100h-180q-99 18 -99 102v6q21 99 94 99h-7v1073h15q-90 0 -102 107v6q0 68 101 99z" />
-<glyph unicode="&#xd0;" horiz-adv-x="1275" d="M500 1460q346 0 593 -301q149 -204 149 -448q0 -389 -364 -639q-188 -102 -374 -102h-252q-76 0 -101 94v561h-56q-95 21 -95 98v15q0 73 99 94h52v526q21 99 94 99h221zM357 1254v-422h256q98 -18 98 -98v-14q-18 -95 -98 -95h-256v-448h125q345 0 503 314 q50 107 50 224q0 290 -272 468q-113 71 -364 71h-42z" />
-<glyph unicode="&#xd1;" horiz-adv-x="1288" d="M480 1731q91 0 203 -73l21 -2l69 22h19q100 -15 100 -102v-4q0 -96 -151 -120l-40 -4q-91 0 -194 73l-18 2l-84 -23q-106 20 -106 103v7q0 99 164 117zM1002 370v997q18 95 98 95h11q81 0 98 -98v-1295q-18 -99 -102 -99h-4q-68 0 -142 119l-754 962v-983q0 -81 -98 -98 h-7q-77 0 -102 94v1300q21 98 94 98h15q65 0 105 -82z" />
-<glyph unicode="&#xd2;" horiz-adv-x="1519" d="M676 1851h22q49 0 125 -105q89 -98 89 -146q-19 -102 -105 -102h-3q-63 0 -144 124q-78 76 -78 131q22 98 94 98zM744 1457q376 0 629 -348q114 -198 114 -399q0 -372 -336 -619q-192 -121 -400 -121h-15q-383 0 -626 356q-110 181 -110 391q0 356 312 599 q205 141 432 141zM206 706q0 -258 229 -434q141 -96 301 -96h19q251 0 426 225q100 143 100 313q0 292 -268 462q-130 75 -269 75q-267 0 -442 -233q-96 -137 -96 -312z" />
-<glyph unicode="&#xd3;" horiz-adv-x="1532" d="M798 1856h18q99 -21 99 -101q0 -51 -129 -190q-32 -62 -101 -62q-82 0 -101 102q0 52 115 175q47 76 99 76zM746 1461q377 0 631 -349q114 -198 114 -400q0 -373 -337 -620q-192 -122 -401 -122h-15q-384 0 -628 357q-110 182 -110 392q0 357 313 600q205 142 433 142z M207 708q0 -259 229 -435q141 -96 302 -96h19q252 0 428 225q99 143 99 314q0 292 -268 463q-131 75 -270 75q-268 0 -443 -233q-96 -138 -96 -313z" />
-<glyph unicode="&#xd4;" horiz-adv-x="1523" d="M744 1457q376 0 629 -348q114 -198 114 -399q0 -372 -336 -619q-192 -121 -400 -121h-15q-383 0 -626 356q-110 181 -110 391q0 356 312 599q205 141 432 141zM206 706q0 -258 229 -434q141 -96 301 -96h19q251 0 426 225q100 143 100 313q0 292 -268 462 q-130 75 -269 75q-267 0 -442 -233q-96 -137 -96 -312zM741 1583q-71 -93 -121 -93h-12q-82 0 -101 102q0 47 122 187q45 64 99 64h31q50 0 146 -132q68 -71 68 -116v-7q-17 -98 -102 -98h-7q-57 0 -123 93z" />
-<glyph unicode="&#xd5;" horiz-adv-x="1528" d="M620 1802h18q81 0 179 -65l21 -6h10l79 24q106 -21 106 -106q0 -102 -171 -124h-28q-80 0 -178 66l-21 5h-11l-72 -19h-14q-95 20 -95 98v11q0 81 105 104q33 12 72 12zM744 1457q376 0 629 -348q114 -198 114 -399q0 -372 -336 -619q-192 -121 -400 -121h-15 q-383 0 -626 356q-110 181 -110 391q0 356 312 599q205 141 432 141zM206 706q0 -258 229 -434q141 -96 301 -96h19q251 0 426 225q100 143 100 313q0 292 -268 462q-130 75 -269 75q-267 0 -442 -233q-96 -137 -96 -312z" />
-<glyph unicode="&#xd6;" horiz-adv-x="1540" d="M536 1736q77 0 101 -105q-24 -106 -105 -106q-103 23 -103 94v23q0 78 107 94zM962 1736q77 0 101 -105q-24 -106 -106 -106q-102 23 -102 94v23q0 78 107 94zM746 1461q377 0 631 -349q114 -198 114 -400q0 -373 -337 -620q-192 -122 -401 -122h-15q-384 0 -628 357 q-110 182 -110 392q0 357 313 600q205 142 433 142zM207 708q0 -259 229 -435q141 -96 302 -96h19q252 0 428 225q99 143 99 314q0 292 -268 463q-131 75 -270 75q-268 0 -443 -233q-96 -138 -96 -313z" />
-<glyph unicode="&#xd7;" d="M725 638q151 -139 151 -180l6 -23q-29 -126 -127 -126q-65 0 -179 134l-25 21q-132 -150 -198 -150h-29q-102 32 -102 106v24q0 61 110 152l41 44q-151 149 -151 183v32q22 113 116 113h15q62 0 175 -134l20 -18q148 152 183 152h39q84 0 111 -118q0 -71 -156 -212z" />
-<glyph unicode="&#xd8;" horiz-adv-x="1561" d="M1215 971l-762 -713q117 -82 283 -82h18q252 0 427 225q99 142 99 312q0 135 -65 258zM1083 1131q-155 119 -340 119q-266 0 -441 -232q-96 -138 -96 -312q0 -184 101 -305zM301 116q-147 -142 -174 -142l-19 -4h-7q-85 0 -101 107q0 52 129 159q4 12 23 25 q-152 194 -152 456q0 355 312 598q205 141 431 141q278 0 490 -187q138 142 182 142h12q97 -25 97 -101v-7q0 -57 -115 -147l-42 -41q119 -182 119 -406q0 -371 -335 -618q-192 -121 -400 -121h-15q-236 0 -435 146z" />
-<glyph unicode="&#xd9;" horiz-adv-x="1103" d="M471 1849q67 0 166 -142q60 -58 60 -106v-8q0 -83 -103 -101q-64 0 -158 135q-67 69 -67 113v8q0 79 102 101zM94 1458h18q95 -20 95 -91v-802q0 -242 134 -322q85 -66 190 -66q201 0 303 207q21 64 21 136v839q18 99 98 99h14q95 -18 95 -98v-878q0 -239 -227 -416 q-145 -96 -293 -96h-26q-249 0 -432 243q-84 132 -84 322v824q21 99 94 99z" />
-<glyph unicode="&#xda;" horiz-adv-x="1107" d="M598 1849q99 -21 99 -101v-8q0 -47 -101 -153q-59 -95 -125 -95q-102 22 -102 101v8q0 48 100 154q60 94 129 94zM94 1458h18q95 -20 95 -91v-802q0 -242 134 -322q85 -66 190 -66q201 0 303 207q21 64 21 136v839q18 99 98 99h14q95 -18 95 -98v-878q0 -239 -227 -416 q-145 -96 -293 -96h-26q-249 0 -432 243q-84 132 -84 322v824q21 99 94 99z" />
-<glyph unicode="&#xdb;" horiz-adv-x="1124" d="M94 1463h18q95 -20 95 -90v-806q0 -243 135 -323q86 -67 191 -67q202 0 305 208q21 65 21 137v843q17 98 98 98h14q95 -18 95 -98v-881q0 -240 -228 -417q-145 -97 -294 -97h-26q-250 0 -434 244q-84 132 -84 323v828q21 98 94 98zM543 1563q-72 -84 -88 -84l-23 -8h-24 q-80 0 -98 99v7q0 50 132 194q0 44 100 55h10q65 0 159 -135q68 -70 68 -121q-23 -99 -95 -99h-19q-57 0 -118 91q-2 0 -4 1z" />
-<glyph unicode="&#xdc;" horiz-adv-x="1128" d="M379 1721h17q95 -21 95 -95v-11q0 -86 -106 -102q-101 19 -101 102v11q0 74 95 95zM669 1721h15q79 0 95 -108q0 -77 -105 -101q-103 19 -103 99v24q27 86 98 86zM94 1463h18q95 -20 95 -90v-806q0 -243 135 -323q86 -67 191 -67q202 0 305 208q21 65 21 137v843 q17 98 98 98h14q95 -18 95 -98v-881q0 -240 -228 -417q-145 -97 -294 -97h-26q-250 0 -434 244q-84 132 -84 323v828q21 98 94 98z" />
-<glyph unicode="&#xdd;" horiz-adv-x="1107" d="M536 897q353 531 372 545q28 21 52 21h23q69 0 94 -98q0 -46 -135 -230l-301 -450v-604q-13 -111 -94 -111h-16q-72 0 -98 86v626q0 5 -154 234l-273 411l-6 35q23 101 95 101h16q69 0 105 -88zM629 1827h7q102 -20 102 -105q0 -45 -98 -152q-68 -98 -117 -98h-23 q-78 0 -94 108q0 40 123 182q45 65 100 65z" />
-<glyph unicode="&#xde;" horiz-adv-x="1100" d="M114 1466h19q95 -20 95 -91v-250h360q317 0 422 -278q21 -65 21 -120v-18q0 -214 -208 -345q-107 -53 -188 -53l-26 4h-381v-247q0 -81 -100 -98h-6q-83 0 -102 103v1282q12 111 94 111zM228 917v-394h405q140 0 186 161l4 37q0 133 -145 186q-39 10 -101 10h-349z" />
-<glyph unicode="&#xdf;" horiz-adv-x="1061" d="M409 1455h41q192 0 327 -181q74 -109 74 -234q0 -96 -60 -220v-31q0 -26 116 -156q97 -118 97 -255v-15q0 -237 -241 -360q-76 -33 -156 -33h-3q-199 0 -329 176l-4 39q22 99 101 99h7q47 0 110 -70q59 -38 118 -38q133 0 185 145l6 48v5q0 84 -100 189 q-117 121 -117 241q0 63 55 188q5 11 5 37v33q0 101 -119 168q-37 19 -90 19q-145 0 -199 -159l-7 -103v-912q0 -80 -98 -98h-7q-82 0 -101 102v942q0 304 286 414q58 20 103 20z" />
-<glyph unicode="&#xe0;" horiz-adv-x="1118" d="M493 1415h29q47 0 169 -160q36 -38 36 -77v-8q0 -81 -100 -99q-63 0 -129 100q-90 99 -90 134v15q0 71 85 95zM202 507v-11q0 -199 201 -301q62 -23 112 -23h29q165 0 273 167q40 78 40 150v14q0 192 -191 294q-66 30 -136 30h-4q-201 0 -304 -211q-20 -65 -20 -109z M858 81q-118 -111 -314 -111h-29q-270 0 -449 270q-66 131 -66 263q0 296 289 468q124 58 241 58q300 0 475 -293q54 -121 54 -247v-423q0 -79 -96 -96h-7q-67 0 -99 79v9z" />
-<glyph unicode="&#xe1;" horiz-adv-x="1114" d="M627 1419q100 -23 100 -99v-7q0 -42 -86 -139q-68 -103 -137 -103h-4q-70 0 -92 96v11q0 44 120 179q46 62 99 62zM202 507v-11q0 -199 201 -301q62 -23 112 -23h29q165 0 273 167q40 78 40 150v14q0 192 -191 294q-66 30 -136 30h-4q-201 0 -304 -211q-20 -65 -20 -109z M858 81q-118 -111 -314 -111h-29q-270 0 -449 270q-66 131 -66 263q0 296 289 468q124 58 241 58q300 0 475 -293q54 -121 54 -247v-423q0 -79 -96 -96h-7q-67 0 -99 79v9z" />
-<glyph unicode="&#xe2;" horiz-adv-x="1140" d="M203 509v-11q0 -200 202 -301q62 -24 112 -24h30q166 0 274 168q40 78 40 150v15q0 192 -192 295q-66 30 -137 30h-4q-202 0 -305 -212q-20 -65 -20 -110zM862 81q-120 -111 -315 -111h-30q-271 0 -451 271q-66 132 -66 265q0 297 291 470q124 58 241 58q302 0 478 -294 q54 -122 54 -249v-425q0 -79 -97 -96h-6q-68 0 -100 79v11zM538 1421q71 -8 145 -116q77 -82 77 -132q-18 -100 -103 -100q-56 0 -125 93q-64 -93 -128 -93q-100 19 -100 103q0 49 109 165q48 74 112 80l1 1h11z" />
-<glyph unicode="&#xe3;" horiz-adv-x="1122" d="M438 1384h19q79 0 174 -65l21 -5h10l77 23q105 -21 105 -105q0 -100 -168 -122h-28q-78 0 -174 65l-21 5h-11l-70 -18h-14q-93 18 -93 96v11q0 79 102 103q33 12 71 12zM203 511v-11q0 -201 203 -303q63 -24 113 -24h30q167 0 275 169q41 79 41 151v15q0 193 -193 296 q-67 31 -138 31h-4q-203 0 -306 -213q-21 -66 -21 -111zM866 83q-120 -113 -317 -113h-30q-272 0 -452 273q-67 132 -67 265q0 298 292 472q125 58 242 58q303 0 479 -296q55 -121 55 -249v-427q0 -79 -97 -96h-7q-67 0 -99 79v10z" />
-<glyph unicode="&#xe4;" horiz-adv-x="1136" d="M382 1276h17q93 -21 93 -92v-11q0 -85 -104 -100q-99 18 -99 100v11q0 71 93 92zM664 1276h15q77 0 92 -105q0 -75 -102 -99q-101 18 -101 97v22q26 85 96 85zM203 509v-11q0 -200 202 -301q62 -24 112 -24h30q166 0 274 168q40 78 40 150v15q0 192 -192 295 q-66 30 -137 30h-4q-202 0 -305 -212q-20 -65 -20 -110zM862 81q-120 -111 -315 -111h-30q-271 0 -451 271q-66 132 -66 265q0 297 291 470q124 58 241 58q302 0 478 -294q54 -122 54 -249v-425q0 -79 -97 -96h-6q-68 0 -100 79v11z" />
-<glyph unicode="&#xe5;" horiz-adv-x="1131" d="M546 1477q124 0 193 -127q21 -45 21 -90q0 -144 -166 -204l-42 -5h-16q-139 0 -198 166l-5 41v13q0 146 175 203zM497 1266v-14q12 -43 39 -43h18q40 0 48 52q-9 53 -48 53q-57 -9 -57 -48zM203 509v-11q0 -200 202 -301q62 -24 112 -24h30q166 0 274 168q40 78 40 150 v15q0 192 -192 295q-66 30 -137 30h-4q-202 0 -305 -212q-20 -65 -20 -110zM862 81q-120 -111 -315 -111h-30q-271 0 -451 271q-66 132 -66 265q0 297 291 470q124 58 241 58q302 0 478 -294q54 -122 54 -249v-425q0 -79 -97 -96h-6q-68 0 -100 79v11z" />
-<glyph unicode="&#xe6;" horiz-adv-x="1961" d="M1707 574q-14 75 -105 171q-102 79 -214 79q-171 0 -277 -160q-40 -75 -40 -90h636zM202 511v-11q0 -199 201 -300q63 -24 113 -24h29q165 0 273 168q40 77 40 149v14q0 192 -191 295q-66 30 -137 30h-3q-202 0 -305 -211q-20 -65 -20 -110zM859 84q-118 -110 -314 -110 h-29q-271 0 -450 270q-66 131 -66 263q0 297 290 469q124 58 240 58q266 0 432 -223q88 133 271 196q89 23 159 23q296 0 468 -286q58 -120 58 -226v-50q-17 -96 -99 -96h-726q36 -85 115 -139q87 -57 180 -57q81 0 188 54l29 5q102 -24 102 -104q0 -119 -268 -157l-54 -4 q-205 0 -325 111v-12q0 -89 -105 -99h-5q-58 0 -92 83z" />
-<glyph unicode="&#xe7;" horiz-adv-x="986" d="M537 1026q205 0 373 -156q17 -30 17 -56v-6q-17 -96 -99 -96h-4q-36 0 -132 73q-72 36 -144 36h-22q-192 0 -292 -203q-23 -69 -23 -123q0 -198 204 -300q60 -23 129 -23q115 0 234 100l39 9h15q78 0 95 -96v-7q0 -95 -255 -192l-54 -8v-6q109 -72 109 -194 q0 -177 -206 -226l-54 4h-53l-63 -4q-88 29 -88 92v17q18 93 96 93h127q39 0 39 24v4q0 16 -45 25q-64 31 -64 84v90q-71 10 -210 104q-197 177 -197 413q0 258 228 431q145 97 300 97z" />
-<glyph unicode="&#xe8;" horiz-adv-x="1127" d="M528 1034q307 0 477 -291q59 -115 59 -248v-22q-18 -100 -100 -100h-733q29 -95 160 -166q77 -30 145 -30q77 0 187 55h32q93 -18 93 -96v-11q0 -117 -292 -155h-28q-286 0 -458 268q-70 127 -70 264q0 293 275 466q135 66 253 66zM214 576h640q0 35 -81 144 q-110 104 -215 104h-41q-160 0 -263 -158q-37 -63 -40 -90zM490 1411h31q47 0 170 -161q36 -38 36 -77v-8q0 -82 -101 -99q-63 0 -129 100q-90 99 -90 135v14q0 70 83 96z" />
-<glyph unicode="&#xe9;" horiz-adv-x="1118" d="M528 1034q307 0 477 -291q59 -115 59 -248v-22q-18 -100 -100 -100h-733q29 -95 160 -166q77 -30 145 -30q77 0 187 55h32q93 -18 93 -96v-11q0 -117 -292 -155h-28q-286 0 -458 268q-70 127 -70 264q0 293 275 466q135 66 253 66zM214 576h640q0 35 -81 144 q-110 104 -215 104h-41q-160 0 -263 -158q-37 -63 -40 -90zM627 1415q100 -23 100 -100v-7q0 -41 -87 -139q-68 -103 -137 -103h-4q-71 0 -92 96v11q0 44 120 180q46 62 100 62z" />
-<glyph unicode="&#xea;" horiz-adv-x="1144" d="M528 1034q307 0 477 -291q59 -115 59 -248v-22q-18 -100 -100 -100h-733q29 -95 160 -166q77 -30 145 -30q77 0 187 55h32q93 -18 93 -96v-11q0 -117 -292 -155h-28q-286 0 -458 268q-70 127 -70 264q0 293 275 466q135 66 253 66zM214 576h640q0 35 -81 144 q-110 104 -215 104h-41q-160 0 -263 -158q-37 -63 -40 -90zM538 1421q71 -8 145 -116q77 -82 77 -132q-18 -100 -103 -100q-56 0 -125 93q-64 -93 -128 -93q-100 19 -100 103q0 49 109 165q48 74 112 80l1 1h11z" />
-<glyph unicode="&#xeb;" horiz-adv-x="1122" d="M382 1293h17q92 -21 92 -92v-11q0 -83 -104 -100q-98 19 -98 100v11q0 71 93 92zM662 1293h15q77 0 92 -105q0 -75 -102 -99q-100 18 -100 97v24q26 83 95 83zM527 1032q306 0 476 -290q59 -115 59 -248v-22q-18 -100 -100 -100h-731q29 -96 159 -166q77 -30 145 -30 q77 0 186 55h32q93 -18 93 -96v-11q0 -116 -291 -154h-28q-285 0 -457 267q-70 127 -70 264q0 292 275 465q134 66 252 66zM214 575h638q0 35 -81 143q-109 104 -215 104h-40q-159 0 -263 -158q-36 -62 -39 -89z" />
-<glyph unicode="&#xec;" horiz-adv-x="514" d="M175 1404h29q47 0 170 -161q36 -39 36 -78v-7q0 -82 -100 -100q-64 0 -130 100q-90 101 -90 135v15q0 70 85 96zM271 1033q96 -23 96 -92v-875q0 -79 -97 -96h-6q-81 0 -100 100v851q12 112 107 112z" />
-<glyph unicode="&#xed;" horiz-adv-x="514" d="M340 1403q101 -23 101 -100v-7q0 -42 -87 -140q-69 -104 -138 -104h-4q-71 0 -92 97v11q0 44 121 180q46 63 99 63zM272 1037q95 -25 95 -92v-879q0 -79 -96 -96h-7q-81 0 -100 101v854q12 112 108 112z" />
-<glyph unicode="&#xee;" horiz-adv-x="514" d="M267 1042q96 -25 96 -93v-882q0 -80 -97 -97h-6q-82 0 -101 101v858q12 113 108 113zM263 1397q74 -8 149 -117q77 -83 77 -132q-18 -101 -104 -101q-57 0 -124 93q-66 -93 -130 -93q-101 19 -101 104q0 48 109 165q49 75 111 81l1 1h11z" />
-<glyph unicode="&#xef;" horiz-adv-x="514" d="M271 1038q96 -25 96 -93v-879q0 -79 -97 -96h-7q-81 0 -100 101v854q12 113 108 113zM113 1303h17q93 -21 93 -93v-11q0 -83 -104 -100q-99 19 -99 100v11q0 72 93 93zM396 1303h14q78 0 93 -106q0 -75 -103 -99q-100 18 -100 97v23q26 85 96 85z" />
-<glyph unicode="&#xf0;" horiz-adv-x="1118" d="M578 1029l-29 44q-40 -25 -70 -42q27 3 55 3zM207 513v-18q0 -184 178 -286q63 -32 136 -32h22q190 0 291 198q23 61 23 120v18q0 127 -118 241q-91 73 -211 73q-208 0 -305 -219q-16 -52 -16 -95zM360 1003q-51 14 -67 93v7q0 69 126 129l20 12q-29 43 -29 71v24 q26 83 96 83h15q53 0 94 -69q131 80 163 80h10q93 -20 93 -96v-14q0 -62 -158 -144l263 -405q78 -131 78 -272q0 -299 -282 -469q-124 -63 -239 -63h-29q-216 0 -401 202q-113 159 -113 330q0 259 229 434q65 43 131 67z" />
-<glyph unicode="&#xf1;" horiz-adv-x="1108" d="M429 1391h18q79 0 174 -64l20 -6h11l75 23q105 -20 105 -104q0 -101 -167 -121h-28q-78 0 -173 64l-21 5h-10l-70 -18h-14q-93 18 -93 96v11q0 79 102 102q33 12 71 12zM107 1032q96 -25 96 -92v-13q118 105 317 105q219 0 389 -182q124 -153 124 -323v-465 q0 -73 -96 -92h-10q-97 17 -97 100v409q0 254 -216 333q-53 14 -94 14h-11q-181 0 -280 -188q-26 -57 -26 -188v-384q0 -79 -97 -96h-6q-81 0 -100 100v849q11 113 107 113z" />
-<glyph unicode="&#xf2;" horiz-adv-x="1118" d="M532 1034q206 0 373 -156q159 -166 159 -376q0 -299 -282 -469q-124 -63 -239 -63h-29q-216 0 -401 202q-113 159 -113 330q0 259 229 434q147 98 303 98zM207 513v-18q0 -184 178 -286q63 -32 136 -32h22q190 0 291 198q23 61 23 120v18q0 152 -140 258q-83 56 -189 56 q-208 0 -305 -219q-16 -52 -16 -95zM495 1422h30q46 0 169 -160q37 -39 37 -78v-8q0 -83 -102 -99q-63 0 -128 100q-91 99 -91 135v14q0 70 85 96z" />
-<glyph unicode="&#xf3;" horiz-adv-x="1118" d="M627 1419q100 -23 100 -99v-7q0 -42 -86 -139q-68 -103 -137 -103h-4q-70 0 -92 96v11q0 44 120 179q46 62 99 62zM530 1029q204 0 371 -155q158 -166 158 -374q0 -298 -281 -468q-123 -62 -238 -62h-29q-214 0 -398 201q-113 159 -113 329q0 258 228 432q146 97 302 97z M206 510v-18q0 -182 177 -284q63 -32 136 -32h21q190 0 290 197q23 61 23 119v18q0 152 -140 257q-82 56 -187 56q-207 0 -304 -218q-16 -52 -16 -95z" />
-<glyph unicode="&#xf4;" horiz-adv-x="1118" d="M530 1029q204 0 371 -155q158 -166 158 -374q0 -298 -281 -468q-123 -62 -238 -62h-29q-214 0 -398 201q-113 159 -113 329q0 258 228 432q146 97 302 97zM206 510v-18q0 -182 177 -284q63 -32 136 -32h21q190 0 290 197q23 61 23 119v18q0 152 -140 257q-82 56 -187 56 q-207 0 -304 -218q-16 -52 -16 -95zM533 1414q73 -8 147 -115q76 -82 76 -131q-17 -101 -103 -101q-56 0 -122 93q-65 -93 -128 -93q-100 21 -100 103q0 49 108 164q46 74 109 80l1 1h11z" />
-<glyph unicode="&#xf5;" horiz-adv-x="1118" d="M532 1034q206 0 373 -156q159 -166 159 -376q0 -299 -282 -469q-124 -63 -239 -63h-29q-216 0 -401 202q-113 159 -113 330q0 259 229 434q147 98 303 98zM207 513v-18q0 -184 178 -286q63 -32 136 -32h22q190 0 291 198q23 61 23 120v18q0 152 -140 258q-83 56 -189 56 q-208 0 -305 -219q-16 -52 -16 -95zM437 1378h18q79 0 173 -64l21 -5h11l76 23q104 -22 104 -104q0 -102 -167 -122h-27q-78 0 -175 64l-20 6h-10l-70 -19h-14q-93 18 -93 96v11q0 79 102 102q33 12 71 12z" />
-<glyph unicode="&#xf6;" horiz-adv-x="1114" d="M381 1270h17q92 -21 92 -92v-11q0 -83 -104 -100q-98 19 -98 100v11q0 71 93 92zM661 1270h14q77 0 92 -105q0 -75 -102 -99q-100 18 -100 97v22q26 85 96 85zM530 1029q204 0 371 -155q158 -166 158 -374q0 -298 -281 -468q-123 -62 -238 -62h-29q-214 0 -398 201 q-113 159 -113 329q0 258 228 432q146 97 302 97zM206 510v-18q0 -182 177 -284q63 -32 136 -32h21q190 0 290 197q23 61 23 119v18q0 152 -140 257q-82 56 -187 56q-207 0 -304 -218q-16 -52 -16 -95z" />
-<glyph unicode="&#xf7;" d="M552 1162h4q117 0 142 -127v-22q-28 -127 -130 -127h-10q-136 14 -136 138v12q30 126 130 126zM253 830h614q103 -19 103 -106v-12q0 -73 -98 -98h-623q-99 19 -99 102v16q0 78 103 98zM553 558h11q113 0 134 -140v-6q0 -105 -138 -135q-138 30 -138 131v20 q0 100 131 130z" />
-<glyph unicode="&#xf8;" horiz-adv-x="1161" d="M277 357l426 440q-35 24 -136 24q-207 0 -303 -217q-16 -52 -16 -95v-18q0 -71 29 -134zM852 660l-435 -450q56 -34 143 -34h21q189 0 289 196q23 61 23 119v18q0 98 -41 151zM985 1042h4q84 0 99 -105q0 -44 -91 -131q102 -125 102 -307q0 -298 -281 -467 q-122 -62 -237 -62h-29q-146 0 -278 92q-73 -88 -126 -88h-14q-77 0 -92 104q0 45 88 130q-88 121 -88 291q0 257 228 431q145 97 301 97q155 0 277 -81q78 96 137 96z" />
-<glyph unicode="&#xf9;" horiz-adv-x="1109" d="M494 1419h29q47 0 170 -161q36 -38 36 -77v-8q0 -82 -101 -99q-63 0 -129 100q-90 99 -90 135v14q0 70 85 96zM830 77q-138 -107 -303 -107h-25q-242 0 -420 236q-82 128 -82 313v399q11 114 107 114q96 -25 96 -93v-391q0 -234 129 -311q83 -64 184 -64q195 0 294 200 q20 65 20 131v427q19 101 107 101q95 -23 95 -100v-870q0 -73 -96 -92h-10q-96 17 -96 99v8z" />
-<glyph unicode="&#xfa;" horiz-adv-x="1105" d="M632 1429q100 -22 100 -99v-8q0 -41 -87 -139q-68 -104 -138 -104h-3q-71 0 -93 97v10q0 45 121 181q46 62 100 62zM834 78q-138 -108 -304 -108h-26q-243 0 -422 237q-82 129 -82 315v401q11 113 107 113q96 -23 96 -92v-393q0 -235 130 -313q84 -65 186 -65 q195 0 295 202q20 65 20 132v429q19 100 106 100q97 -22 97 -99v-875q0 -73 -97 -92h-9q-97 17 -97 100v8z" />
-<glyph unicode="&#xfb;" horiz-adv-x="1114" d="M838 78q-139 -108 -306 -108h-26q-244 0 -423 238q-83 129 -83 316v405q12 113 108 113q96 -25 96 -93v-395q0 -237 131 -315q84 -65 186 -65q197 0 297 202q20 65 20 133v432q20 101 108 101q96 -23 96 -101v-878q0 -74 -97 -93h-10q-97 18 -97 100v8zM541 1432 q74 -11 147 -117q77 -83 77 -132q-16 -102 -104 -102q-56 0 -124 94q-66 -94 -130 -94q-101 20 -101 104q0 49 110 166q45 72 107 81l1 1h16z" />
-<glyph unicode="&#xfc;" horiz-adv-x="1109" d="M830 76q-138 -106 -303 -106h-25q-242 0 -420 236q-82 128 -82 313v400q11 113 107 113q96 -25 96 -92v-391q0 -235 129 -312q83 -64 185 -64q194 0 293 200q20 65 20 132v427q21 100 107 100q96 -22 96 -99v-871q0 -73 -96 -92h-10q-97 17 -97 100v6zM663 1274h14 q77 0 93 -105q0 -75 -103 -99q-100 18 -100 97v22q26 85 96 85zM382 1274h17q93 -21 93 -92v-11q0 -85 -105 -100q-98 19 -98 100v11q0 71 93 92z" />
-<glyph unicode="&#xfd;" horiz-adv-x="990" d="M650 1436q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM478 352q263 641 283 664q36 31 75 31q101 -19 101 -100v-5q-5 -33 -365 -893q-172 -424 -197 -457q-26 -22 -69 -32q-104 23 -104 93v19q0 19 163 412 l-346 846v13q21 100 103 100q85 0 135 -166z" />
-<glyph unicode="&#xfe;" horiz-adv-x="1131" d="M103 1424h17q93 -20 93 -89v-412q119 114 331 114q207 0 374 -156q160 -167 160 -378q0 -300 -284 -471q-123 -63 -239 -63h-29q-188 0 -313 113v-439q0 -71 -100 -93q-83 0 -103 104v1661q12 109 93 109zM217 514v-18q0 -184 179 -287q63 -32 137 -32h22q191 0 293 199 q23 62 23 120v18q0 153 -142 260q-83 56 -189 56q-209 0 -306 -220q-17 -52 -17 -96z" />
-<glyph unicode="&#xff;" horiz-adv-x="990" d="M329 1271h17q93 -21 93 -92v-11q0 -83 -104 -100q-99 19 -99 100v11q0 71 93 92zM609 1271h15q77 0 92 -105q0 -75 -102 -99q-100 18 -100 97v22q26 85 95 85zM467 338q262 638 281 661q36 31 76 31q100 -19 100 -100v-5q-5 -33 -363 -889q-171 -422 -196 -455 q-26 -22 -70 -32q-103 23 -103 93v18q0 19 163 411l-345 842v13q19 100 103 100q85 0 134 -166z" />
-<glyph unicode="&#x100;" horiz-adv-x="1184" d="M709 744l-121 317l-117 -317h238zM586 1458q93 0 131 -160q454 -1183 459 -1217v-13q0 -81 -98 -98h-7q-90 0 -123 149l-161 418h-398l-202 -533q-45 -34 -78 -34h-11q-98 18 -98 101v9l130 352q335 872 365 973q48 53 91 53zM172 1727h847q97 -18 97 -100v-15 q-18 -97 -97 -97h-847q-87 0 -100 114q26 98 100 98z" />
-<glyph unicode="&#x101;" horiz-adv-x="1100" d="M206 519v-11q0 -205 206 -308q64 -24 115 -24h29q170 0 281 171q40 80 40 153v15q0 197 -195 302q-67 30 -140 30h-4q-207 0 -312 -216q-20 -66 -20 -112zM878 84q-122 -114 -322 -114h-29q-276 0 -460 276q-67 134 -67 269q0 302 296 479q126 59 246 59q307 0 486 -300 q55 -123 55 -253v-433q0 -80 -98 -97h-7q-68 0 -101 80v11zM132 1327h847q97 -18 97 -100v-15q-18 -97 -97 -97h-847q-87 0 -100 114q26 98 100 98z" />
-<glyph unicode="&#x102;" horiz-adv-x="1202" d="M380 1836h12q73 0 110 -98q40 -46 94 -46q82 0 122 98q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99zM709 744l-121 317l-117 -317h238zM586 1458q93 0 131 -160q454 -1183 459 -1217v-13q0 -81 -98 -98h-7 q-90 0 -123 149l-161 418h-398l-202 -533q-45 -34 -78 -34h-11q-98 18 -98 101v9l130 352q335 872 365 973q48 53 91 53z" />
-<glyph unicode="&#x103;" horiz-adv-x="1118" d="M336 1444h12q73 0 110 -98q40 -46 94 -46q82 0 122 98q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99zM206 519v-11q0 -205 206 -308q64 -24 115 -24h29q170 0 281 171q40 80 40 153v15q0 197 -195 302 q-67 30 -140 30h-4q-207 0 -312 -216q-20 -66 -20 -112zM878 84q-122 -114 -322 -114h-29q-276 0 -460 276q-67 134 -67 269q0 302 296 479q126 59 246 59q307 0 486 -300q55 -123 55 -253v-433q0 -80 -98 -97h-7q-68 0 -101 80v11z" />
-<glyph unicode="&#x104;" horiz-adv-x="1338" d="M729 739l-125 326l-120 -326h245zM602 1467q92 0 129 -151q480 -1250 480 -1276l4 -27v-97q0 -90 -104 -106q-11 -6 -11 -21v-8q0 -15 30 -19h146q100 -18 100 -103v-7q-21 -100 -95 -100h-161q-167 0 -225 184l-8 51q0 130 119 206q-15 62 -198 537h-407l-207 -545 q-45 -34 -78 -34h-11q-100 18 -100 103v8l132 359q343 890 373 993q49 53 92 53z" />
-<glyph unicode="&#x105;" horiz-adv-x="1241" d="M210 501v-11q0 -205 207 -309q64 -24 115 -24h30q171 0 282 172q41 80 41 154v15q0 197 -197 302q-68 31 -141 31h-3q-208 0 -313 -217q-21 -67 -21 -113zM884 64q-123 -113 -322 -113h-30q-277 0 -460 277q-68 134 -68 270q0 303 297 480q127 59 246 59q309 0 488 -300 q56 -125 56 -254v-566q0 -84 -107 -107q-6 -4 -6 -9v-16q4 -18 26 -18h143q83 0 102 -106q-23 -100 -95 -100h-157q-165 0 -225 185l-4 50q0 125 116 197l-3 36z" />
-<glyph unicode="&#x106;" horiz-adv-x="1251" d="M680 1463q32 3 64 3q233 0 439 -146q22 -42 22 -65v-8q0 -91 -107 -102h-13l-136 70q-126 40 -205 40q-255 0 -440 -233q-93 -156 -93 -304q0 -298 280 -473q123 -64 246 -64h11q157 0 327 106h35q95 -21 95 -98v-11q0 -102 -275 -184q-83 -24 -174 -24h-19 q-370 0 -619 342q-118 199 -118 406q0 389 354 633q138 83 281 106q-98 20 -98 102v16q0 47 149 181q120 137 177 137q94 0 110 -116q0 -55 -192 -227q-57 -69 -101 -87z" />
-<glyph unicode="&#x107;" horiz-adv-x="973" d="M652 1497q94 0 110 -116q0 -55 -192 -227q-76 -93 -130 -93h-15q-99 19 -99 102v16q0 47 149 181q120 137 177 137zM543 1056q210 0 384 -160q17 -31 17 -57v-7q-18 -98 -101 -98h-4q-37 0 -136 75q-74 38 -149 38h-22q-199 0 -302 -210q-24 -71 -24 -128 q0 -203 211 -309q62 -24 134 -24q118 0 240 103l41 9h15q80 0 97 -98v-6q0 -98 -262 -198q-86 -16 -128 -16h-30q-220 0 -408 206q-116 163 -116 337q0 265 234 444q149 99 309 99z" />
-<glyph unicode="&#x108;" horiz-adv-x="1254" d="M716 1572q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100zM744 1466q233 0 439 -146q22 -42 22 -65v-8q0 -91 -107 -102h-13l-136 70q-126 40 -205 40q-255 0 -440 -233 q-93 -156 -93 -304q0 -298 280 -473q123 -64 246 -64h11q157 0 327 106h35q95 -21 95 -98v-11q0 -102 -275 -184q-83 -24 -174 -24h-19q-370 0 -619 342q-118 199 -118 406q0 389 354 633q190 115 390 115z" />
-<glyph unicode="&#x109;" horiz-adv-x="982" d="M553 1207q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100zM543 1056q210 0 384 -160q17 -31 17 -57v-7q-18 -98 -101 -98h-4q-37 0 -136 75q-74 38 -149 38h-22 q-199 0 -302 -210q-24 -71 -24 -128q0 -203 211 -309q62 -24 134 -24q118 0 240 103l41 9h15q80 0 97 -98v-6q0 -98 -262 -198q-86 -16 -128 -16h-30q-220 0 -408 206q-116 163 -116 337q0 265 234 444q149 99 309 99z" />
-<glyph unicode="&#x10a;" horiz-adv-x="1259" d="M749 1810q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9zM744 1466q233 0 439 -146q22 -42 22 -65v-8q0 -91 -107 -102h-13l-136 70q-126 40 -205 40q-255 0 -440 -233q-93 -156 -93 -304q0 -298 280 -473 q123 -64 246 -64h11q157 0 327 106h35q95 -21 95 -98v-11q0 -102 -275 -184q-83 -24 -174 -24h-19q-370 0 -619 342q-118 199 -118 406q0 389 354 633q190 115 390 115z" />
-<glyph unicode="&#x10b;" horiz-adv-x="973" d="M564 1409q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9zM543 1056q210 0 384 -160q17 -31 17 -57v-7q-18 -98 -101 -98h-4q-37 0 -136 75q-74 38 -149 38h-22q-199 0 -302 -210q-24 -71 -24 -128q0 -203 211 -309 q62 -24 134 -24q118 0 240 103l41 9h15q80 0 97 -98v-6q0 -98 -262 -198q-86 -16 -128 -16h-30q-220 0 -408 206q-116 163 -116 337q0 265 234 444q149 99 309 99z" />
-<glyph unicode="&#x10c;" horiz-adv-x="1241" d="M728 1743q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM744 1466q233 0 439 -146q22 -42 22 -65v-8q0 -91 -107 -102h-13l-136 70q-126 40 -205 40q-255 0 -440 -233 q-93 -156 -93 -304q0 -298 280 -473q123 -64 246 -64h11q157 0 327 106h35q95 -21 95 -98v-11q0 -102 -275 -184q-83 -24 -174 -24h-19q-370 0 -619 342q-118 199 -118 406q0 389 354 633q190 115 390 115z" />
-<glyph unicode="&#x10d;" horiz-adv-x="990" d="M535 1369q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM543 1056q210 0 384 -160q17 -31 17 -57v-7q-18 -98 -101 -98h-4q-37 0 -136 75q-74 38 -149 38h-22 q-199 0 -302 -210q-24 -71 -24 -128q0 -203 211 -309q62 -24 134 -24q118 0 240 103l41 9h15q80 0 97 -98v-6q0 -98 -262 -198q-86 -16 -128 -16h-30q-220 0 -408 206q-116 163 -116 337q0 265 234 444q149 99 309 99z" />
-<glyph unicode="&#x10e;" horiz-adv-x="1162" d="M494 1748q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM72 1478l52 -11h189l42 4q338 0 585 -292q159 -206 159 -466q0 -359 -315 -604q-201 -139 -424 -139h-261 q-99 18 -99 102v1295q15 100 72 100v11zM208 1263v-1085h133q342 0 507 331q43 112 43 215q0 247 -220 432q-134 107 -406 107h-57z" />
-<glyph unicode="&#x10f;" horiz-adv-x="1396" d="M1204 1544h28q110 0 142 -264v-22q0 -143 -157 -273q-38 -21 -67 -21q-33 13 -52 46v26q60 144 60 230v12q0 54 -48 136v31q21 99 94 99zM978 1462h18q95 -20 95 -91v-748l4 -128q0 -158 -128 -329q-181 -196 -408 -196h-30q-222 0 -412 207q-117 165 -117 341 q0 266 236 447q150 100 312 100q208 0 340 -118v359l-4 65q29 91 94 91zM207 529v-19q0 -212 223 -316q58 -17 106 -17h23q206 0 312 222q17 67 17 103v23q0 211 -226 316q-69 17 -107 17h-15q-206 0 -312 -219q-21 -61 -21 -110z" />
-<glyph unicode="&#x110;" horiz-adv-x="1303" d="M185 877v490q15 100 72 100v11l52 -11h189l42 4q338 0 585 -292q159 -206 159 -466q0 -359 -315 -604q-201 -139 -424 -139h-261q-99 18 -99 102v593h-18l-69 -4q-94 33 -94 113q18 103 102 103h79zM393 877h151l36 4q81 0 108 -106q0 -80 -94 -114l-65 4h-136v-487h133 q342 0 507 331q43 112 43 215q0 247 -220 432q-134 107 -406 107h-57v-386z" />
-<glyph unicode="&#x111;" horiz-adv-x="1343" d="M238 529v-19q0 -212 223 -316q58 -17 106 -17h23q206 0 312 222q17 67 17 103v23q0 211 -226 316q-69 17 -107 17h-15q-206 0 -312 -219q-21 -61 -21 -110zM917 1339l-2 32q29 91 94 91h18q95 -20 95 -91v-32h95l36 4q81 0 108 -106q0 -80 -94 -114l-65 4h-80v-504 l4 -128q0 -158 -128 -329q-181 -196 -408 -196h-30q-222 0 -412 207q-117 165 -117 341q0 266 236 447q150 100 312 100q208 0 340 -118v180h-79l-69 -4q-94 33 -94 113q18 103 72 103v7l71 -7h97z" />
-<glyph unicode="&#x112;" horiz-adv-x="1100" d="M115 1757h847q97 -18 97 -100v-15q-18 -97 -97 -97h-847q-86 0 -100 114q27 98 100 98zM129 1473l53 -11h733l15 4q95 0 110 -114q-21 -97 -114 -97h-662v-450h424l53 3q75 0 98 -102q0 -72 -85 -109l-81 4h-409v-424h681q78 0 95 -111q-28 -96 -99 -96h-784 q-100 18 -100 102v1290q16 100 72 100v11z" />
-<glyph unicode="&#x113;" horiz-adv-x="1105" d="M528 1034q307 0 477 -291q59 -115 59 -248v-22q-18 -100 -100 -100h-733q29 -95 160 -166q77 -30 145 -30q77 0 187 55h32q93 -18 93 -96v-11q0 -117 -292 -155h-28q-286 0 -458 268q-70 127 -70 264q0 293 275 466q135 66 253 66zM214 576h640q0 35 -81 144 q-110 104 -215 104h-41q-160 0 -263 -158q-37 -63 -40 -90zM115 1348h847q97 -18 97 -100v-15q-18 -97 -97 -97h-847q-87 0 -100 114q26 98 100 98z" />
-<glyph unicode="&#x114;" horiz-adv-x="1052" d="M107 1473l52 -11h733l15 4q95 0 110 -114q-21 -97 -113 -97h-662v-450h423l53 3q76 0 99 -102q0 -72 -85 -109l-82 4h-408v-424h681q78 0 95 -111q-29 -96 -99 -96h-785q-99 18 -99 102v1290q15 100 72 100v11zM322 1854h12q73 0 110 -98q40 -46 94 -46q82 0 122 98 q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99z" />
-<glyph unicode="&#x115;" horiz-adv-x="1101" d="M537 1034q307 0 477 -291q59 -115 59 -248v-22q-18 -100 -100 -100h-733q29 -95 160 -166q77 -30 145 -30q77 0 187 55h32q93 -18 93 -96v-11q0 -117 -292 -155h-28q-286 0 -458 268q-70 127 -70 264q0 293 275 466q135 66 253 66zM223 576h640q0 35 -81 144 q-110 104 -215 104h-41q-160 0 -263 -158q-37 -63 -40 -90zM331 1466h12q73 0 110 -98q40 -46 94 -46q82 0 122 98q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99z" />
-<glyph unicode="&#x116;" horiz-adv-x="1070" d="M534 1815q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9zM155 1462h733l15 4q95 0 110 -114q-21 -97 -113 -97h-662v-450h423l53 3q76 0 99 -102q0 -72 -85 -109l-82 4h-408v-424h681q78 0 95 -111q-29 -96 -99 -96h-785 q-99 18 -99 102v1290q15 100 72 100h52z" />
-<glyph unicode="&#x117;" horiz-adv-x="1105" d="M550 1034q307 0 477 -291q59 -115 59 -248v-22q-18 -100 -100 -100h-733q29 -95 160 -166q77 -30 145 -30q77 0 187 55h32q93 -18 93 -96v-11q0 -117 -292 -155h-28q-286 0 -458 268q-70 127 -70 264q0 293 275 466q135 66 253 66zM236 576h640q0 35 -81 144 q-110 104 -215 104h-41q-160 0 -263 -158q-37 -63 -40 -90zM573 1379q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9z" />
-<glyph unicode="&#x118;" horiz-adv-x="1052" d="M594 -43l-1 13h-463q-99 18 -99 102v1290q15 100 72 100h785l15 4q95 0 110 -114q-21 -97 -113 -97h-662v-450h423l53 3q76 0 99 -102q0 -72 -85 -109l-82 4h-408v-424h681q78 0 95 -111q-29 -96 -99 -96h-118q-4 18 -5 23v-106q0 -84 -99 -99q-7 -4 -7 -17q0 -23 37 -23 h98l18 5q101 -23 101 -98v-7q0 -67 -81 -97l-80 4h-34l-56 -4q-86 0 -170 106q-30 57 -30 100v28q0 113 105 172z" />
-<glyph unicode="&#x119;" horiz-adv-x="1122" d="M236 576h640q0 35 -81 144q-110 104 -215 104h-41q-160 0 -263 -158q-37 -63 -40 -90zM516 -29q-262 15 -424 267q-70 127 -70 264q0 293 275 466q135 66 253 66q307 0 477 -291q59 -115 59 -248v-22q-18 -100 -100 -100h-733q29 -95 160 -166q77 -30 145 -30 q77 0 187 55h32q93 -18 93 -96v-11q0 -93 -142 -127l-6 -93q0 -84 -99 -99q-7 -4 -7 -17q0 -23 37 -23h98l18 5q101 -23 101 -98v-7q0 -67 -81 -97l-80 4h-34l-56 -4q-86 0 -170 106q-30 57 -30 100v28q0 109 97 168z" />
-<glyph unicode="&#x11a;" horiz-adv-x="1065" d="M529 1748q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM159 1462h733l15 4q95 0 110 -114q-21 -97 -113 -97h-662v-450h423l53 3q76 0 99 -102q0 -72 -85 -109l-82 4 h-408v-424h681q78 0 95 -111q-29 -96 -99 -96h-785q-99 18 -99 102v1290q15 100 72 100h52z" />
-<glyph unicode="&#x11b;" horiz-adv-x="1136" d="M572 1034q307 0 477 -291q59 -115 59 -248v-22q-18 -100 -100 -100h-733q29 -95 160 -166q77 -30 145 -30q77 0 187 55h32q93 -18 93 -96v-11q0 -117 -292 -155h-28q-286 0 -458 268q-70 127 -70 264q0 293 275 466q135 66 253 66zM258 576h640q0 35 -81 144 q-110 104 -215 104h-41q-160 0 -263 -158q-37 -63 -40 -90zM587 1352q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100z" />
-<glyph unicode="&#x11c;" horiz-adv-x="1285" d="M751 1594q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100zM768 1466q238 0 433 -136q28 -38 28 -71v-4q0 -83 -103 -102q-22 0 -162 66q-82 32 -158 32h-61 q-198 0 -381 -193q-118 -162 -118 -332v-15q0 -278 258 -455q134 -75 268 -75h15q132 0 250 64v296h-246q-98 17 -98 102v5q17 100 101 100h352q81 0 98 -100v-421q0 -111 -61 -140q-199 -117 -389 -117h-22q-370 0 -619 342q-118 195 -118 406q0 376 334 622 q206 126 399 126z" />
-<glyph unicode="&#x11d;" horiz-adv-x="1167" d="M571 1212q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100zM562 1051q241 0 417 -200q122 -167 122 -317l-4 -126v-449q0 -141 -206 -299q-157 -103 -329 -103 q-294 0 -486 262q-38 64 -38 91v11q0 73 94 94h14q71 0 111 -108q122 -153 305 -153q219 0 328 196l6 40v97q-123 -114 -323 -114h-30q-218 0 -405 204q-115 162 -115 335q0 263 232 440q148 99 307 99zM228 523v-18q0 -208 219 -310q57 -17 104 -17h22q203 0 307 218 q16 65 16 101v23q0 207 -221 310q-69 16 -106 16h-14q-203 0 -307 -215q-20 -59 -20 -108z" />
-<glyph unicode="&#x11e;" horiz-adv-x="1246" d="M520 1837h12q73 0 110 -98q40 -46 94 -46q82 0 122 98q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99zM755 1466q238 0 433 -136q28 -38 28 -71v-4q0 -83 -103 -102q-22 0 -162 66q-82 32 -158 32h-61 q-198 0 -381 -193q-118 -162 -118 -332v-15q0 -278 258 -455q134 -75 268 -75h15q132 0 250 64v296h-246q-98 17 -98 102v5q17 100 101 100h352q81 0 98 -100v-421q0 -111 -61 -140q-199 -117 -389 -117h-22q-370 0 -619 342q-118 195 -118 406q0 376 334 622 q206 126 399 126z" />
-<glyph unicode="&#x11f;" horiz-adv-x="1140" d="M366 1466h12q73 0 110 -98q40 -46 94 -46q82 0 122 98q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99zM575 1051q241 0 417 -200q122 -167 122 -317l-4 -126v-449q0 -141 -206 -299q-157 -103 -329 -103 q-294 0 -486 262q-38 64 -38 91v11q0 73 94 94h14q71 0 111 -108q122 -153 305 -153q219 0 328 196l6 40v97q-123 -114 -323 -114h-30q-218 0 -405 204q-115 162 -115 335q0 263 232 440q148 99 307 99zM241 523v-18q0 -208 219 -310q57 -17 104 -17h22q203 0 307 218 q16 65 16 101v23q0 207 -221 310q-69 16 -106 16h-14q-203 0 -307 -215q-20 -59 -20 -108z" />
-<glyph unicode="&#x120;" horiz-adv-x="1272" d="M780 1823q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9zM759 1466q238 0 433 -136q28 -38 28 -71v-4q0 -83 -103 -102q-22 0 -162 66q-82 32 -158 32h-61q-198 0 -381 -193q-118 -162 -118 -332v-15q0 -278 258 -455 q134 -75 268 -75h15q132 0 250 64v296h-246q-98 17 -98 102v5q17 100 101 100h352q81 0 98 -100v-421q0 -111 -61 -140q-199 -117 -389 -117h-22q-370 0 -619 342q-118 195 -118 406q0 376 334 622q206 126 399 126z" />
-<glyph unicode="&#x121;" horiz-adv-x="1149" d="M609 1437q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9zM584 1051q241 0 417 -200q122 -167 122 -317l-4 -126v-449q0 -141 -206 -299q-157 -103 -329 -103q-294 0 -486 262q-38 64 -38 91v11q0 73 94 94h14 q71 0 111 -108q122 -153 305 -153q219 0 328 196l6 40v97q-123 -114 -323 -114h-30q-218 0 -405 204q-115 162 -115 335q0 263 232 440q148 99 307 99zM250 523v-18q0 -208 219 -310q57 -17 104 -17h22q203 0 307 218q16 65 16 101v23q0 207 -221 310q-69 16 -106 16h-14 q-203 0 -307 -215q-20 -59 -20 -108z" />
-<glyph unicode="&#x122;" horiz-adv-x="1276" d="M883 -25q88 -67 88 -174q0 -169 -197 -218l-53 3h-50l-61 -3q-85 28 -85 89v17q17 90 93 90h121q36 0 36 22v3q0 15 -41 23q-63 30 -63 82v67q-294 28 -518 336q-118 195 -118 406q0 376 334 622q206 126 399 126q238 0 433 -136q28 -38 28 -71v-4q0 -83 -103 -102 q-22 0 -162 66q-82 32 -158 32h-61q-198 0 -381 -193q-118 -162 -118 -332v-15q0 -278 258 -455q134 -75 268 -75h15q132 0 250 64v296h-246q-98 17 -98 102v5q17 100 101 100h352q81 0 98 -100v-421q0 -111 -61 -140q-165 -97 -300 -112z" />
-<glyph unicode="&#x123;" horiz-adv-x="1184" d="M665 1701q59 -17 59 -64v-14q-59 -141 -60 -238q0 -52 46 -129l6 -28q0 -92 -111 -113q-126 0 -157 280q0 150 159 284zM597 1051q241 0 417 -200q122 -167 122 -317l-4 -126v-449q0 -141 -206 -299q-157 -103 -329 -103q-294 0 -486 262q-38 64 -38 91v11q0 73 94 94h14 q71 0 111 -108q122 -153 305 -153q219 0 328 196l6 40v97q-123 -114 -323 -114h-30q-218 0 -405 204q-115 162 -115 335q0 263 232 440q148 99 307 99zM263 523v-18q0 -208 219 -310q57 -17 104 -17h22q203 0 307 218q16 65 16 101v23q0 207 -221 310q-69 16 -106 16h-14 q-203 0 -307 -215q-20 -59 -20 -108z" />
-<glyph unicode="&#x124;" horiz-adv-x="1176" d="M602 1594q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100zM134 1463h18q95 -20 95 -90v-568h652v560q17 98 98 98h14q95 -18 95 -98v-1301q0 -73 -99 -94h-10 q-98 18 -98 102v530h-652v-534q0 -81 -98 -98h-7q-83 0 -102 103v1279q12 111 94 111z" />
-<glyph unicode="&#x125;" horiz-adv-x="1074" d="M562 1510q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100zM129 1460h18q95 -20 95 -90v-396q104 90 280 90q268 0 429 -253q61 -113 61 -215v-528q0 -81 -100 -98h-5 q-77 0 -102 94v510q0 184 -191 266q-45 13 -92 13q-189 0 -267 -203q-13 -43 -13 -148v-434q0 -81 -100 -98h-5q-77 0 -102 94v1298q21 98 94 98z" />
-<glyph unicode="&#x126;" horiz-adv-x="1303" d="M137 1225v127q12 111 94 111h18q95 -20 95 -90v-153h652v145q17 98 98 98h14q95 -18 95 -98v-140l-7 -1q102 0 132 -106q0 -78 -111 -114h-14v-940q0 -73 -99 -94h-10q-98 18 -98 102v530h-652v-534q0 -81 -98 -98h-7q-83 0 -102 103v931h-2q-117 31 -117 113 q23 103 95 103v7zM344 1008v-203h652v203h-652z" />
-<glyph unicode="&#x127;" horiz-adv-x="1330" d="M291 1317v45q21 98 94 98h18q95 -20 95 -90v-53h393l36 4q85 0 108 -107q0 -75 -89 -113l-74 4h-374v-131q104 90 280 90q268 0 429 -253q61 -113 61 -215v-528q0 -81 -100 -98h-5q-77 0 -102 94v510q0 184 -191 266q-45 13 -92 13q-189 0 -267 -203q-13 -43 -13 -148 v-434q0 -81 -100 -98h-5q-77 0 -102 94v1041h-97l-69 -4q-94 33 -94 113q18 103 72 103v7l71 -7h117z" />
-<glyph unicode="&#x128;" horiz-adv-x="621" d="M220 1769q91 0 202 -72l20 -2l75 22h13q100 -17 100 -102v-4q0 -96 -150 -120l-40 -4q-91 0 -194 73l-17 2l-84 -23q-106 20 -106 102v8q0 99 164 117zM222 1479l23 -4h137l18 4q106 -23 106 -110q-18 -103 -102 -103h14v-1087h-7q74 0 95 -100v-10q-18 -99 -102 -99 h-183q-99 18 -99 102v7q21 100 95 100h-7v1087h14q-90 0 -102 108v6q0 70 100 99z" />
-<glyph unicode="&#x129;" horiz-adv-x="616" d="M220 1359q91 0 202 -72l20 -2l75 22h13q100 -17 100 -102v-4q0 -96 -150 -120l-40 -4q-91 0 -194 73l-17 2l-84 -23q-106 20 -106 102v8q0 99 164 117zM330 1060q98 -25 98 -94v-898q0 -81 -100 -98h-6q-82 0 -101 102v874q12 114 109 114z" />
-<glyph unicode="&#x12a;" horiz-adv-x="683" d="M94 1751l71 -7h397l36 4q81 0 108 -106q0 -80 -94 -114l-65 4h-362l-69 -4q-94 33 -94 113q18 103 72 103v7zM266 1479l23 -4h137l18 4q106 -23 106 -110q-18 -103 -102 -103h14v-1087h-7q74 0 95 -100v-10q-18 -99 -102 -99h-183q-99 18 -99 102v7q21 100 95 100h-7 v1087h14q-90 0 -102 108v6q0 70 100 99z" />
-<glyph unicode="&#x12b;" horiz-adv-x="744" d="M116 1346l71 -7h397l36 4q81 0 108 -106q0 -80 -94 -114l-65 4h-362l-69 -4q-94 33 -94 113q18 103 72 103v7zM383 1060q98 -25 98 -94v-898q0 -81 -100 -98h-6q-82 0 -101 102v874q12 114 109 114z" />
-<glyph unicode="&#x12c;" horiz-adv-x="647" d="M132 1862h12q73 0 110 -98q40 -46 94 -46q82 0 122 98q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99zM252 1479l23 -4h137l18 4q106 -23 106 -110q-18 -103 -102 -103h14v-1087h-7q74 0 95 -100v-10 q-18 -99 -102 -99h-183q-99 18 -99 102v7q21 100 95 100h-7v1087h14q-90 0 -102 108v6q0 70 100 99z" />
-<glyph unicode="&#x12d;" horiz-adv-x="647" d="M124 1452h12q73 0 110 -98q40 -46 94 -46q82 0 122 98q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99zM330 1060q98 -25 98 -94v-898q0 -81 -100 -98h-6q-82 0 -101 102v874q12 114 109 114z" />
-<glyph unicode="&#x12e;" horiz-adv-x="511" d="M131 -23q-71 24 -71 95v7q21 100 95 100h-7v1087h14q-90 0 -102 108v6q0 70 100 99l23 -4h137l18 4q106 -23 106 -110q-18 -103 -102 -103h14v-1087h-7q74 0 95 -100v-10q-18 -99 -102 -99h28v-35q0 -84 -99 -99q-7 -4 -7 -17q0 -23 37 -23h98l18 5q101 -23 101 -98v-7 q0 -67 -81 -97l-80 4h-34l-56 -4q-86 0 -170 106q-30 57 -30 100v28q0 89 64 144z" />
-<glyph unicode="&#x12f;" horiz-adv-x="466" d="M237 1316q98 -25 98 -94v-22q0 -79 -107 -94q-77 0 -101 105q21 105 110 105zM137 15l-2 29q-3 9 -7 28v874q12 114 109 114q98 -25 98 -94v-898q0 -8 -1 -14q1 0 1 -1v-108q0 -84 -99 -99q-7 -4 -7 -17q0 -23 37 -23h98l18 5q101 -23 101 -98v-7q0 -67 -81 -97l-80 4 h-34l-56 -4q-86 0 -170 106q-30 57 -30 100v28q0 113 105 172z" />
-<glyph unicode="&#x130;" horiz-adv-x="462" d="M265 1823q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9zM160 1479l23 -4h137l18 4q106 -23 106 -110q-18 -103 -102 -103h14v-1087h-7q74 0 95 -100v-10q-18 -99 -102 -99h-183q-99 18 -99 102v7q21 100 95 100h-7v1087 h14q-90 0 -102 108v6q0 70 100 99z" />
-<glyph unicode="&#x131;" horiz-adv-x="514" d="M335 1000h15q73 -16 73 -73v-881q-14 -76 -79 -76h-5q-76 16 -76 73v767q-34 -11 -60 -11q-56 0 -73 74v16q0 63 126 88z" />
-<glyph unicode="&#x132;" horiz-adv-x="1435" d="M1290 1473h12q80 0 98 -99v-926q0 -255 -238 -409q-113 -65 -232 -65h-19q-236 0 -394 227q-73 121 -73 254q22 99 95 99h15q102 0 102 -147q5 -70 89 -161q81 -64 177 -64q190 0 260 199q10 35 10 71v926q18 95 98 95zM160 1479l23 -4h137l18 4q106 -23 106 -110 q-18 -103 -102 -103h14v-1087h-7q74 0 95 -100v-10q-18 -99 -102 -99h-183q-99 18 -99 102v7q21 100 95 100h-7v1087h14q-90 0 -102 108v6q0 70 100 99z" />
-<glyph unicode="&#x133;" horiz-adv-x="761" d="M189 1316q99 -25 99 -94v-22q0 -79 -107 -94q-77 0 -101 105q21 105 109 105zM189 1060q99 -25 99 -94v-898q0 -81 -100 -98h-6q-82 0 -101 102v874q12 114 108 114zM580 1308q105 -21 105 -105q0 -88 -110 -105q-94 27 -94 94v22q0 68 99 94zM219 -438q-90 0 -104 109 q0 83 108 99q189 0 250 186l8 106v894q0 84 104 100q100 -19 100 -100v-928q0 -295 -281 -431q-88 -31 -166 -35h-19z" />
-<glyph unicode="&#x134;" horiz-adv-x="1166" d="M905 1568q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100zM907 1473h12q80 0 98 -99v-926q0 -255 -238 -409q-113 -65 -232 -65h-19q-236 0 -394 227q-73 121 -73 254 q22 99 95 99h15q102 0 102 -147q5 -70 89 -161q81 -64 177 -64q190 0 260 199q10 35 10 71v926q18 95 98 95z" />
-<glyph unicode="&#x135;" horiz-adv-x="810" d="M522 1163q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100zM532 1056q99 -19 99 -100v-928q0 -295 -280 -431q-99 -35 -183 -35l-4 4h23l-3 -4h-19q-89 0 -104 109 q0 83 109 99q188 0 249 186l8 106v894q0 84 105 100z" />
-<glyph unicode="&#x136;" horiz-adv-x="1104" d="M148 1464h5q100 -17 100 -98v-581q658 657 674 657l27 4h12q95 -18 95 -98v-12q0 -51 -89 -124l-445 -448l522 -646l4 -33v-13q0 -81 -98 -98h-7q-61 0 -149 129l-423 513l-123 -126v-422q0 -81 -100 -98h-5q-83 0 -102 102v1290q19 102 102 102zM506 79q22 8 45 8 q38 0 78 -21q119 -79 119 -196q0 -169 -197 -218l-53 3h-50l-61 -3q-85 28 -85 89v17q17 90 93 90h121q36 0 36 22v3q0 15 -41 23q-63 30 -63 82q0 79 58 101z" />
-<glyph unicode="&#x137;" horiz-adv-x="1026" d="M393 518l-125 -80v-370q0 -81 -100 -98h-6q-77 0 -102 94v1302q21 99 94 99h18q96 -21 96 -91v-690q489 324 586 379h27q86 0 102 -107q0 -66 -136 -138l-276 -189l406 -514l6 -33v-9q-18 -99 -102 -99h-7q-60 0 -157 140zM471 88q22 8 45 8q38 0 78 -21 q119 -79 119 -196q0 -169 -197 -218l-53 3h-50l-61 -3q-85 28 -85 89v17q17 90 93 90h121q36 0 36 22v3q0 15 -41 23q-63 30 -63 82q0 79 58 101z" />
-<glyph unicode="&#x138;" horiz-adv-x="1043" d="M406 518l-125 -80v-370q0 -81 -100 -98h-6q-77 0 -102 94v934q16 87 93 105l28 1q82 -20 87 -110v-310q489 324 586 379h27q86 0 102 -107q0 -66 -136 -138l-276 -189l406 -514l6 -33v-9q-18 -99 -102 -99h-7q-60 0 -157 140z" />
-<glyph unicode="&#x139;" horiz-adv-x="947" d="M528 1854q94 0 110 -116q0 -55 -192 -227q-76 -93 -130 -93h-15q-99 19 -99 102v16q0 47 149 181q120 137 177 137zM125 1463h18q95 -20 95 -90v-1196h587q87 0 103 -111q-29 -96 -103 -96h-692q-83 0 -102 103v1279q12 111 94 111z" />
-<glyph unicode="&#x13a;" horiz-adv-x="466" d="M172 1457h18q95 -20 95 -90v-1190h49q73 0 94 -99v-8q-17 -100 -102 -100h-146q-83 0 -102 102v1275q12 110 94 110zM325 1867q89 0 104 -110q0 -52 -182 -215q-72 -88 -123 -88h-14q-94 18 -94 97v15q0 44 141 171q114 130 168 130z" />
-<glyph unicode="&#x13b;" horiz-adv-x="929" d="M443 -30h-319q-83 0 -102 103v1279q12 111 94 111h18q95 -20 95 -90v-1196h587q87 0 103 -111q-29 -96 -103 -96h-227q119 -79 119 -196q0 -169 -197 -218l-53 3h-50l-61 -3q-85 28 -85 89v17q17 90 93 90h121q36 0 36 22v3q0 15 -41 23q-63 30 -63 82q0 61 35 88z" />
-<glyph unicode="&#x13c;" horiz-adv-x="515" d="M366 -30l8 -4q119 -79 119 -196q0 -169 -197 -218l-53 3h-50l-61 -3q-85 28 -85 89v17q17 90 93 90h121q36 0 36 22v3q0 15 -41 23q-63 30 -63 82q0 66 40 92h-4q-83 0 -102 102v1275q12 110 94 110h18q95 -20 95 -90v-1190h49q73 0 94 -99v-8q-17 -100 -102 -100h-9z " />
-<glyph unicode="&#x13d;" horiz-adv-x="973" d="M749 1606h28q110 0 142 -264v-22q0 -143 -157 -273q-38 -21 -67 -21q-33 13 -52 46v26q60 144 60 230v12q0 54 -48 136v31q21 99 94 99zM160 1463h18q95 -20 95 -90v-1196h587q87 0 103 -111q-29 -96 -103 -96h-692q-83 0 -102 103v1279q12 111 94 111z" />
-<glyph unicode="&#x13e;" horiz-adv-x="559" d="M402 1597h28q110 0 142 -264v-22q0 -143 -157 -273q-38 -21 -67 -21q-33 13 -52 46v26q60 144 60 230v12q0 54 -48 136v31q21 99 94 99zM168 1457h18q95 -20 95 -90v-1190h49q73 0 94 -99v-8q-17 -100 -102 -100h-146q-83 0 -102 102v1275q12 110 94 110z" />
-<glyph unicode="&#x13f;" horiz-adv-x="1004" d="M665 899q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9zM160 1463h18q95 -20 95 -90v-1196h587q87 0 103 -111q-29 -96 -103 -96h-692q-83 0 -102 103v1279q12 111 94 111z" />
-<glyph unicode="&#x140;" horiz-adv-x="665" d="M498 864q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9zM159 1457h18q95 -20 95 -90v-1190h49q73 0 94 -99v-8q-17 -100 -102 -100h-146q-83 0 -102 102v1275q12 110 94 110z" />
-<glyph unicode="&#x141;" horiz-adv-x="1079" d="M185 714v638q12 111 94 111h18q95 -20 95 -90v-509q198 145 230 145h20q73 0 98 -98v-16q0 -66 -133 -145l-215 -155v-418h587q87 0 103 -111q-29 -96 -103 -96h-692q-83 0 -102 103v376q-6 -4 -16 -4l-23 -5q-110 22 -110 111q0 74 149 163z" />
-<glyph unicode="&#x142;" horiz-adv-x="695" d="M430 830q144 104 173 104h20q73 0 98 -98v-16q0 -66 -133 -145l-158 -114v-384h49q73 0 94 -99v-8q-17 -100 -102 -100h-146q-83 0 -102 102v340q-61 -42 -73 -42l-23 -5q-110 22 -110 111q0 75 165 173l41 30v668q12 110 94 110h18q95 -20 95 -90v-537z" />
-<glyph unicode="&#x143;" horiz-adv-x="1285" d="M854 1788q94 0 110 -116q0 -55 -192 -227q-76 -93 -130 -93h-15q-99 19 -99 102v16q0 47 149 181q120 137 177 137zM1033 374v992q18 95 98 95h11q81 0 98 -98v-1288q0 -87 -107 -105q-61 0 -158 144l-733 936v-978q0 -81 -100 -98h-5q-83 0 -102 102v1274q12 111 94 111 h15q67 0 108 -88q53 -60 781 -999z" />
-<glyph unicode="&#x144;" horiz-adv-x="1096" d="M678 1555q94 0 110 -116q0 -55 -192 -227q-76 -93 -130 -93h-15q-99 19 -99 102v16q0 47 149 181q120 137 177 137zM138 1032q96 -25 96 -92v-13q118 105 317 105q219 0 389 -182q124 -153 124 -323v-465q0 -73 -96 -92h-10q-97 17 -97 100v409q0 254 -216 333 q-53 14 -94 14h-11q-181 0 -280 -188q-26 -57 -26 -188v-384q0 -79 -97 -96h-6q-81 0 -100 100v849q11 113 107 113z" />
-<glyph unicode="&#x145;" horiz-adv-x="1307" d="M1064 374v992q18 95 98 95h11q81 0 98 -98v-1288q0 -87 -107 -105q-61 0 -158 144l-733 936v-978q0 -81 -100 -98h-5q-83 0 -102 102v1274q12 111 94 111h15q67 0 108 -88q53 -60 781 -999zM655 88q22 8 45 8q38 0 78 -21q119 -79 119 -196q0 -169 -197 -218l-53 3h-50 l-61 -3q-85 28 -85 89v17q17 90 93 90h121q36 0 36 22v3q0 15 -41 23q-63 30 -63 82q0 79 58 101z" />
-<glyph unicode="&#x146;" horiz-adv-x="1140" d="M514 84q22 8 45 8q38 0 78 -21q119 -79 119 -196q0 -169 -197 -218l-53 3h-50l-61 -3q-85 28 -85 89v17q17 90 93 90h121q36 0 36 22v3q0 15 -41 23q-63 30 -63 82q0 79 58 101zM142 1032q96 -25 96 -92v-13q118 105 317 105q219 0 389 -182q124 -153 124 -323v-465 q0 -73 -96 -92h-10q-97 17 -97 100v409q0 254 -216 333q-53 14 -94 14h-11q-181 0 -280 -188q-26 -57 -26 -188v-384q0 -79 -97 -96h-6q-81 0 -100 100v849q11 113 107 113z" />
-<glyph unicode="&#x147;" horiz-adv-x="1321" d="M670 1620q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM1051 374v992q18 95 98 95h11q81 0 98 -98v-1288q0 -87 -107 -105q-61 0 -158 144l-733 936v-978 q0 -81 -100 -98h-5q-83 0 -102 102v1274q12 111 94 111h15q67 0 108 -88q53 -60 781 -999z" />
-<glyph unicode="&#x148;" horiz-adv-x="1114" d="M578 1369q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM147 1032q96 -25 96 -92v-13q118 105 317 105q219 0 389 -182q124 -153 124 -323v-465q0 -73 -96 -92h-10 q-97 17 -97 100v409q0 254 -216 333q-53 14 -94 14h-11q-181 0 -280 -188q-26 -57 -26 -188v-384q0 -79 -97 -96h-6q-81 0 -100 100v849q11 113 107 113z" />
-<glyph unicode="&#x149;" horiz-adv-x="1427" d="M119 1306h28q110 0 142 -264v-22q0 -143 -157 -273q-38 -21 -67 -21q-33 13 -52 46v26q60 144 60 230v12q0 54 -48 136v31q21 99 94 99zM398 1032q96 -25 96 -92v-13q118 105 317 105q219 0 389 -182q124 -153 124 -323v-465q0 -73 -96 -92h-10q-97 17 -97 100v409 q0 254 -216 333q-53 14 -94 14h-11q-181 0 -280 -188q-26 -57 -26 -188v-384q0 -79 -97 -96h-6q-81 0 -100 100v849q11 113 107 113z" />
-<glyph unicode="&#x14a;" horiz-adv-x="1268" d="M643 1463q242 0 437 -190q142 -165 159 -319l7 -51l-3 -119v-207l3 -99q-15 -141 -96 -255q-161 -196 -394 -196q-167 0 -294 107l-11 48v17q18 95 98 95h13l126 -50l70 -7h6q155 0 243 152q32 48 32 199v230q0 304 -255 410q-74 24 -126 24h-22q-220 0 -348 -219 q-41 -75 -41 -237v-728q0 -81 -100 -98h-5q-83 0 -102 102v1276q12 111 94 111h18q95 -20 95 -90v-55q147 149 396 149z" />
-<glyph unicode="&#x14b;" horiz-adv-x="1140" d="M1072 47q-4 -230 -250 -325l-96 -17q-102 23 -102 93v22q0 82 112 91q90 0 131 113q0 20 3 39v416q0 254 -216 333q-53 14 -94 14h-11q-181 0 -280 -188q-26 -57 -26 -188v-384q0 -79 -97 -96h-6q-81 0 -100 100v849q11 113 107 113q96 -25 96 -92v-13q118 105 317 105 q219 0 389 -182q124 -153 124 -323v-465q0 -8 -1 -15z" />
-<glyph unicode="&#x14c;" horiz-adv-x="1580" d="M779 1465q378 0 632 -350q115 -199 115 -401q0 -374 -338 -622q-192 -122 -402 -122h-15q-386 0 -629 358q-111 182 -111 393q0 358 314 602q205 142 434 142zM238 710q0 -259 230 -437q142 -96 303 -96h19q253 0 429 226q100 144 100 315q0 293 -269 464 q-132 76 -271 76q-268 0 -445 -234q-96 -138 -96 -314zM370 1734h847q97 -18 97 -100v-15q-18 -97 -97 -97h-847q-87 0 -100 114q26 98 100 98z" />
-<glyph unicode="&#x14d;" horiz-adv-x="1188" d="M583 1048q209 0 378 -158q161 -169 161 -381q0 -303 -286 -476q-125 -63 -242 -63h-30q-218 0 -405 204q-115 162 -115 335q0 263 232 440q148 99 307 99zM253 520v-18q0 -187 181 -290q64 -33 138 -33h22q193 0 296 201q23 62 23 122v18q0 155 -143 262q-83 57 -191 57 q-211 0 -310 -222q-16 -52 -16 -97zM163 1355h847q97 -18 97 -100v-15q-18 -97 -97 -97h-847q-87 0 -100 114q26 98 100 98z" />
-<glyph unicode="&#x14e;" horiz-adv-x="1563" d="M587 1866h12q73 0 110 -98q40 -46 94 -46q82 0 122 98q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99zM788 1465q378 0 632 -350q115 -199 115 -401q0 -374 -338 -622q-192 -122 -402 -122h-15 q-386 0 -629 358q-111 182 -111 393q0 358 314 602q205 142 434 142zM247 710q0 -259 230 -437q142 -96 303 -96h19q253 0 429 226q100 144 100 315q0 293 -269 464q-132 76 -271 76q-268 0 -445 -234q-96 -138 -96 -314z" />
-<glyph unicode="&#x14f;" horiz-adv-x="1127" d="M371 1466h12q73 0 110 -98q40 -46 94 -46q82 0 122 98q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99zM579 1048q209 0 378 -158q161 -169 161 -381q0 -303 -286 -476q-125 -63 -242 -63h-30 q-218 0 -405 204q-115 162 -115 335q0 263 232 440q148 99 307 99zM249 520v-18q0 -187 181 -290q64 -33 138 -33h22q193 0 296 201q23 62 23 122v18q0 155 -143 262q-83 57 -191 57q-211 0 -310 -222q-16 -52 -16 -97z" />
-<glyph unicode="&#x150;" horiz-adv-x="1580" d="M597 1873h7q103 -18 103 -102v-20q0 -31 -175 -259q-28 -31 -59 -31h-8q-56 0 -74 70v18q110 275 140 302q37 22 66 22zM238 710q0 -259 230 -437q142 -96 303 -96h19q253 0 429 226q100 144 100 315q0 293 -269 464q-132 76 -271 76q-268 0 -445 -234q-96 -138 -96 -314 zM758 1465h21q378 0 632 -350q115 -199 115 -401q0 -374 -338 -622q-192 -122 -402 -122h-15q-386 0 -629 358q-111 182 -111 393q0 358 314 602q158 109 330 134q-28 16 -40 62q0 27 117 293q47 49 96 49q107 -21 107 -110q0 -42 -114 -185q-48 -74 -83 -101z" />
-<glyph unicode="&#x151;" horiz-adv-x="1135" d="M460 1499h7q103 -18 103 -102v-20q0 -31 -175 -259q-28 -31 -59 -31h-8q-56 0 -74 70v18q110 275 140 302q37 22 66 22zM711 1487q107 -21 107 -110q0 -42 -114 -185q-75 -117 -120 -117h-12q-56 0 -74 70q0 27 117 293q47 49 96 49zM574 1048q209 0 378 -158 q161 -169 161 -381q0 -303 -286 -476q-125 -63 -242 -63h-30q-218 0 -405 204q-115 162 -115 335q0 263 232 440q148 99 307 99zM244 520v-18q0 -187 181 -290q64 -33 138 -33h22q193 0 296 201q23 62 23 122v18q0 155 -143 262q-83 57 -191 57q-211 0 -310 -222 q-16 -52 -16 -97z" />
-<glyph unicode="&#x152;" horiz-adv-x="2157" d="M264 710q0 -261 189 -439q114 -94 242 -94h16q203 0 345 223q83 146 83 318q0 294 -220 466q-106 74 -217 74q-215 0 -358 -231q-80 -140 -80 -317zM1141 186q-6 -10 -99 -92q-160 -124 -334 -124h-13q-321 0 -521 360q-90 181 -90 391q0 356 257 600q170 144 361 144 q293 0 439 -221v124q15 100 72 100v11l52 -11h737l15 4q95 0 110 -114q-21 -98 -113 -98h-665v-452h424l54 4q76 0 99 -103q0 -73 -86 -109l-82 4h-409v-426h683q79 0 96 -112q-29 -96 -99 -96h-789q-99 18 -99 102v114z" />
-<glyph unicode="&#x153;" horiz-adv-x="2025" d="M253 525v-18q0 -187 181 -290q64 -33 138 -33h22q193 0 296 201q23 62 23 122v18q0 155 -143 262q-83 57 -191 57q-211 0 -310 -222q-16 -52 -16 -97zM1133 581h640q0 35 -81 144q-110 104 -215 104h-41q-160 0 -263 -158q-37 -63 -40 -90zM1020 195q-46 -74 -184 -157 q-125 -63 -242 -63h-30q-218 0 -405 204q-115 162 -115 335q0 263 232 440q148 99 307 99q209 0 378 -158q52 -54 62 -70q41 67 171 148q135 66 253 66q307 0 477 -291q59 -115 59 -248v-22q-18 -100 -100 -100h-733q29 -95 160 -166q77 -30 145 -30q77 0 187 55h32 q93 -18 93 -96v-11q0 -117 -292 -155h-28q-282 0 -427 220z" />
-<glyph unicode="&#x154;" horiz-adv-x="986" d="M243 1261v-425h185q156 0 206 169l3 27v28q0 123 -140 188q-39 13 -129 13h-125zM411 1465h33q218 0 355 -228q45 -89 45 -185v-15q0 -214 -208 -351l-10 -5q332 -573 332 -594v-19q0 -81 -100 -98h-6q-73 0 -140 145l-301 514h-168v-561q0 -81 -100 -98h-6 q-83 0 -102 103v1280q12 112 94 112h185q-59 26 -59 90v16q0 47 149 181q120 137 177 137q94 0 110 -116q0 -55 -192 -227q-49 -60 -88 -81z" />
-<glyph unicode="&#x155;" horiz-adv-x="928" d="M603 1537q94 0 110 -116q0 -55 -192 -227q-76 -93 -130 -93h-15q-99 19 -99 102v16q0 47 149 181q120 137 177 137zM177 1061q98 -25 98 -94v-16q124 110 323 110q107 0 232 -54q43 -44 43 -85v-7q-17 -98 -101 -98h-9q-103 33 -150 33h-22q-202 0 -296 -210 q-20 -55 -20 -128v-444q0 -81 -100 -98h-6q-82 0 -101 102v874q12 115 109 115z" />
-<glyph unicode="&#x156;" horiz-adv-x="995" d="M134 1465h315q218 0 355 -228q45 -89 45 -185v-15q0 -214 -208 -351l-10 -5q332 -573 332 -594v-19q0 -81 -100 -98h-6q-73 0 -140 145l-301 514h-168v-561q0 -81 -100 -98h-6q-83 0 -102 103v1280q12 112 94 112zM248 1261v-425h185q156 0 206 169l3 27v28 q0 123 -140 188q-39 13 -129 13h-125zM466 120q22 8 45 8q38 0 78 -21q119 -79 119 -196q0 -169 -197 -218l-53 3h-50l-61 -3q-85 28 -85 89v17q17 90 93 90h121q36 0 36 22v3q0 15 -41 23q-63 30 -63 82q0 79 58 101z" />
-<glyph unicode="&#x157;" horiz-adv-x="854" d="M129 1061q98 -25 98 -94v-16q124 110 323 110q107 0 232 -54q43 -44 43 -85v-7q-17 -98 -101 -98h-9q-103 33 -150 33h-22q-202 0 -296 -210q-20 -55 -20 -128v-444q0 -81 -100 -98h-6q-82 0 -101 102v874q12 115 109 115zM303 115q22 8 45 8q38 0 78 -21 q119 -79 119 -196q0 -169 -197 -218l-53 3h-50l-61 -3q-85 28 -85 89v17q17 90 93 90h121q36 0 36 22v3q0 15 -41 23q-63 30 -63 82q0 79 58 101z" />
-<glyph unicode="&#x158;" horiz-adv-x="1003" d="M388 1761q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM129 1465h315q218 0 355 -228q45 -89 45 -185v-15q0 -214 -208 -351l-10 -5q332 -573 332 -594v-19 q0 -81 -100 -98h-6q-73 0 -140 145l-301 514h-168v-561q0 -81 -100 -98h-6q-83 0 -102 103v1280q12 112 94 112zM243 1261v-425h185q156 0 206 169l3 27v28q0 123 -140 188q-39 13 -129 13h-125z" />
-<glyph unicode="&#x159;" horiz-adv-x="885" d="M433 1361q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM147 1061q98 -25 98 -94v-16q124 110 323 110q107 0 232 -54q43 -44 43 -85v-7q-17 -98 -101 -98h-9 q-103 33 -150 33h-22q-202 0 -296 -210q-20 -55 -20 -128v-444q0 -81 -100 -98h-6q-82 0 -101 102v874q12 115 109 115z" />
-<glyph unicode="&#x15a;" horiz-adv-x="929" d="M513 1467q201 0 337 -185l7 -25v-27q0 -74 -101 -91q-46 0 -125 88q-55 35 -106 35h-23q-108 0 -164 -117q-12 -26 -12 -52v-31q0 -124 150 -180q131 0 287 -126q151 -153 151 -336q0 -225 -193 -368q-118 -82 -261 -82q-232 0 -387 204l-11 43q19 103 104 103 q54 0 123 -88q83 -57 152 -57h34q134 0 217 153q13 49 13 73v38q0 133 -154 217l-195 54q-236 136 -236 356v27q0 218 231 340q87 34 162 34zM618 1893q94 0 110 -116q0 -55 -193 -227q-75 -93 -129 -93h-15q-99 19 -99 102v16q0 47 148 181q121 137 178 137z" />
-<glyph unicode="&#x15b;" horiz-adv-x="980" d="M612 1474q94 0 110 -116q0 -55 -192 -227q-76 -93 -130 -93h-15q-99 19 -99 102v16q0 47 149 181q120 137 177 137zM744 327q-1 20 -41 24q-506 113 -540 144q-103 78 -103 193q0 156 218 296q120 63 237 63q274 0 433 -253l4 -37v-6q0 -85 -102 -100q-68 0 -126 96 q-91 89 -209 89q-154 0 -241 -144l-2 -10q0 -20 86 -27q430 -104 475 -121q123 -81 123 -205v-3q0 -171 -242 -309q-105 -47 -221 -47q-240 0 -405 224q-21 30 -21 58v22q0 81 110 93q53 0 125 -103q88 -82 206 -82q140 0 232 131z" />
-<glyph unicode="&#x15c;" horiz-adv-x="885" d="M491 1467q201 0 337 -185l7 -25v-27q0 -74 -101 -91q-46 0 -125 88q-55 35 -106 35h-23q-108 0 -164 -117q-12 -26 -12 -52v-31q0 -124 150 -180q131 0 287 -126q151 -153 151 -336q0 -225 -193 -368q-118 -82 -261 -82q-232 0 -387 204l-11 43q19 103 104 103 q54 0 123 -88q83 -57 152 -57h34q134 0 217 153q13 49 13 73v38q0 133 -154 217l-195 54q-236 136 -236 356v27q0 218 231 340q87 34 162 34zM480 1564q-75 -101 -130 -101h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q63 0 159 -139q71 -71 71 -119v-15 q-21 -99 -102 -99h-12q-56 0 -130 101z" />
-<glyph unicode="&#x15d;" horiz-adv-x="969" d="M518 1149q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100zM744 327q-1 20 -41 24q-506 113 -540 144q-103 78 -103 193q0 156 218 296q120 63 237 63q274 0 433 -253 l4 -37v-6q0 -85 -102 -100q-68 0 -126 96q-91 89 -209 89q-154 0 -241 -144l-2 -10q0 -20 86 -27q430 -104 475 -121q123 -81 123 -205v-3q0 -171 -242 -309q-105 -47 -221 -47q-240 0 -405 224q-21 30 -21 58v22q0 81 110 93q53 0 125 -103q88 -82 206 -82q140 0 232 131z " />
-<glyph unicode="&#x15e;" horiz-adv-x="903" d="M558 -15q102 -68 102 -184q0 -169 -198 -218l-52 3h-51l-60 -3q-85 28 -85 89v17q17 90 93 90h121q36 0 36 22v3q0 15 -42 23q-62 30 -62 82v66q-171 17 -309 199l-11 43q19 103 104 103q54 0 123 -88q83 -57 152 -57h34q134 0 217 153q13 49 13 73v38q0 133 -154 217 l-195 54q-236 136 -236 356v27q0 218 231 340q87 34 162 34q201 0 337 -185l7 -25v-27q0 -74 -101 -91q-46 0 -125 88q-55 35 -106 35h-23q-108 0 -164 -117q-12 -26 -12 -52v-31q0 -124 150 -180q131 0 287 -126q151 -153 151 -336q0 -225 -193 -368q-77 -53 -141 -67z" />
-<glyph unicode="&#x15f;" horiz-adv-x="978" d="M748 327q-1 20 -41 24q-506 113 -540 144q-103 78 -103 193q0 156 218 296q120 63 237 63q274 0 433 -253l4 -37v-6q0 -85 -102 -100q-68 0 -126 96q-91 89 -209 89q-154 0 -241 -144l-2 -10q0 -20 86 -27q430 -104 475 -121q123 -81 123 -205v-3q0 -171 -242 -309 q-63 -28 -105 -35v-4q104 -69 104 -186q0 -169 -197 -218l-53 3h-50l-61 -3q-85 28 -85 89v17q17 90 93 90h121q36 0 36 22v3q0 15 -41 23q-63 30 -63 82v76q-179 20 -325 218q-21 30 -21 58v22q0 81 110 93q53 0 125 -103q88 -82 206 -82q140 0 232 131z" />
-<glyph unicode="&#x160;" horiz-adv-x="924" d="M486 1467q201 0 337 -185l7 -25v-27q0 -74 -101 -91q-46 0 -125 88q-55 35 -106 35h-23q-108 0 -164 -117q-12 -26 -12 -52v-31q0 -124 150 -180q131 0 287 -126q151 -153 151 -336q0 -225 -193 -368q-118 -82 -261 -82q-232 0 -387 204l-11 43q19 103 104 103 q54 0 123 -88q83 -57 152 -57h34q134 0 217 153q13 49 13 73v38q0 133 -154 217l-195 54q-236 136 -236 356v27q0 218 231 340q87 34 162 34zM481 1751q75 101 131 101h15q99 -21 99 -102v-12q0 -47 -103 -159q-67 -99 -127 -99h-28q-63 0 -155 135q-75 75 -75 123v15 q20 99 102 99h12q55 0 129 -101z" />
-<glyph unicode="&#x161;" horiz-adv-x="977" d="M512 1374q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM735 327q-1 20 -41 24q-506 113 -540 144q-103 78 -103 193q0 156 218 296q120 63 237 63q274 0 433 -253 l4 -37v-6q0 -85 -102 -100q-68 0 -126 96q-91 89 -209 89q-154 0 -241 -144l-2 -10q0 -20 86 -27q430 -104 475 -121q123 -81 123 -205v-3q0 -171 -242 -309q-105 -47 -221 -47q-240 0 -405 224q-21 30 -21 58v22q0 81 110 93q53 0 125 -103q88 -82 206 -82q140 0 232 131z " />
-<glyph unicode="&#x162;" horiz-adv-x="1219" d="M138 1466h936q95 -18 95 -98v-15q0 -82 -111 -94h-348v-1191q0 -81 -100 -98h-5q-83 0 -102 103v1186h-356q-103 20 -103 108q22 99 94 99zM563 -43h28q108 0 142 -170v-15q0 -97 -162 -178q-36 -12 -59 -12q-31 7 -55 33v28q60 87 60 134v7q0 26 -48 75v29q24 69 94 69z " />
-<glyph unicode="&#x163;" horiz-adv-x="730" d="M322 1420h17q93 -20 93 -89v-300h119l33 4q77 0 101 -100q0 -75 -88 -107l-60 4h-105v-509q0 -120 68 -143l79 -7h40q73 0 92 -97v-9q-17 -97 -100 -97h-77q-194 0 -288 210q-17 53 -17 121v531h-42l-64 -4q-88 31 -88 106q17 97 66 97v7l69 -7h59v280q12 109 93 109z M422 -27h28q108 0 142 -170v-15q0 -97 -162 -178q-36 -12 -59 -12q-31 7 -55 33v28q60 87 60 134v7q0 26 -48 75v29q24 69 94 69z" />
-<glyph unicode="&#x164;" horiz-adv-x="1224" d="M618 1766q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM147 1466h936q95 -18 95 -98v-15q0 -82 -111 -94h-348v-1191q0 -81 -100 -98h-5q-83 0 -102 103v1186h-356 q-103 20 -103 108q22 99 94 99z" />
-<glyph unicode="&#x165;" horiz-adv-x="757" d="M367 1730q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM349 1420h17q93 -20 93 -89v-300h119l33 4q77 0 101 -100q0 -75 -88 -107l-60 4h-105v-509q0 -120 68 -143 l79 -7h40q73 0 92 -97v-9q-17 -97 -100 -97h-77q-194 0 -288 210q-17 53 -17 121v531h-42l-64 -4q-88 31 -88 106q17 97 66 97v7l69 -7h59v280q12 109 93 109z" />
-<glyph unicode="&#x166;" horiz-adv-x="1197" d="M507 611h-254l-69 -4q-94 33 -94 113q18 103 72 103v7l71 -7h274v436h-356q-103 20 -103 108q22 99 94 99h936q95 -18 95 -98v-15q0 -82 -111 -94h-348v-436h236l36 4q85 0 108 -107q0 -75 -89 -113l-74 4h-217v-543q0 -81 -100 -98h-5q-83 0 -102 103v538z" />
-<glyph unicode="&#x167;" horiz-adv-x="748" d="M242 648v184h-42l-64 -4q-88 31 -88 106q17 97 66 97v7l69 -7h59v280q12 109 93 109h17q93 -20 93 -89v-300h119l33 4q77 0 101 -100q0 -75 -88 -107l-60 4h-105v-184h116l34 4q78 0 103 -106q0 -79 -89 -114l-62 4h-102v-113q0 -120 68 -143l79 -7h40q73 0 92 -97v-9 q-17 -97 -100 -97h-77q-194 0 -288 210q-17 53 -17 121v135h-35l-65 -4q-90 33 -90 112q16 104 68 104v7l69 -7h53z" />
-<glyph unicode="&#x168;" horiz-adv-x="1219" d="M160 1463h18q95 -20 95 -90v-806q0 -243 135 -323q86 -67 191 -67q202 0 305 208q21 65 21 137v843q17 98 98 98h14q95 -18 95 -98v-881q0 -240 -228 -417q-145 -97 -294 -97h-26q-250 0 -434 244q-84 132 -84 323v815q12 111 94 111zM491 1745h19q79 0 174 -65l21 -5h10 l77 23q105 -21 105 -105q0 -100 -168 -122h-28q-78 0 -174 65l-21 5h-11l-70 -18h-14q-93 18 -93 96v11q0 79 102 103q33 12 71 12z" />
-<glyph unicode="&#x169;" horiz-adv-x="1131" d="M451 1344h19q79 0 174 -65l21 -5h10l77 23q105 -21 105 -105q0 -100 -168 -122h-28q-78 0 -174 65l-21 5h-11l-70 -18h-14q-93 18 -93 96v11q0 79 102 103q33 12 71 12zM874 77q-138 -107 -303 -107h-25q-242 0 -420 236q-82 128 -82 313v399q11 114 107 114 q96 -25 96 -93v-391q0 -234 129 -311q83 -64 184 -64q195 0 294 200q20 65 20 131v427q19 101 107 101q95 -23 95 -100v-870q0 -73 -96 -92h-10q-96 17 -96 99v8z" />
-<glyph unicode="&#x16a;" horiz-adv-x="1135" d="M129 1463h18q95 -20 95 -90v-806q0 -243 135 -323q86 -67 191 -67q202 0 305 208q21 65 21 137v843q17 98 98 98h14q95 -18 95 -98v-881q0 -240 -228 -417q-145 -97 -294 -97h-26q-250 0 -434 244q-84 132 -84 323v815q12 111 94 111zM208 1746l65 -8h602l30 4 q77 0 96 -107q0 -73 -78 -114l-64 5h-570l-60 -4q-82 34 -82 112q15 104 61 104v8z" />
-<glyph unicode="&#x16b;" horiz-adv-x="1135" d="M282 1329l524 1q107 -19 107 -101v-14q-13 -98 -106 -98h-538q-92 0 -101 113q18 99 114 99zM865 77q-138 -107 -303 -107h-25q-242 0 -420 236q-82 128 -82 313v399q11 114 107 114q96 -25 96 -93v-391q0 -234 129 -311q83 -64 184 -64q195 0 294 200q20 65 20 131v427 q19 101 107 101q95 -23 95 -100v-870q0 -73 -96 -92h-10q-96 17 -96 99v8z" />
-<glyph unicode="&#x16c;" horiz-adv-x="1149" d="M371 1830h12q73 0 110 -98q40 -46 94 -46q82 0 122 98q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99zM129 1463h18q95 -20 95 -90v-806q0 -243 135 -323q86 -67 191 -67q202 0 305 208q21 65 21 137v843 q17 98 98 98h14q95 -18 95 -98v-881q0 -240 -228 -417q-145 -97 -294 -97h-26q-250 0 -434 244q-84 132 -84 323v815q12 111 94 111z" />
-<glyph unicode="&#x16d;" horiz-adv-x="1171" d="M358 1426h12q73 0 110 -98q40 -46 94 -46q82 0 122 98q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99zM892 77q-138 -107 -303 -107h-25q-242 0 -420 236q-82 128 -82 313v399q11 114 107 114q96 -25 96 -93 v-391q0 -234 129 -311q83 -64 184 -64q195 0 294 200q20 65 20 131v427q19 101 107 101q95 -23 95 -100v-870q0 -73 -96 -92h-10q-96 17 -96 99v8z" />
-<glyph unicode="&#x16e;" horiz-adv-x="1127" d="M125 1463h18q95 -20 95 -90v-806q0 -243 135 -323q86 -67 191 -67q202 0 305 208q21 65 21 137v843q17 98 98 98h14q95 -18 95 -98v-881q0 -240 -228 -417q-145 -97 -294 -97h-26q-250 0 -434 244q-84 132 -84 323v815q12 111 94 111zM570 1862h17q142 0 203 -170l5 -43 v-13q0 -138 -162 -203l-50 -9q-134 0 -204 131q-22 47 -22 92q0 148 171 210zM534 1643q8 -41 40 -41q44 7 44 38v8q-6 37 -34 37h-12q-31 0 -38 -42z" />
-<glyph unicode="&#x16f;" horiz-adv-x="1180" d="M575 1435h17q142 0 203 -170l5 -43v-13q0 -138 -162 -203l-50 -9q-134 0 -204 131q-22 47 -22 92q0 148 171 210zM539 1216q8 -41 40 -41q44 7 44 38v8q-6 37 -34 37h-12q-31 0 -38 -42zM892 77q-138 -107 -303 -107h-25q-242 0 -420 236q-82 128 -82 313v399 q11 114 107 114q96 -25 96 -93v-391q0 -234 129 -311q83 -64 184 -64q195 0 294 200q20 65 20 131v427q19 101 107 101q95 -23 95 -100v-870q0 -73 -96 -92h-10q-96 17 -96 99v8z" />
-<glyph unicode="&#x170;" horiz-adv-x="1175" d="M585 1864h7q103 -18 103 -102v-20q0 -31 -175 -259q-28 -31 -59 -31h-8q-56 0 -74 70v18q110 275 140 302q37 22 66 22zM836 1852q107 -21 107 -110q0 -42 -114 -185q-75 -117 -120 -117h-12q-56 0 -74 70q0 27 117 293q47 49 96 49zM151 1463h18q95 -20 95 -90v-806 q0 -243 135 -323q86 -67 191 -67q202 0 305 208q21 65 21 137v843q17 98 98 98h14q95 -18 95 -98v-881q0 -240 -228 -417q-145 -97 -294 -97h-26q-250 0 -434 244q-84 132 -84 323v815q12 111 94 111z" />
-<glyph unicode="&#x171;" horiz-adv-x="1144" d="M545 1433h7q103 -18 103 -102v-20q0 -31 -175 -259q-28 -31 -59 -31h-8q-56 0 -74 70v18q110 275 140 302q37 22 66 22zM796 1421q107 -21 107 -110q0 -42 -114 -185q-75 -117 -120 -117h-12q-56 0 -74 70q0 27 117 293q47 49 96 49zM874 77q-138 -107 -303 -107h-25 q-242 0 -420 236q-82 128 -82 313v399q11 114 107 114q96 -25 96 -93v-391q0 -234 129 -311q83 -64 184 -64q195 0 294 200q20 65 20 131v427q19 101 107 101q95 -23 95 -100v-870q0 -73 -96 -92h-10q-96 17 -96 99v8z" />
-<glyph unicode="&#x172;" horiz-adv-x="1202" d="M493 -23q-186 25 -347 237q-84 132 -84 323v815q12 111 94 111h18q95 -20 95 -90v-806q0 -243 135 -323q86 -67 191 -67q202 0 305 208q21 65 21 137v843q17 98 98 98h14q95 -18 95 -98v-881q0 -240 -228 -417q-114 -76 -204 -89v-69q0 -84 -99 -99q-7 -4 -7 -17 q0 -23 37 -23h98l18 5q101 -23 101 -98v-7q0 -67 -81 -97l-80 4h-34l-56 -4q-86 0 -170 106q-30 57 -30 100v28q0 111 100 170z" />
-<glyph unicode="&#x173;" horiz-adv-x="1211" d="M883 77q-138 -107 -303 -107h-25q-242 0 -420 236q-82 128 -82 313v399q11 114 107 114q96 -25 96 -93v-391q0 -234 129 -311q83 -64 184 -64q195 0 294 200q20 65 20 131v427q19 101 107 101q95 -23 95 -100v-858q1 -4 3 -16v-105q0 -84 -99 -99q-7 -4 -7 -17 q0 -23 37 -23h98l18 5q101 -23 101 -98v-7q0 -67 -81 -97l-80 4h-34l-56 -4q-86 0 -170 106q-30 57 -30 100v28q0 113 105 172l-1 9q-6 13 -6 37v8z" />
-<glyph unicode="&#x174;" horiz-adv-x="1778" d="M906 1598q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100zM898 993l-280 -973q-41 -50 -88 -50h-15q-88 0 -114 167q-324 1105 -353 1227q23 102 95 102h16 q89 0 112 -137l254 -885q270 949 292 985q36 37 77 37h11q93 0 116 -159q25 -69 250 -861l282 970q39 50 80 50h18q95 -20 95 -90v-23l-387 -1339q-45 -44 -86 -44h-4q-97 0 -121 164z" />
-<glyph unicode="&#x175;" horiz-adv-x="1422" d="M712 1127q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100zM702 600l-188 -581q-37 -49 -86 -49h-3q-74 0 -103 87l-278 876q21 106 105 106q93 0 124 -171l153 -468 q183 580 201 604q35 30 76 35q93 0 119 -145l160 -494q174 550 194 593q43 46 87 46q101 -20 101 -109l-295 -918q-45 -42 -85 -42h-3q-93 0 -125 166z" />
-<glyph unicode="&#x176;" horiz-adv-x="1167" d="M576 897q353 531 372 545q28 21 52 21h23q69 0 94 -98q0 -46 -135 -230l-301 -450v-604q-13 -111 -94 -111h-16q-72 0 -98 86v626q0 5 -154 234l-273 411l-6 35q23 101 95 101h16q69 0 105 -88zM581 1551q-75 -101 -130 -101h-16q-98 21 -98 102v12q0 50 126 186 q45 72 104 72h28q63 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 101z" />
-<glyph unicode="&#x177;" horiz-adv-x="964" d="M519 1153q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100zM499 383q249 607 269 630q35 29 73 29q96 -18 96 -96v-6q-4 -31 -347 -849q-163 -405 -188 -437 q-25 -19 -65 -30q-101 22 -101 91v17q0 19 155 393l-330 805v12q19 96 100 96t129 -158z" />
-<glyph unicode="&#x178;" horiz-adv-x="1149" d="M576 897q353 531 372 545q28 21 52 21h23q69 0 94 -98q0 -46 -135 -230l-301 -450v-604q-13 -111 -94 -111h-16q-72 0 -98 86v626q0 5 -154 234l-273 411l-6 35q23 101 95 101h16q69 0 105 -88zM426 1717h18q95 -20 95 -90v-19q0 -80 -103 -99q-104 21 -104 110 q22 98 94 98zM712 1717h18q95 -21 95 -94v-11q0 -86 -106 -102q-101 19 -101 102v11q0 73 94 94z" />
-<glyph unicode="&#x179;" horiz-adv-x="1272" d="M734 1837q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM125 1467h1021q80 0 98 -99v-6q0 -40 -90 -145l-804 -1039h794q100 -15 100 -102v-7q-18 -99 -102 -99h-1009q-86 0 -102 108q0 41 188 275l703 907 h-788q-103 20 -103 108q22 99 94 99z" />
-<glyph unicode="&#x17a;" horiz-adv-x="973" d="M601 1419q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM110 1045l69 -7h635l39 5q93 -29 93 -94v-22q0 -35 -92 -135l-493 -618h492q93 -18 93 -96v-12q0 -79 -97 -96h-705q-85 0 -100 106q0 42 158 224 l427 538h-432l-64 -4q-89 31 -89 107q17 97 66 97v7z" />
-<glyph unicode="&#x17b;" horiz-adv-x="1325" d="M670 1827q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9zM138 1467h1021q80 0 98 -99v-6q0 -40 -90 -145l-804 -1039h794q100 -15 100 -102v-7q-18 -99 -102 -99h-1009q-86 0 -102 108q0 41 188 275l703 907h-788 q-103 20 -103 108q22 99 94 99z" />
-<glyph unicode="&#x17c;" horiz-adv-x="1004" d="M512 1387q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9zM106 1045l69 -7h635l39 5q93 -29 93 -94v-22q0 -35 -92 -135l-493 -618h492q93 -18 93 -96v-12q0 -79 -97 -96h-705q-85 0 -100 106q0 42 158 224l427 538h-432 l-64 -4q-89 31 -89 107q17 97 66 97v7z" />
-<glyph unicode="&#x17d;" horiz-adv-x="1294" d="M666 1766q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM142 1467h1021q80 0 98 -99v-6q0 -40 -90 -145l-804 -1039h794q100 -15 100 -102v-7q-18 -99 -102 -99h-1009 q-86 0 -102 108q0 41 188 275l703 907h-788q-103 20 -103 108q22 99 94 99z" />
-<glyph unicode="&#x17e;" horiz-adv-x="978" d="M521 1388q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100zM106 1045l69 -7h635l39 5q93 -29 93 -94v-22q0 -35 -92 -135l-493 -618h492q93 -18 93 -96v-12q0 -79 -97 -96 h-705q-85 0 -100 106q0 42 158 224l427 538h-432l-64 -4q-89 31 -89 107q17 97 66 97v7z" />
-<glyph unicode="&#x17f;" horiz-adv-x="616" d="M413 1467h93q78 0 94 -108q0 -77 -102 -100h-61q-115 0 -152 -127l-3 -75v-946l3 -42q0 -76 -101 -99q-76 0 -110 90l4 51v749l-4 145v68q0 274 245 377z" />
-<glyph unicode="&#x192;" horiz-adv-x="973" d="M732 1454h98q82 0 98 -112q0 -80 -106 -104h-64q-123 0 -162 -135l-4 -80v-25h141l64 4q76 0 99 -103v-15q0 -73 -98 -98h-206v-729l4 -98q-16 -117 -87 -210q-128 -135 -279 -135h-84q-84 0 -102 106q17 110 106 110h52q117 0 165 102q13 35 13 124v730h-178 q-82 0 -98 112q0 61 88 104l87 -4h97v42q0 289 258 397z" />
-<glyph unicode="&#x1fa;" horiz-adv-x="1266" d="M756 716l-120 303l-118 -303h238zM585 1474q9 -46 46 -46q52 9 52 40v12q-6 39 -38 39h-16q-36 0 -44 -45zM745 1309q5 -8 19 -63q457 -1136 462 -1169v-12q0 -80 -100 -95h-6q-90 0 -123 143l-161 401h-402l-203 -511q-45 -33 -78 -33h-9q-100 17 -100 99v10l130 336 q319 791 354 893q-30 16 -65 81q-19 43 -19 81q0 103 54 136h1q2 0 2 4q0 11 -8 45v9q0 41 109 164q42 58 92 58q93 -21 93 -93v-6q0 -40 -79 -127q-8 -12 -8 -15h1q2 0 15 14q56 0 111 -149l3 -39v-10q0 -110 -85 -152z" />
-<glyph unicode="&#x1fb;" horiz-adv-x="1171" d="M586 1477q124 0 193 -127q21 -45 21 -90q0 -144 -166 -204l-42 -5h-16q-139 0 -198 166l-5 41v13q0 146 175 203zM547 1268v-11q9 -32 29 -32h14q30 0 36 39q-7 40 -36 40q-43 -7 -43 -36zM671 1828q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4 q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM243 509v-11q0 -200 202 -301q62 -24 112 -24h30q166 0 274 168q40 78 40 150v15q0 192 -192 295q-66 30 -137 30h-4q-202 0 -305 -212q-20 -65 -20 -110zM902 81q-120 -111 -315 -111h-30q-271 0 -451 271q-66 132 -66 265 q0 297 291 470q124 58 241 58q302 0 478 -294q54 -122 54 -249v-425q0 -79 -97 -96h-6q-68 0 -100 79v11z" />
-<glyph unicode="&#x1fc;" horiz-adv-x="1615" d="M1062 1860q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM867 1465h595q69 0 95 -101q-21 -106 -107 -106h-470v-508h363q96 -21 96 -91v-19q0 -81 -100 -98h-359v-364h474q83 0 102 -103q0 -83 -103 -105h-578 q-83 0 -102 103v469h-233q-9 -11 -154 -281l-147 -257q-39 -34 -76 -34h-4q-86 0 -102 108q0 32 246 463l496 891q40 33 68 33zM657 750h116v207z" />
-<glyph unicode="&#x1fd;" horiz-adv-x="2042" d="M1115 1393q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM246 511v-11q0 -199 201 -300q63 -24 113 -24h29q165 0 273 168q40 77 40 149v14q0 192 -191 295q-66 30 -137 30h-3q-202 0 -305 -211 q-20 -65 -20 -110zM1115 574h638v-26q0 84 -107 197q-102 79 -214 79q-171 0 -277 -160q-40 -75 -40 -90zM903 84q-118 -110 -314 -110h-29q-271 0 -450 270q-66 131 -66 263q0 297 290 469q124 58 240 58q266 0 432 -223q88 133 271 196q89 23 159 23q296 0 468 -286 q58 -120 58 -226v-50q-17 -96 -99 -96h-726q36 -85 115 -139q87 -57 180 -57q81 0 188 54l29 5q102 -24 102 -104q0 -119 -268 -157l-54 -4q-205 0 -325 111v-12q0 -89 -105 -99h-5q-58 0 -92 83z" />
-<glyph unicode="&#x1fe;" horiz-adv-x="1655" d="M909 1855q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM1277 971l-762 -713q117 -82 283 -82h18q252 0 427 225q99 142 99 312q0 135 -65 258zM1145 1131q-155 119 -340 119q-266 0 -441 -232 q-96 -138 -96 -312q0 -184 101 -305zM363 116q-147 -142 -174 -142l-19 -4h-7q-85 0 -101 107q0 52 129 159q4 12 23 25q-152 194 -152 456q0 355 312 598q205 141 431 141q278 0 490 -187q138 142 182 142h12q97 -25 97 -101v-7q0 -57 -115 -147l-42 -41q119 -182 119 -406 q0 -371 -335 -618q-192 -121 -400 -121h-15q-236 0 -435 146z" />
-<glyph unicode="&#x1ff;" horiz-adv-x="1188" d="M683 1442q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM283 357l426 440q-35 24 -136 24q-207 0 -303 -217q-16 -52 -16 -95v-18q0 -71 29 -134zM858 660l-435 -450q56 -34 143 -34h21q189 0 289 196 q23 61 23 119v18q0 98 -41 151zM991 1042h4q84 0 99 -105q0 -44 -91 -131q102 -125 102 -307q0 -298 -281 -467q-122 -62 -237 -62h-29q-146 0 -278 92q-73 -88 -126 -88h-14q-77 0 -92 104q0 45 88 130q-88 121 -88 291q0 257 228 431q145 97 301 97q155 0 277 -81 q78 96 137 96z" />
-<glyph unicode="&#x2c6;" horiz-adv-x="1024" d="M557 1189q-74 -100 -130 -100h-15q-99 21 -99 102v12q0 50 126 186q45 72 104 72h28q64 0 159 -139q71 -71 71 -119v-15q-21 -99 -102 -99h-12q-56 0 -130 100z" />
-<glyph unicode="&#x2c7;" horiz-adv-x="1024" d="M530 1360q74 100 130 100h15q99 -21 99 -102v-12q0 -47 -102 -159q-68 -99 -128 -99h-28q-63 0 -155 135q-75 75 -75 123v15q21 99 102 99h12q56 0 130 -100z" />
-<glyph unicode="&#x2c9;" horiz-adv-x="1059" d="M309 1355l71 -7h397l36 4q81 0 108 -106q0 -80 -94 -114l-65 4h-362l-69 -4q-94 33 -94 113q18 103 72 103v7z" />
-<glyph unicode="&#x2d8;" horiz-adv-x="1024" d="M331 1395h12q73 0 110 -98q40 -46 94 -46q82 0 122 98q43 46 86 46h11q103 -18 103 -106v-4q0 -98 -172 -219q-84 -31 -146 -31h-8q-211 0 -314 228v33q21 99 102 99z" />
-<glyph unicode="&#x2d9;" horiz-adv-x="1024" d="M569 1392q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9z" />
-<glyph unicode="&#x2da;" horiz-adv-x="1024" d="M546 1477q124 0 193 -127q21 -45 21 -90q0 -144 -166 -204l-42 -5h-16q-139 0 -198 166l-5 41v13q0 146 175 203zM507 1268v-11q9 -32 29 -32h14q30 0 36 39q-7 40 -36 40q-43 -7 -43 -36z" />
-<glyph unicode="&#x2db;" horiz-adv-x="1024" d="M436 -56l-3 47q30 86 97 86h7q79 0 97 -97v-106q0 -84 -99 -99q-7 -4 -7 -17q0 -23 37 -23h98l18 5q101 -23 101 -98v-7q0 -67 -81 -97l-80 4h-34l-56 -4q-86 0 -170 106q-30 57 -30 100v28q0 113 105 172z" />
-<glyph unicode="&#x2dc;" horiz-adv-x="1024" d="M479 1725q91 0 202 -72l20 -2l75 22h13q100 -17 100 -102v-4q0 -96 -150 -120l-40 -4q-91 0 -194 73l-17 2l-84 -23q-106 20 -106 102v8q0 99 164 117z" />
-<glyph unicode="&#x2dd;" horiz-adv-x="1024" d="M470 1459h7q103 -18 103 -102v-20q0 -31 -175 -259q-28 -31 -59 -31h-8q-56 0 -74 70v18q110 275 140 302q37 22 66 22zM721 1447q107 -21 107 -110q0 -42 -114 -185q-75 -117 -120 -117h-12q-56 0 -74 70q0 27 117 293q47 49 96 49z" />
-<glyph unicode="&#x384;" horiz-adv-x="392" d="M314 1455q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63z" />
-<glyph unicode="&#x385;" horiz-adv-x="797" d="M507 1420q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM186 1339q106 -25 106 -113q-21 -107 -113 -107q-107 21 -107 114q25 106 114 106zM698 1339q106 -25 106 -113q-21 -107 -113 -107q-107 21 -107 114 q25 106 114 106z" />
-<glyph unicode="&#x386;" horiz-adv-x="1254" d="M402 1551q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM744 744l-121 317l-117 -317h238zM621 1458q93 0 131 -160q454 -1183 459 -1217v-13q0 -81 -98 -98h-7q-90 0 -123 149l-161 418h-398l-202 -533 q-45 -34 -78 -34h-11q-98 18 -98 101v9l130 352q335 872 365 973q48 53 91 53z" />
-<glyph unicode="&#x387;" horiz-adv-x="405" d="M234 1032q114 0 146 -133v-25q0 -83 -99 -128q-18 -9 -47 -9h-3q-121 0 -146 146q0 99 104 140q17 9 45 9z" />
-<glyph unicode="&#x388;" horiz-adv-x="1347" d="M393 1473l52 -11h733l15 4q95 0 110 -114q-21 -97 -113 -97h-662v-450h423l53 3q76 0 99 -102q0 -72 -85 -109l-82 4h-408v-424h681q78 0 95 -111q-29 -96 -99 -96h-785q-99 18 -99 102v1290q15 100 72 100v11zM222 1490q100 -23 100 -100v-7q0 -43 -87 -139 q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63z" />
-<glyph unicode="&#x389;" horiz-adv-x="1466" d="M221 1455q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM420 1467h18q95 -20 95 -90v-568h652v560q17 98 98 98h14q95 -18 95 -98v-1301q0 -73 -99 -94h-10q-98 18 -98 102v530h-652v-534q0 -81 -98 -98h-7 q-83 0 -102 103v1279q12 111 94 111z" />
-<glyph unicode="&#x38a;" horiz-adv-x="748" d="M213 1482q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM420 1479l23 -4h137l18 4q106 -23 106 -110q-18 -103 -102 -103h14v-1087h-7q74 0 95 -100v-10q-18 -99 -102 -99h-183q-99 18 -99 102v7q21 100 95 100 h-7v1087h14q-90 0 -102 108v6q0 70 100 99z" />
-<glyph unicode="&#x38c;" horiz-adv-x="1734" d="M252 1478q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM942 1465q378 0 632 -350q115 -199 115 -401q0 -374 -338 -622q-192 -122 -402 -122h-15q-386 0 -629 358q-111 182 -111 393q0 358 314 602 q205 142 434 142zM401 710q0 -259 230 -437q142 -96 303 -96h19q253 0 429 226q100 144 100 315q0 293 -269 464q-132 76 -271 76q-268 0 -445 -234q-96 -138 -96 -314z" />
-<glyph unicode="&#x38e;" horiz-adv-x="1457" d="M270 1473q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM911 896q352 532 371 546q28 21 52 21h23q69 0 94 -98q0 -46 -134 -230l-302 -450v-604q-12 -111 -94 -111h-16q-71 0 -98 86v626q0 5 -154 234 l-272 411l-7 35q23 101 95 101h16q69 0 106 -88z" />
-<glyph unicode="&#x38f;" horiz-adv-x="1646" d="M279 179q-58 56 -111 137q-111 194 -111 408q0 351 321 603q208 140 433 140q382 0 638 -354q116 -206 116 -389q0 -314 -223 -542h93q100 -19 100 -94v-19q-21 -95 -99 -95h-492q-86 0 -103 112q27 96 100 96q95 0 268 148q151 177 151 386q0 258 -232 445 q-153 97 -302 97h-30q-258 0 -436 -235q-98 -151 -98 -307q0 -314 291 -488q48 -30 168 -58q67 -28 67 -105q-27 -95 -103 -95h-487q-103 20 -103 109q23 100 103 100h81zM237 1469q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180 q46 63 100 63z" />
-<glyph unicode="&#x390;" horiz-adv-x="740" d="M450 1827q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM129 1746q106 -25 106 -113q-21 -107 -113 -107q-107 21 -107 114q25 106 114 106zM641 1746q106 -25 106 -113q-21 -107 -113 -107q-107 21 -107 114 q25 106 114 106zM297 1479l23 -4h137l18 4q106 -23 106 -110q-18 -103 -102 -103h14v-1087h-7q74 0 95 -100v-10q-18 -99 -102 -99h-183q-99 18 -99 102v7q21 100 95 100h-7v1087h14q-90 0 -102 108v6q0 70 100 99z" />
-<glyph unicode="&#x391;" horiz-adv-x="1246" d="M744 744l-121 317l-117 -317h238zM621 1458q93 0 131 -160q454 -1183 459 -1217v-13q0 -81 -98 -98h-7q-90 0 -123 149l-161 418h-398l-202 -533q-45 -34 -78 -34h-11q-98 18 -98 101v9l130 352q335 872 365 973q48 53 91 53z" />
-<glyph unicode="&#x392;" horiz-adv-x="991" d="M125 1467l50 -8h225l15 3q190 0 321 -175q67 -98 67 -213v-11q0 -140 -85 -237q228 -125 228 -400q0 -276 -286 -424q-93 -32 -166 -32h-342q-99 18 -99 102v1287q15 100 72 100v8zM260 1252v-363h109q165 0 210 113q13 33 13 65v11q0 124 -145 170l-75 4h-112zM260 682 v-505h166q199 0 265 110q44 63 44 139v7q0 181 -198 242l-101 7h-176z" />
-<glyph unicode="&#x393;" horiz-adv-x="1030" d="M151 1463h733q95 -20 95 -90v-19q0 -81 -100 -98h-615v-1188q0 -81 -98 -98h-7q-83 0 -102 103v1279q12 111 94 111z" />
-<glyph unicode="&#x394;" horiz-adv-x="1242" d="M645 1104l-351 -923h674q-319 847 -323 923zM625 1462h12q83 0 116 -138q460 -1201 469 -1245v-7q0 -67 -81 -102l-90 4h-840l-86 -4q-85 31 -85 114l503 1334q41 44 82 44z" />
-<glyph unicode="&#x395;" horiz-adv-x="1109" d="M129 1473l52 -11h733l15 4q95 0 110 -114q-21 -97 -113 -97h-662v-450h423l53 3q76 0 99 -102q0 -72 -85 -109l-82 4h-408v-424h681q78 0 95 -111q-29 -96 -99 -96h-785q-99 18 -99 102v1290q15 100 72 100v11z" />
-<glyph unicode="&#x396;" horiz-adv-x="1342" d="M177 1467h1021q80 0 98 -99v-6q0 -40 -90 -145l-804 -1039h794q100 -15 100 -102v-7q-18 -99 -102 -99h-1009q-86 0 -102 108q0 41 188 275l703 907h-788q-103 20 -103 108q22 99 94 99z" />
-<glyph unicode="&#x397;" horiz-adv-x="1223" d="M169 1467h18q95 -20 95 -90v-568h652v560q17 98 98 98h14q95 -18 95 -98v-1301q0 -73 -99 -94h-10q-98 18 -98 102v530h-652v-534q0 -81 -98 -98h-7q-83 0 -102 103v1279q12 111 94 111z" />
-<glyph unicode="&#x398;" horiz-adv-x="1611" d="M816 1461q377 0 631 -349q114 -198 114 -400q0 -373 -337 -620q-192 -122 -401 -122h-15q-384 0 -628 357q-110 182 -110 392q0 357 313 600q205 142 433 142zM277 708q0 -259 229 -435q141 -96 302 -96h19q252 0 428 225q99 143 99 314q0 292 -268 463q-131 75 -270 75 q-268 0 -443 -233q-96 -138 -96 -313zM455 817h721q99 -18 99 -101v-7q-18 -99 -102 -99h-722q-95 21 -95 98v15q0 73 99 94z" />
-<glyph unicode="&#x399;" horiz-adv-x="581" d="M209 1479l23 -4h137l18 4q106 -23 106 -110q-18 -103 -102 -103h14v-1087h-7q74 0 95 -100v-10q-18 -99 -102 -99h-183q-99 18 -99 102v7q21 100 95 100h-7v1087h14q-90 0 -102 108v6q0 70 100 99z" />
-<glyph unicode="&#x39a;" horiz-adv-x="1118" d="M148 1464h5q100 -17 100 -98v-581q658 657 674 657l27 4h12q95 -18 95 -98v-12q0 -51 -89 -124l-445 -448l522 -646l4 -33v-13q0 -81 -98 -98h-7q-61 0 -149 129l-423 513l-123 -126v-422q0 -81 -100 -98h-5q-83 0 -102 102v1290q19 102 102 102z" />
-<glyph unicode="&#x39b;" horiz-adv-x="1232" d="M646 1116l-417 -1103q-45 -43 -87 -43h-4q-86 0 -103 113l506 1341q41 44 83 44h11q84 0 116 -138q463 -1206 472 -1251v-10q-18 -99 -102 -99h-4q-73 0 -104 88q-365 975 -367 1058z" />
-<glyph unicode="&#x39c;" horiz-adv-x="1479" d="M267 874v-806q0 -81 -98 -98h-7q-83 0 -102 103v1278q12 111 94 111h15q83 0 111 -118l459 -1026q9 35 302 703l188 405q34 36 74 36h15q82 0 94 -111v-1278q-19 -103 -102 -103h-7q-98 17 -98 98v807q-372 -842 -389 -869q-41 -36 -80 -36q-88 0 -145 178z" />
-<glyph unicode="&#x39d;" horiz-adv-x="1329" d="M1064 374v992q18 95 98 95h11q81 0 98 -98v-1288q0 -87 -107 -105q-61 0 -158 144l-733 936v-978q0 -81 -100 -98h-5q-83 0 -102 102v1274q12 111 94 111h15q67 0 108 -88q53 -60 781 -999z" />
-<glyph unicode="&#x39e;" horiz-adv-x="1158" d="M139 1462h879q95 -18 95 -98v-15q0 -82 -112 -94h-853q-103 20 -103 108q22 99 94 99zM261 833h638q100 -17 100 -102v-6q-18 -99 -102 -99h-636q-83 0 -103 106q25 101 103 101zM147 178h866q100 -18 100 -98v-15q-19 -95 -98 -95h-868q-83 0 -103 107q25 101 103 101z " />
-<glyph unicode="&#x39f;" horiz-adv-x="1620" d="M823 1465q378 0 632 -350q115 -199 115 -401q0 -374 -338 -622q-192 -122 -402 -122h-15q-386 0 -629 358q-111 182 -111 393q0 358 314 602q205 142 434 142zM282 710q0 -259 230 -437q142 -96 303 -96h19q253 0 429 226q100 144 100 315q0 293 -269 464 q-132 76 -271 76q-268 0 -445 -234q-96 -138 -96 -314z" />
-<glyph unicode="&#x3a0;" horiz-adv-x="1184" d="M160 1461h875q95 -18 95 -98v-1299q0 -73 -99 -94h-9q-99 18 -99 102v1181h-650v-1185q0 -81 -100 -98h-5q-83 0 -102 102v1277q12 112 94 112z" />
-<glyph unicode="&#x3a1;" horiz-adv-x="946" d="M151 1468h346q218 0 371 -224q57 -115 57 -208v-27q0 -203 -183 -350q-125 -86 -245 -86h-232v-505q0 -80 -99 -98h-7q-83 0 -102 103v1283q12 112 94 112zM265 1260v-479h205q170 0 234 163q13 33 13 80q0 148 -154 220q-35 16 -85 16h-213z" />
-<glyph unicode="&#x3a3;" horiz-adv-x="1124" d="M395 166h569q93 -17 93 -93v-13q-17 -90 -92 -90h-797q-78 0 -96 97q0 46 86 121l401 466l-472 543q-15 27 -15 55q21 93 89 93h807q89 -17 89 -93v-14q0 -77 -104 -89h-566q369 -422 395 -460l4 -29v-13q0 -46 -85 -125z" />
-<glyph unicode="&#x3a4;" horiz-adv-x="1262" d="M159 1466h936q95 -18 95 -98v-15q0 -82 -111 -94h-348v-1191q0 -81 -100 -98h-5q-83 0 -102 103v1186h-356q-103 20 -103 108q22 99 94 99z" />
-<glyph unicode="&#x3a5;" horiz-adv-x="1237" d="M614 897q353 531 372 545q28 21 52 21h23q69 0 94 -98q0 -46 -135 -230l-301 -450v-604q-13 -111 -94 -111h-16q-72 0 -98 86v626q0 5 -154 234l-273 411l-6 35q23 101 95 101h16q69 0 105 -88z" />
-<glyph unicode="&#x3a6;" horiz-adv-x="1629" d="M913 301q128 11 292 125q145 134 145 277v34q0 192 -233 334q-81 49 -204 67v-837zM267 722q0 -243 296 -383q117 -39 142 -39v839q-145 -16 -286 -122q-152 -136 -152 -295zM803 1469h14q96 -18 96 -98v-48q163 -13 362 -125q287 -201 287 -480q0 -262 -263 -457 q-119 -91 -352 -139h-6q-28 0 -28 19v-76q0 -74 -99 -95h-10q-99 18 -99 102v46h26q-146 0 -361 110q-311 199 -311 494q0 280 290 476q121 89 356 123v48q17 100 98 100z" />
-<glyph unicode="&#x3a7;" horiz-adv-x="1338" d="M162 1467h16q62 0 97 -70l400 -510l438 562q32 18 58 18h12q80 0 98 -99v-6q0 -44 -109 -171l-368 -474l466 -597l11 -40v-11q-18 -99 -102 -99h-4q-68 0 -109 86l-391 498l-438 -561q-31 -23 -63 -23h-7q-99 18 -99 102v11q0 36 169 243l308 398q-458 580 -472 610 l-6 32q23 101 95 101z" />
-<glyph unicode="&#x3a8;" horiz-adv-x="1342" d="M767 652q84 18 195 120q102 121 102 312v288q18 95 98 95h11q81 0 99 -99v-337q0 -342 -340 -542q-145 -56 -165 -56v-365q0 -80 -99 -98h-6q-83 0 -103 103v362q-66 6 -217 85q-283 197 -283 534v302q12 111 94 111h19q95 -20 95 -91v-313q10 -128 39 -193 q80 -155 224 -204l29 -8v698q13 111 95 111h18q95 -20 95 -91v-724z" />
-<glyph unicode="&#x3a9;" horiz-adv-x="1658" d="M279 179q-58 56 -111 137q-111 194 -111 408q0 351 321 603q208 140 433 140q382 0 638 -354q116 -206 116 -389q0 -314 -223 -542h93q100 -19 100 -94v-19q-21 -95 -99 -95h-492q-86 0 -103 112q27 96 100 96q95 0 268 148q151 177 151 386q0 258 -232 445 q-153 97 -302 97h-30q-258 0 -436 -235q-98 -151 -98 -307q0 -314 291 -488q48 -30 168 -58q67 -28 67 -105q-27 -95 -103 -95h-487q-103 20 -103 109q23 100 103 100h81z" />
-<glyph unicode="&#x3aa;" horiz-adv-x="648" d="M174 1713h18q95 -20 95 -90v-19q0 -80 -102 -99q-105 21 -105 110q22 98 94 98zM461 1713h17q95 -21 95 -94v-11q0 -86 -106 -102q-101 19 -101 102v11q0 73 95 94zM241 1462l23 -5h132l18 5q106 -23 106 -110q-18 -102 -101 -102h15v-1073h-8q75 0 94 -99v-8 q-17 -100 -101 -100h-180q-99 18 -99 102v6q21 99 94 99h-7v1073h15q-90 0 -102 107v6q0 68 101 99z" />
-<glyph unicode="&#x3ab;" horiz-adv-x="1216" d="M593 897q353 531 372 545q28 21 52 21h23q69 0 94 -98q0 -46 -135 -230l-301 -450v-604q-13 -111 -94 -111h-16q-72 0 -98 86v626q0 5 -154 234l-273 411l-6 35q23 101 95 101h16q69 0 105 -88zM443 1717h18q95 -20 95 -90v-19q0 -80 -103 -99q-104 21 -104 110 q22 98 94 98zM729 1717h18q95 -21 95 -94v-11q0 -86 -106 -102q-101 19 -101 102v11q0 73 94 94z" />
-<glyph unicode="&#x3ac;" horiz-adv-x="1414" d="M268 508q0 -201 200 -307q71 -26 140 -26q191 0 299 200l47 134q-58 201 -159 266q-88 62 -183 62h-19q-179 0 -285 -173q-40 -83 -40 -156zM1061 228q-48 -86 -150 -156q-133 -102 -314 -102h-15q-218 0 -405 204q-114 161 -114 334q0 290 278 470q138 67 263 67 q272 0 452 -255l6 -12q7 29 75 214q39 53 93 53q101 -19 101 -107q-5 -28 -157 -430q157 -409 157 -437q-23 -101 -104 -101q-91 0 -137 180zM706 1450q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63z" />
-<glyph unicode="&#x3ad;" horiz-adv-x="900" d="M400 1047h40q174 0 339 -173q34 -36 34 -75v-8q0 -85 -114 -102q-64 0 -134 92q-84 57 -138 57h-21q-73 0 -112 -87v-44q0 -51 90 -87q11 -5 35 -5h70q110 -17 110 -103v-7q0 -99 -142 -99q-107 0 -143 -72l-10 -44q21 -111 128 -111h4q94 0 204 128q41 21 70 21 q100 0 116 -108v-11q-34 -103 -196 -190q-97 -49 -194 -49h-17q-202 0 -319 202q-24 69 -24 122q0 128 88 210q-101 86 -101 226q0 211 263 308zM546 1446q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63z" />
-<glyph unicode="&#x3ae;" horiz-adv-x="1191" d="M166 1030q96 -25 96 -92v-14q119 106 319 106q219 0 390 -182q124 -154 124 -325v-881q0 -77 -109 -93q-94 27 -94 101v825q0 255 -218 335q-52 13 -93 13h-11q-182 0 -282 -188q-26 -57 -26 -189v-385q0 -79 -97 -96h-6q-81 0 -100 100v852q11 113 107 113zM660 1429 q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63z" />
-<glyph unicode="&#x3af;" horiz-adv-x="467" d="M237 1038q96 -25 96 -93v-879q0 -79 -97 -96h-7q-81 0 -100 101v854q12 113 108 113zM310 1421q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63z" />
-<glyph unicode="&#x3b0;" horiz-adv-x="1203" d="M191 1034q96 -25 96 -92v-392q0 -235 130 -312q83 -65 184 -65q195 0 295 201q20 65 20 132v428q19 100 106 100q97 -22 97 -100v-465q0 -233 -221 -405q-141 -94 -286 -94h-25q-242 0 -421 237q-82 128 -82 313v401q11 113 107 113zM671 1420q100 -23 100 -100v-7 q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63zM350 1339q106 -25 106 -113q-21 -107 -113 -107q-107 21 -107 114q25 106 114 106zM862 1339q106 -25 106 -113q-21 -107 -113 -107q-107 21 -107 114q25 106 114 106z" />
-<glyph unicode="&#x3b1;" horiz-adv-x="1414" d="M281 508q0 -201 200 -307q71 -26 140 -26q191 0 299 200l47 134q-58 201 -159 266q-88 62 -183 62h-19q-179 0 -285 -173q-40 -83 -40 -156zM1074 228q-48 -86 -150 -156q-133 -102 -314 -102h-15q-218 0 -405 204q-114 161 -114 334q0 290 278 470q138 67 263 67 q272 0 452 -255l6 -12q7 29 75 214q39 53 93 53q101 -19 101 -107q-5 -28 -157 -430q157 -409 157 -437q-23 -101 -104 -101q-91 0 -137 180z" />
-<glyph unicode="&#x3b2;" horiz-adv-x="999" d="M278 998v-597q0 -103 99 -177q56 -39 131 -39q166 0 224 170l7 48v13q0 161 -179 220l-49 3h-131q-101 17 -101 102v16q0 71 95 94h69q177 0 229 124q13 42 13 69v19q0 133 -160 186l-45 4q-143 0 -195 -154zM776 759q176 -125 176 -351q0 -247 -254 -394 q-106 -41 -194 -41q-137 0 -226 63v-383q-3 -104 -98 -107q-4 -1 -7 -1q-90 0 -105 93v1433q0 209 223 348q97 45 190 45h4q254 0 384 -256q30 -74 30 -149v-15q0 -160 -123 -285z" />
-<glyph unicode="&#x3b3;" horiz-adv-x="1057" d="M549 337q259 650 279 672q44 28 75 29q101 -20 101 -105q0 -25 -348 -879l-6 -24v-396q0 -85 -105 -101q-101 19 -101 101v411q0 16 -346 854l-5 35q21 104 105 104q87 0 133 -162z" />
-<glyph unicode="&#x3b4;" horiz-adv-x="1233" d="M173 1468l68 -6h709q102 -20 102 -102v-11q-18 -95 -68 -95v-7l-58 7h-398l441 -324q189 -181 189 -412q0 -308 -291 -484q-127 -64 -245 -64h-30q-222 0 -412 207q-117 165 -117 341q0 295 279 475q106 51 106 61q0 3 -7 3l-310 233q-26 38 -26 72q17 100 68 100v6z M274 529v-19q0 -190 184 -295q66 -34 141 -34h23q197 0 301 205q24 64 24 124v19q0 157 -146 267q-85 58 -194 58q-216 0 -316 -227q-17 -54 -17 -98z" />
-<glyph unicode="&#x3b5;" horiz-adv-x="896" d="M400 1047h40q174 0 339 -173q34 -36 34 -75v-8q0 -85 -114 -102q-64 0 -134 92q-84 57 -138 57h-21q-73 0 -112 -87v-44q0 -51 90 -87q11 -5 35 -5h70q110 -17 110 -103v-7q0 -99 -142 -99q-107 0 -143 -72l-10 -44q21 -111 128 -111h4q94 0 204 128q41 21 70 21 q100 0 116 -108v-11q-34 -103 -196 -190q-97 -49 -194 -49h-17q-202 0 -319 202q-24 69 -24 122q0 128 88 210q-101 86 -101 226q0 211 263 308z" />
-<glyph unicode="&#x3b6;" horiz-adv-x="1052" d="M304 1465h588q96 -19 96 -90v-19q0 -63 -85 -105q-437 -387 -485 -439q-84 -111 -84 -247q0 -218 206 -342q83 -50 232 -50q140 -34 202 -118q67 -90 67 -193v-4q0 -223 -249 -307h-16q-99 21 -99 95v15q0 78 109 108q51 33 51 93q0 67 -68 98l-30 8l-26 -3 q-251 0 -455 224q-132 179 -132 357v42q0 279 285 502l187 167h-289q-103 19 -103 102v6q17 100 98 100z" />
-<glyph unicode="&#x3b7;" horiz-adv-x="1178" d="M166 1030q96 -25 96 -92v-14q119 106 319 106q219 0 390 -182q124 -154 124 -325v-881q0 -77 -109 -93q-94 27 -94 101v825q0 255 -218 335q-52 13 -93 13h-11q-182 0 -282 -188q-26 -57 -26 -189v-385q0 -79 -97 -96h-6q-81 0 -100 100v852q11 113 107 113z" />
-<glyph unicode="&#x3b8;" horiz-adv-x="1158" d="M588 1460q265 0 404 -282q74 -226 74 -418v-86q0 -236 -97 -477q-148 -227 -373 -227h-12q-245 0 -384 258q-86 219 -86 483v12q0 280 102 510q150 227 372 227zM314 820h557q0 127 -77 318q-84 119 -202 119q-138 0 -214 -140q-59 -163 -61 -272zM310 614 q3 -112 68 -307q81 -134 203 -134h11q214 0 260 318q19 104 19 123h-561z" />
-<glyph unicode="&#x3b9;" horiz-adv-x="442" d="M225 1038q96 -25 96 -93v-879q0 -79 -97 -96h-7q-81 0 -100 101v854q12 113 108 113z" />
-<glyph unicode="&#x3ba;" horiz-adv-x="1086" d="M406 518l-125 -80v-370q0 -81 -100 -98h-6q-77 0 -102 94v934q16 87 93 105l28 1q82 -20 87 -110v-310q489 324 586 379h27q86 0 102 -107q0 -66 -136 -138l-276 -189l406 -514l6 -33v-9q-18 -99 -102 -99h-7q-60 0 -157 140z" />
-<glyph unicode="&#x3bb;" horiz-adv-x="1120" d="M568 679q-293 -626 -327 -671q-35 -44 -82 -44q-28 0 -59 15q-52 23 -52 81q0 39 25 95l236 499l134 282l-164 354q-12 38 -12 68q0 75 75 94q21 5 40 5q71 0 98 -79l602 -1262q3 -23 3 -42q0 -96 -76 -101h-13q-81 0 -121 68z" />
-<glyph unicode="&#x3bc;" horiz-adv-x="1199" d="M904 76q-138 -107 -304 -107h-26q-184 0 -300 105v-428q0 -70 -100 -92q-83 0 -103 104v1263q11 113 107 113q96 -25 96 -92v-393q0 -235 130 -313q83 -64 185 -64q195 0 295 201q20 65 20 132v429q19 100 106 100q97 -22 97 -100v-873q0 -73 -97 -92h-9q-97 17 -97 99v8 z" />
-<glyph unicode="&#x3bd;" horiz-adv-x="1220" d="M186 1059h7q80 0 130 -142l294 -604q325 690 352 719q36 27 72 27q102 -19 102 -101v-4q0 -26 -168 -374l-281 -577q-44 -33 -77 -33h-3q-85 0 -141 162q-363 741 -385 806v26q18 95 98 95z" />
-<glyph unicode="&#x3be;" horiz-adv-x="951" d="M437 1463h185q100 -18 100 -102v-7q-18 -100 -103 -100h-167q-120 0 -154 -106l-7 -36q22 -144 146 -144l96 20q101 -26 101 -96v-23q0 -82 -135 -105q-189 -96 -189 -271v-27q0 -171 183 -267q29 -19 206 -34q232 -92 232 -304v-4q0 -222 -250 -308h-15q-100 21 -100 95 v15q0 79 109 108q51 34 51 91q-18 110 -102 110l-11 -4q-260 0 -437 246q-78 142 -78 267q0 206 134 347q-149 88 -149 293q0 202 211 316q65 30 143 30z" />
-<glyph unicode="&#x3bf;" horiz-adv-x="1245" d="M616 1034q206 0 373 -156q159 -166 159 -376q0 -299 -282 -469q-124 -63 -239 -63h-29q-216 0 -401 202q-113 159 -113 330q0 259 229 434q147 98 303 98zM291 513v-18q0 -184 178 -286q63 -32 136 -32h22q190 0 291 198q23 61 23 120v18q0 152 -140 258q-83 56 -189 56 q-208 0 -305 -219q-16 -52 -16 -95z" />
-<glyph unicode="&#x3c0;" horiz-adv-x="1165" d="M207 835l-51 -3q-89 31 -89 107q17 97 66 97v6l68 -6h768l46 3q92 -30 92 -96v-11q0 -71 -89 -100l-51 3v-769q0 -79 -97 -96h-7q-81 0 -100 101v765h-352v-773q0 -74 -97 -93h-10q-97 17 -97 100v765z" />
-<glyph unicode="&#x3c1;" horiz-adv-x="1187" d="M595 1050q209 0 377 -157q161 -169 161 -380q0 -302 -285 -474q-125 -63 -241 -63h-30q-188 0 -314 114v-443q0 -71 -101 -93q-80 0 -103 101v825q0 405 383 546q49 16 153 24zM267 524v-19q0 -185 180 -288q64 -33 138 -33h22q193 0 295 200q23 62 23 121v19 q0 154 -142 261q-84 57 -191 57q-210 0 -308 -222q-17 -53 -17 -96z" />
-<glyph unicode="&#x3c2;" horiz-adv-x="997" d="M614 1048q202 0 202 -114v-24q-25 -90 -102 -90h-14l-84 12q-205 0 -303 -210q-14 -34 -21 -117q0 -203 216 -303q54 -13 197 -27q243 -95 243 -317v-4q0 -234 -261 -322h-16q-103 20 -103 98v16q0 82 114 112q54 36 54 100q0 79 -90 111l-14 2l-9 -3q-308 0 -483 291 q-60 119 -60 223v44q0 272 275 454q141 68 259 68z" />
-<glyph unicode="&#x3c3;" horiz-adv-x="1355" d="M571 1036l80 -4h515l38 5q93 -29 93 -94v-22q0 -60 -84 -92l-68 4h-139q115 -122 115 -330q0 -269 -244 -447q-142 -86 -278 -86h-29q-228 0 -406 209q-109 152 -109 309v33q0 244 242 429q156 86 274 86zM258 503q0 -202 205 -306q66 -20 107 -20h33q162 0 267 162 q44 76 44 171q0 176 -176 283q-71 36 -157 36q-176 0 -283 -172q-40 -81 -40 -154z" />
-<glyph unicode="&#x3c4;" horiz-adv-x="1187" d="M146 1045l69 -7h776l37 5q94 -27 94 -101v-8q0 -68 -84 -100l-68 4h-265v-767q-19 -101 -100 -101h-7q-97 17 -97 96v772h-268l-64 -4q-89 32 -89 107q17 97 66 97v7z" />
-<glyph unicode="&#x3c5;" horiz-adv-x="1216" d="M191 1034q96 -25 96 -92v-392q0 -235 130 -312q83 -65 184 -65q195 0 295 201q20 65 20 132v428q19 100 106 100q97 -22 97 -100v-465q0 -233 -221 -405q-141 -94 -286 -94h-25q-242 0 -421 237q-82 128 -82 313v401q11 113 107 113z" />
-<glyph unicode="&#x3c6;" horiz-adv-x="1213" d="M685 198q73 18 167 102q85 110 85 214v42q0 155 -160 269l-29 6q-43 0 -60 -47l-3 -28v-558zM729 1041h33q162 0 315 -235q74 -134 74 -269q0 -324 -310 -505q-129 -53 -156 -53v-332q0 -90 -113 -108q-98 27 -98 100v347q-84 10 -227 107q-212 186 -212 448t240 448 q31 21 60 21h14q97 -18 97 -99v-16q0 -50 -88 -107q-109 -116 -109 -232v-42q0 -176 183 -289l42 -15v570q0 161 187 248z" />
-<glyph unicode="&#x3c7;" horiz-adv-x="1237" d="M629 98q-318 -506 -348 -535q-27 -21 -66 -26q-83 0 -103 105v11q13 49 286 460q25 51 109 172l-395 625v27q20 101 104 101q72 0 138 -134l274 -428q292 466 347 535q30 23 67 27q103 -20 103 -104q0 -43 -187 -317l-209 -334q-1 2 313 -481q83 -126 83 -164 q-22 -101 -101 -101q-77 0 -141 134q-47 64 -274 427z" />
-<glyph unicode="&#x3c8;" horiz-adv-x="1376" d="M800 194q82 17 186 111q110 112 110 308v336q18 100 103 100h4q106 0 106 -141v-326q0 -370 -366 -565q-126 -44 -143 -44v-288q0 -81 -100 -99h-7q-84 0 -103 104v285q-75 6 -235 95q-271 202 -271 531v336q17 112 107 112h6q100 -15 100 -103v-303q0 -245 122 -346 q61 -69 171 -99v735q12 112 95 112h19q96 -19 96 -91v-760z" />
-<glyph unicode="&#x3c9;" horiz-adv-x="1321" d="M332 1046h10q95 -17 95 -99v-4q0 -20 -85 -196q-84 -219 -84 -404v-29q0 -95 108 -133l34 -6q107 0 141 119l4 83v316l-4 44q30 92 95 92h11q87 0 98 -112v-372l5 -37l-5 -13q0 -68 99 -118l47 -6q100 0 138 113l3 31v28q0 260 -169 574v29q17 96 98 96h4q77 0 133 -141 q139 -290 139 -587q0 -212 -217 -319q-61 -25 -120 -25h-22q-142 0 -237 101q-83 -97 -233 -97h-14q-215 0 -321 228q-20 66 -20 112q0 359 194 694q35 38 75 38z" />
-<glyph unicode="&#x3ca;" horiz-adv-x="589" d="M330 1038q96 -25 96 -93v-879q0 -79 -97 -96h-7q-81 0 -100 101v854q12 113 108 113zM168 1266h18q95 -20 95 -90v-19q0 -80 -102 -99q-105 21 -105 110q22 98 94 98zM455 1266h17q95 -21 95 -94v-11q0 -86 -106 -102q-101 19 -101 102v11q0 73 95 94z" />
-<glyph unicode="&#x3cb;" horiz-adv-x="1208" d="M191 1034q96 -25 96 -92v-392q0 -235 130 -312q83 -65 184 -65q195 0 295 201q20 65 20 132v428q19 100 106 100q97 -22 97 -100v-465q0 -233 -221 -405q-141 -94 -286 -94h-25q-242 0 -421 237q-82 128 -82 313v401q11 113 107 113zM437 1301h18q95 -20 95 -90v-19 q0 -80 -102 -99q-105 21 -105 110q22 98 94 98zM724 1301h17q95 -21 95 -94v-11q0 -86 -106 -102q-101 19 -101 102v11q0 73 95 94z" />
-<glyph unicode="&#x3cc;" horiz-adv-x="1229" d="M616 1034q206 0 373 -156q159 -166 159 -376q0 -299 -282 -469q-124 -63 -239 -63h-29q-216 0 -401 202q-113 159 -113 330q0 259 229 434q147 98 303 98zM291 513v-18q0 -184 178 -286q63 -32 136 -32h22q190 0 291 198q23 61 23 120v18q0 152 -140 258q-83 56 -189 56 q-208 0 -305 -219q-16 -52 -16 -95zM654 1417q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63z" />
-<glyph unicode="&#x3cd;" horiz-adv-x="1178" d="M191 1034q96 -25 96 -92v-392q0 -235 130 -312q83 -65 184 -65q195 0 295 201q20 65 20 132v428q19 100 106 100q97 -22 97 -100v-465q0 -233 -221 -405q-141 -94 -286 -94h-25q-242 0 -421 237q-82 128 -82 313v401q11 113 107 113zM659 1443q100 -23 100 -100v-7 q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180q46 63 100 63z" />
-<glyph unicode="&#x3ce;" horiz-adv-x="1309" d="M332 1046h10q95 -17 95 -99v-4q0 -20 -85 -196q-84 -219 -84 -404v-29q0 -95 108 -133l34 -6q107 0 141 119l4 83v316l-4 44q30 92 95 92h11q87 0 98 -112v-372l5 -37l-5 -13q0 -68 99 -118l47 -6q100 0 138 113l3 31v28q0 260 -169 574v29q17 96 98 96h4q77 0 133 -141 q139 -290 139 -587q0 -212 -217 -319q-61 -25 -120 -25h-22q-142 0 -237 101q-83 -97 -233 -97h-14q-215 0 -321 228q-20 66 -20 112q0 359 194 694q35 38 75 38zM739 1430q100 -23 100 -100v-7q0 -43 -87 -139q-68 -104 -137 -104h-4q-71 0 -92 97v10q0 44 120 180 q46 63 100 63z" />
-<glyph unicode="&#x2000;" horiz-adv-x="946" />
-<glyph unicode="&#x2001;" horiz-adv-x="1893" />
-<glyph unicode="&#x2002;" horiz-adv-x="946" />
-<glyph unicode="&#x2003;" horiz-adv-x="1893" />
-<glyph unicode="&#x2004;" horiz-adv-x="631" />
-<glyph unicode="&#x2005;" horiz-adv-x="473" />
-<glyph unicode="&#x2006;" horiz-adv-x="315" />
-<glyph unicode="&#x2007;" horiz-adv-x="315" />
-<glyph unicode="&#x2008;" horiz-adv-x="236" />
-<glyph unicode="&#x2009;" horiz-adv-x="378" />
-<glyph unicode="&#x200a;" horiz-adv-x="105" />
-<glyph unicode="&#x2010;" horiz-adv-x="670" d="M175 698h400q83 0 106 -110q-25 -106 -106 -106h-400q-92 0 -107 116q28 100 107 100z" />
-<glyph unicode="&#x2011;" horiz-adv-x="670" d="M175 698h400q83 0 106 -110q-25 -106 -106 -106h-400q-92 0 -107 116q28 100 107 100z" />
-<glyph unicode="&#x2013;" horiz-adv-x="1108" d="M156 545l71 -7h717l36 4q85 0 108 -107q0 -75 -89 -113l-74 4h-678l-69 -4q-94 33 -94 113q18 103 72 103v7z" />
-<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M72 613l71 -7h1821l36 4q85 0 108 -107q0 -75 -89 -113l-74 4h-1782l-69 -4q-94 33 -94 113q18 103 72 103v7z" />
-<glyph unicode="&#x2015;" horiz-adv-x="2007" d="M165 652l71 -7h1597l40 4q100 -27 100 -106v-8q0 -71 -89 -106l-74 4h-1554l-69 -4q-94 33 -94 113q18 103 72 103v7z" />
-<glyph unicode="&#x2017;" horiz-adv-x="951" d="M102 1h887q102 -18 102 -100v-15q-20 -97 -100 -97h-889q-90 0 -105 114q28 98 105 98z" />
-<glyph unicode="&#x2018;" horiz-adv-x="557" d="M393 1599q59 -17 59 -64v-14q-59 -141 -60 -238q0 -52 46 -129l6 -28q0 -92 -111 -113q-126 0 -157 280q0 150 159 284z" />
-<glyph unicode="&#x2019;" horiz-adv-x="557" d="M291 1588h28q110 0 142 -264v-22q0 -143 -157 -273q-38 -21 -67 -21q-33 13 -52 46v26q60 144 60 230v12q0 54 -48 136v31q21 99 94 99z" />
-<glyph unicode="&#x201a;" horiz-adv-x="557" d="M286 250h28q110 0 142 -264v-22q0 -143 -157 -273q-38 -21 -67 -21q-33 13 -52 46v26q60 144 60 230v12q0 54 -48 136v31q21 99 94 99z" />
-<glyph unicode="&#x201b;" horiz-adv-x="450" d="M373 1479v-31q-49 -82 -49 -136v-12q0 -86 61 -230v-26q-19 -33 -52 -46q-28 0 -68 21q-158 130 -158 273v22q32 264 143 264h28q74 0 95 -99z" />
-<glyph unicode="&#x201c;" horiz-adv-x="910" d="M441 1620q59 -17 59 -64v-14q-59 -141 -60 -238q0 -52 46 -129l6 -28q0 -92 -111 -113q-126 0 -157 280q0 150 159 284zM736 1610q52 -22 52 -72q-64 -142 -64 -238q0 -53 52 -144v-23q-19 -103 -102 -103h-16q-107 0 -146 232v70q0 120 147 251q37 27 77 27z" />
-<glyph unicode="&#x201d;" horiz-adv-x="910" d="M326 1611h28q110 0 142 -264v-22q0 -143 -157 -273q-38 -21 -67 -21q-33 13 -52 46v26q60 144 60 230v12q0 54 -48 136v31q21 99 94 99zM630 1615h12q121 0 150 -272v-10q0 -146 -158 -278l-50 -20q-68 0 -68 62v10q60 141 60 242q0 54 -48 132v44q25 90 102 90z" />
-<glyph unicode="&#x201e;" horiz-adv-x="910" d="M308 265h28q110 0 142 -264v-22q0 -143 -157 -273q-38 -21 -67 -21q-33 13 -52 46v26q60 144 60 230v12q0 54 -48 136v31q21 99 94 99zM612 269h12q121 0 150 -272v-10q0 -146 -158 -278l-50 -20q-68 0 -68 62v10q60 141 60 242q0 54 -48 132v44q25 90 102 90z" />
-<glyph unicode="&#x2020;" d="M539 1471h12q84 0 102 -103v-261h160l36 4q81 0 108 -106q0 -80 -94 -114l-65 4h-145v-1194q0 -93 -116 -111q-100 27 -100 103v1202h-141l-69 -4q-94 33 -94 113q18 103 72 103v7l71 -7h161v265q19 99 102 99z" />
-<glyph unicode="&#x2021;" d="M542 1471h12q84 0 102 -103v-261h160l36 4q81 0 108 -106q0 -80 -94 -114l-65 4h-145v-724h206q72 0 99 -105q-22 -111 -111 -111h-194v-254q0 -93 -116 -111q-100 27 -100 103v262h-197q-107 21 -107 113q23 103 98 103h206v724h-141l-69 -4q-94 33 -94 113 q18 103 72 103v7l71 -7h161v265q19 99 102 99z" />
-<glyph unicode="&#x2022;" horiz-adv-x="1024" d="M216 718q0 123 87 209t210 86q122 0 208.5 -86.5t86.5 -208.5t-87.5 -209.5t-209.5 -87.5q-123 0 -209 87t-86 210z" />
-<glyph unicode="&#x2026;" horiz-adv-x="2048" d="M1663 304q129 0 165 -151v-28q0 -94 -113 -145q-20 -10 -52 -10h-4q-137 0 -165 167q0 110 118 157q19 10 51 10zM972 300q129 0 165 -151v-28q0 -94 -113 -145q-20 -10 -52 -10h-4q-137 0 -165 167q0 110 118 157q19 10 51 10zM299 304q129 0 165 -151v-28 q0 -94 -113 -145q-20 -10 -52 -10h-4q-137 0 -165 167q0 110 118 157q19 10 51 10z" />
-<glyph unicode="&#x202f;" horiz-adv-x="378" />
-<glyph unicode="&#x2030;" horiz-adv-x="2494" d="M509 1476h19q182 0 308 -164q74 -109 74 -223q0 -252 -262 -372q-75 -21 -124 -21h-7q-228 0 -349 220q-41 84 -41 170q0 256 270 372q56 18 112 18zM1363 1466h14q95 -20 95 -99v-15q0 -32 -146 -219l-864 -1142q-42 -21 -65 -21h-7q-99 21 -99 94v16q0 42 112 178 l897 1184q35 24 63 24zM335 1087v-5q0 -128 142 -175l33 -3h18q125 0 171 146l4 37q0 131 -140 178l-44 7q-129 0 -178 -136zM1246 743q229 0 361 -237q29 -87 29 -152v-12q0 -229 -241 -352q-75 -30 -149 -30h-7q-200 0 -328 192q-55 94 -55 186v23q0 207 205 333 q99 49 185 49zM1060 352q0 -127 133 -178l48 -6h13q122 0 171 140l3 29v24q0 127 -150 171l-34 4q-135 0 -181 -154zM2039 748q229 0 361 -237q29 -87 29 -152v-12q0 -229 -241 -352q-75 -30 -149 -30h-7q-200 0 -328 192q-55 94 -55 186v23q0 207 205 333q99 49 185 49z M1853 357q0 -127 133 -178l48 -6h13q122 0 171 140l3 29v24q0 127 -150 171l-34 4q-135 0 -181 -154z" />
-<glyph unicode="&#x2032;" horiz-adv-x="455" d="M306 1459h7q103 -18 103 -102v-20q0 -31 -175 -259q-28 -31 -59 -31h-8q-56 0 -74 70v18q110 275 140 302q37 22 66 22z" />
-<glyph unicode="&#x2033;" horiz-adv-x="673" d="M314 1459h7q103 -18 103 -102v-20q0 -31 -175 -259q-28 -31 -59 -31h-8q-56 0 -74 70v18q110 275 140 302q37 22 66 22zM565 1447q107 -21 107 -110q0 -42 -114 -185q-75 -117 -120 -117h-12q-56 0 -74 70q0 27 117 293q47 49 96 49z" />
-<glyph unicode="&#x2039;" horiz-adv-x="631" d="M439 470q101 -74 101 -135v-7q-18 -103 -102 -103h-20q-42 0 -238 177l-12 41v48q0 53 158 167q51 55 100 55h10q104 -16 104 -106v-4q0 -61 -101 -133z" />
-<glyph unicode="&#x203a;" horiz-adv-x="631" d="M193 460q-101 73 -101 135v7q21 107 110 107q50 0 186 -126q76 -46 76 -100v-36q0 -62 -123 -147q-87 -83 -139 -83h-7q-103 19 -103 106v4q0 62 101 133z" />
-<glyph unicode="&#x203c;" horiz-adv-x="850" d="M649 1472h12q84 0 103 -96v-961q-24 -99 -110 -99q-108 16 -108 99v965q19 92 103 92zM640 236h10q131 -19 131 -122v-22q0 -95 -122 -122h-15q-104 0 -130 133q27 133 126 133zM245 1472h12q84 0 103 -96v-961q-24 -99 -110 -99q-108 16 -108 99v965q19 92 103 92z M236 236h10q131 -19 131 -122v-22q0 -95 -122 -122h-15q-104 0 -130 133q27 133 126 133z" />
-<glyph unicode="&#x203e;" horiz-adv-x="837" d="M186 1395l71 -7h397l36 4q81 0 108 -106q0 -80 -94 -114l-65 4h-362l-69 -4q-94 33 -94 113q18 103 72 103v7z" />
-<glyph unicode="&#x2044;" horiz-adv-x="462" d="M665 1483h12q84 0 102 -103v-7q0 -44 -123 -191q-974 -1264 -994 -1276l-40 -15h-21q-74 0 -102 89v25q0 45 123 191l978 1262q32 25 65 25z" />
-<glyph unicode="&#x2215;" horiz-adv-x="462" d="M665 1483h12q84 0 102 -103v-7q0 -44 -123 -191q-974 -1264 -994 -1276l-40 -15h-21q-74 0 -102 89v25q0 45 123 191l978 1262q32 25 65 25z" />
-<glyph unicode="&#x205f;" horiz-adv-x="473" />
-<glyph unicode="&#x207f;" horiz-adv-x="787" d="M156 1095q68 -18 68 -68v19q54 49 180 49q137 0 244 -114q77 -96 77 -203v-281q0 -54 -69 -67h-8q-69 13 -69 72v247q0 145 -122 190q-30 8 -53 8h-7q-102 0 -159 -107q-14 -31 -14 -109v-231q0 -58 -70 -70h-4q-59 0 -72 71v514q8 80 78 80z" />
-<glyph unicode="&#x20a3;" horiz-adv-x="1127" d="M250 1474l51 -11h712l15 4q92 0 107 -114q-21 -97 -111 -97h-641v-451h409l51 4q75 0 97 -103q0 -71 -82 -108l-81 4h-394v-198h89l33 4q80 0 102 -102q0 -73 -84 -109l-68 4h-72v-103l5 -27q-23 -101 -101 -101h-10q-97 18 -97 102v129h-68l-64 -4q-88 28 -88 102v7 q0 73 89 103l42 -5h89v959q15 100 70 100v11z" />
-<glyph unicode="&#x20a4;" horiz-adv-x="946" d="M244 411h-109q-95 18 -95 98v11q0 80 100 86l121 -2l-5 16h-117q-99 13 -99 99q20 102 105 102h16q-68 119 -68 238q0 243 256 374q80 25 120 25h38q192 0 330 -184l6 -39q-24 -105 -106 -105q-49 0 -119 80q-53 41 -111 41h-23q-128 0 -181 -153l-3 -44q0 -51 72 -186 l22 -47h240q103 -20 103 -108q-22 -99 -94 -93l-174 -1v-11h167q97 -8 97 -92v-7q-18 -98 -102 -98h-173q-5 0 -5 -19q0 -12 -4 -32l-81 -183h335q-4 0 -4 7q0 14 20 59q44 43 89 43q102 -20 102 -105q0 -35 -78 -177q-39 -34 -76 -34h-554q-83 0 -102 104q3 29 144 337z " />
-<glyph unicode="&#x20a7;" horiz-adv-x="2028" d="M1172 832h-71v-509q0 -120 68 -143h-2q9 -9 10 -9q0 3 -17 27q-20 30 -20 58v22q0 81 110 93q53 0 125 -103q88 -82 206 -82q140 0 232 131l4 14q-1 20 -41 24q-506 113 -540 144q-103 78 -103 193q0 96 39 140zM208 1260v-479h205q170 0 234 163q13 33 13 80 q0 148 -154 220q-35 16 -85 16h-213zM1341 984q-6 -4 -6 -5h1q1 0 15 9q120 63 237 63q274 0 433 -253l4 -37v-6q0 -85 -102 -100q-68 0 -126 96q-91 89 -209 89q-154 0 -241 -144l-2 -10q0 -20 86 -27q430 -104 475 -121q123 -81 123 -205v-3q0 -171 -242 -309 q-105 -47 -221 -47q-126 0 -197 41q-10 -45 -89 -45h-77q-194 0 -288 210q-17 53 -17 121v531h-69q-36 -87 -144 -173q-125 -86 -245 -86h-232v-505q0 -80 -99 -98h-7q-83 0 -102 103v1283q12 112 94 112h346q218 0 371 -224q57 -115 57 -208v-5h30v280q12 109 93 109h17 q93 -20 93 -89v-300h119l33 4q75 0 88 -51z" />
-<glyph unicode="&#x20ac;" horiz-adv-x="1193" d="M755 1487q236 0 445 -148q22 -42 22 -66v-7q0 -92 -110 -103h-11l-139 71q-127 40 -207 40q-250 0 -436 -222q-40 -61 -52 -90h701q101 -17 101 -103v-7q-18 -100 -103 -100h-751l-2 -23l2 -28h753q101 -15 101 -103v-7q-18 -99 -103 -99h-700q68 -168 267 -262 q111 -47 214 -47h12q159 0 332 108h35q96 -21 96 -99v-12q0 -103 -279 -186q-84 -24 -177 -24h-19q-375 0 -627 347q-120 202 -120 412q0 394 359 642q193 116 396 116z" />
-<glyph unicode="&#x2105;" horiz-adv-x="1768" d="M1374 1460h12q80 0 98 -99v-6q0 -45 -131 -197q-95 -132 -898 -1166q-37 -22 -73 -22q-94 26 -94 94v23q0 34 149 219q808 1052 875 1131q31 23 62 23zM441 1460q150 0 275 -115q14 -25 14 -46v-5q-14 -77 -80 -77h-3q-29 0 -100 54q-49 25 -99 25h-15q-134 0 -203 -141 q-16 -48 -16 -86q0 -137 142 -208q41 -16 90 -16q79 0 164 71l31 7h12q63 0 77 -76v-5q0 -75 -190 -148q-62 -11 -92 -11h-21q-157 0 -292 147q-83 118 -83 242q0 189 167 317q107 71 222 71zM1346 739q147 0 267 -112q114 -119 114 -269q0 -215 -202 -337q-89 -45 -172 -45 h-21q-154 0 -286 145q-82 114 -82 237q0 186 164 311q105 70 218 70zM1127 365v-13q0 -123 120 -192q42 -21 91 -21h15q128 0 196 133q15 41 15 80v13q0 102 -94 174q-56 37 -127 37q-140 0 -206 -147q-10 -34 -10 -64z" />
-<glyph unicode="&#x2113;" horiz-adv-x="846" d="M562 1462q196 0 272 -206l9 -59v-21q0 -102 -130 -263l-213 -319v-353q0 -60 34 -60h13q62 26 85 26q75 0 99 -105q-30 -132 -197 -132q-157 0 -232 180l-9 78v48q-26 -42 -87 -42h-7q-86 0 -102 107q0 37 192 308l4 7v512q0 218 215 286zM500 964q132 185 132 204v34 q0 36 -67 50h-1q-52 0 -64 -78v-210z" />
-<glyph unicode="&#x2116;" horiz-adv-x="2271" d="M998 374v992q18 95 98 95h11q81 0 98 -98v-1288q0 -87 -107 -105q-61 0 -158 144l-733 936v-978q0 -81 -100 -98h-5q-83 0 -102 102v1274q12 111 94 111h15q67 0 108 -88q53 -60 781 -999zM1287 452l71 -7h717l36 4q85 0 108 -107q0 -75 -89 -113l-74 4h-678l-69 -4 q-94 33 -94 113q18 103 72 103v7zM1712 1306q165 0 299 -125q127 -133 127 -301q0 -240 -226 -376q-99 -50 -191 -50h-24q-172 0 -320 161q-91 128 -91 265q0 208 183 348q117 78 243 78zM1462 889v-14q0 -142 137 -220q48 -25 104 -25h18q146 0 223 152q18 47 18 93v14 q0 117 -108 198q-63 43 -145 43q-160 0 -235 -167q-12 -40 -12 -74z" />
-<glyph unicode="&#x2122;" horiz-adv-x="1497" d="M214 1471h438q59 -11 59 -62v-7q0 -51 -67 -60h-147v-539q0 -51 -61 -62h-4q-52 0 -64 62v539h-152q-62 12 -62 70q14 59 60 59zM891 1102v-308q0 -51 -61 -62h-5q-52 0 -64 63v608q7 67 60 67h8q50 0 67 -66l204 -456q12 43 127 304l90 194q24 24 48 24h8q53 0 60 -67 v-608q-12 -63 -64 -63h-5q-61 11 -61 62v307q-147 -333 -156 -346q-25 -23 -50 -23q-53 0 -83 94z" />
-<glyph unicode="&#x2126;" horiz-adv-x="1709" d="M317 179q-58 56 -111 137q-111 194 -111 408q0 351 321 603q208 140 433 140q382 0 638 -354q116 -206 116 -389q0 -314 -223 -542h93q100 -19 100 -94v-19q-21 -95 -99 -95h-492q-86 0 -103 112q27 96 100 96q95 0 268 148q151 177 151 386q0 258 -232 445 q-153 97 -302 97h-30q-258 0 -436 -235q-98 -151 -98 -307q0 -314 291 -488q48 -30 168 -58q67 -28 67 -105q-27 -95 -103 -95h-487q-103 20 -103 109q23 100 103 100h81z" />
-<glyph unicode="&#x212e;" horiz-adv-x="1174" d="M596 1034q307 0 477 -291q59 -115 59 -248v-22q-18 -100 -100 -100h-733q29 -95 160 -166q77 -30 145 -30q77 0 187 55h32q93 -18 93 -96v-11q0 -117 -292 -155h-28q-286 0 -458 268q-70 127 -70 264q0 293 275 466q135 66 253 66zM282 576h640q0 35 -81 144 q-110 104 -215 104h-41q-160 0 -263 -158q-37 -63 -40 -90z" />
-<glyph unicode="&#x215b;" horiz-adv-x="1498" d="M1223 1472h12q81 0 98 -100v-6q0 -45 -131 -198q-96 -133 -906 -1176q-37 -22 -74 -22q-94 26 -94 95v23q0 34 151 220q814 1061 881 1141q31 23 63 23zM353 1464q45 0 78 -57l-3 -65v-652l3 -39q-21 -68 -75 -68q-44 0 -72 53v654l-32 -7h-29q-53 28 -53 71q0 74 110 91 q0 3 73 19zM1191 836q111 0 187 -98q45 -60 45 -132v-11q0 -98 -59 -151q93 -68 93 -205q0 -136 -124 -227q-70 -46 -147 -46h-11q-131 0 -225 129q-41 74 -41 144q0 141 99 212q-25 19 -43 92q-7 20 -7 52v11q0 123 117 198q59 32 116 32zM1101 595q0 -57 72 -81l19 -2 q61 0 84 66l4 25q0 64 -70 85l-23 2q-59 0 -83 -64zM1052 239q0 -90 97 -126q11 -4 37 -4q86 0 123 94l3 27v20q0 71 -86 112q-23 7 -42 7q-93 0 -127 -95z" />
-<glyph unicode="&#x215c;" horiz-adv-x="1523" d="M1265 1472h12q81 0 98 -100v-6q0 -45 -131 -198q-96 -133 -906 -1176q-37 -22 -74 -22q-94 26 -94 95v23q0 34 151 220q814 1061 881 1141q31 23 63 23zM1233 836q111 0 187 -98q45 -60 45 -132v-11q0 -98 -59 -151q93 -68 93 -205q0 -136 -124 -227q-70 -46 -147 -46 h-11q-131 0 -225 129q-41 74 -41 144q0 141 99 212q-25 19 -43 92q-7 20 -7 52v11q0 123 117 198q59 32 116 32zM1143 595q0 -57 72 -81l19 -2q61 0 84 66l4 25q0 64 -70 85l-23 2q-59 0 -83 -64zM1094 239q0 -90 97 -126q11 -4 37 -4q86 0 123 94l3 27v20q0 71 -86 112 q-23 7 -42 7q-93 0 -127 -95zM356 1548q144 0 216 -146q18 -42 18 -77v-22q0 -96 -58 -151q92 -64 92 -208q0 -198 -220 -271l-58 -4h-8q-187 0 -264 220l-4 58q0 38 52 69h27q67 0 75 -107q35 -93 117 -93h12q90 0 122 108l3 26q0 86 -104 123q-93 0 -93 83q16 67 91 67 q52 0 72 80v22q0 50 -74 76h-17q-63 0 -87 -73v-36q-28 -53 -68 -53h-14q-65 12 -65 67v8q0 164 186 230z" />
-<glyph unicode="&#x215d;" horiz-adv-x="1569" d="M1324 1472h12q81 0 98 -100v-6q0 -45 -131 -198q-96 -133 -906 -1176q-37 -22 -74 -22q-94 26 -94 95v23q0 34 151 220q814 1061 881 1141q31 23 63 23zM1292 836q111 0 187 -98q45 -60 45 -132v-11q0 -98 -59 -151q93 -68 93 -205q0 -136 -124 -227q-70 -46 -147 -46 h-11q-131 0 -225 129q-41 74 -41 144q0 141 99 212q-25 19 -43 92q-7 20 -7 52v11q0 123 117 198q59 32 116 32zM1202 595q0 -57 72 -81l19 -2q61 0 84 66l4 25q0 64 -70 85l-23 2q-59 0 -83 -64zM1153 239q0 -90 97 -126q11 -4 37 -4q86 0 123 94l3 27v20q0 71 -86 112 q-23 7 -42 7q-93 0 -127 -95zM168 1468l26 -3h321q57 0 72 -71q0 -59 -72 -75h-265v-151h90q159 0 247 -162q28 -67 28 -118q0 -145 -137 -240q-71 -39 -140 -39h-7q-164 0 -255 169q-22 64 -22 114q24 63 74 63q76 0 76 -99q21 -64 67 -87q39 -15 62 -15q90 0 127 92 q7 18 7 42q0 97 -102 130l-46 4h-145q-51 0 -70 60v318q0 44 64 68z" />
-<glyph unicode="&#x215e;" horiz-adv-x="1494" d="M1215 1472h12q81 0 98 -100v-6q0 -45 -131 -198q-96 -133 -906 -1176q-37 -22 -74 -22q-94 26 -94 95v23q0 34 151 220q814 1061 881 1141q31 23 63 23zM1183 836q111 0 187 -98q45 -60 45 -132v-11q0 -98 -59 -151q93 -68 93 -205q0 -136 -124 -227q-70 -46 -147 -46 h-11q-131 0 -225 129q-41 74 -41 144q0 141 99 212q-25 19 -43 92q-7 20 -7 52v11q0 123 117 198q59 32 116 32zM1093 595q0 -57 72 -81l19 -2q61 0 84 66l4 25q0 64 -70 85l-23 2q-59 0 -83 -64zM1044 239q0 -90 97 -126q11 -4 37 -4q86 0 123 94l3 27v20q0 71 -86 112 q-23 7 -42 7q-93 0 -127 -95zM461 1315h-284q-71 15 -71 76q15 68 67 68h417q66 -14 66 -64v-11q0 -20 -27 -59l-405 -720q-30 -20 -51 -20h-5q-68 13 -68 71v11q8 27 361 648z" />
-<glyph unicode="&#x2190;" horiz-adv-x="1923" d="M532 778h1284q94 -20 94 -100q-19 -97 -97 -97h-1280l150 -97q21 -41 21 -64v-10q-17 -90 -93 -90h-22q-42 11 -428 260q-77 25 -77 98q0 72 135 135q345 226 381 226h10q94 -17 94 -97v-7q0 -66 -159 -149z" />
-<glyph unicode="&#x2191;" horiz-adv-x="833" d="M348 1019q-100 -166 -136 -166l-17 -3h-25q-82 25 -82 86v17q0 32 100 185l180 294q28 28 73 36q74 0 138 -135q225 -346 225 -380v-13q-19 -90 -93 -90h-18q-56 0 -120 123l-29 44v-1274q0 -76 -93 -93h-10q-93 17 -93 97v1272z" />
-<glyph unicode="&#x2192;" horiz-adv-x="1910" d="M1443 778q-128 77 -161 110l-9 44v17q0 70 93 90q45 0 319 -180q154 -89 194 -131l11 -36v-25q0 -58 -90 -97q-392 -250 -419 -250h-17q-91 17 -91 93v15q0 60 174 153h-1282q-82 0 -98 106q25 91 94 91h1282z" />
-<glyph unicode="&#x2193;" horiz-adv-x="808" d="M426 1474q72 0 104 -84l-3 -66v-1215l98 151q37 22 63 22h7q93 -17 93 -97v-7q0 -31 -99 -183l-183 -297q-37 -31 -72 -31h-4q-69 0 -130 130q-220 339 -224 372v20q0 76 93 93h7q69 0 120 -114l38 -57v1213l-3 56q0 69 95 94z" />
-<glyph unicode="&#x2194;" horiz-adv-x="1961" d="M543 772h933q-111 70 -150 104l-14 40v22q0 76 93 93h7q39 0 289 -166q182 -108 214 -138l13 -51q0 -73 -86 -108q-371 -236 -415 -251h-34q-81 26 -81 86v17q0 67 137 135q3 4 30 21h-951q124 -76 160 -109q16 -29 16 -54v-7q0 -79 -97 -96q-37 0 -337 193 q-166 96 -178 135l-4 29v5q0 68 89 104q363 233 415 251h14q98 -15 98 -96v-7q0 -67 -120 -124q-23 -15 -41 -28z" />
-<glyph unicode="&#x2195;" horiz-adv-x="825" d="M338 1028q-75 -123 -108 -160l-51 -15q-91 0 -103 101v10q17 52 258 427q29 71 93 71h7q69 0 103 -88q240 -377 248 -412v-13q-19 -96 -99 -96q-74 0 -126 119l-27 40v-916l81 128q39 34 78 34q96 -19 96 -99q0 -38 -146 -261q-129 -213 -160 -240l-42 -8h-13 q-66 0 -110 105q-238 365 -238 401v6q19 96 99 96q70 0 130 -122l30 -48v940z" />
-<glyph unicode="&#x21a8;" horiz-adv-x="879" d="M367 1028q-75 -123 -108 -160l-51 -15q-91 0 -103 101v10q17 52 258 427q29 71 93 71h7q69 0 103 -88q240 -377 248 -412v-13q-19 -96 -99 -96q-74 0 -126 119l-27 40v-916l81 128q39 34 78 34q96 -19 96 -99q0 -38 -146 -261q-129 -213 -160 -240l-42 -8h-13 q-66 0 -110 105q-238 365 -238 401v6q19 96 99 96q70 0 130 -122l30 -48v940z" />
-<glyph unicode="&#x2202;" horiz-adv-x="1131" d="M243 499q0 -198 196 -298q65 -28 130 -28q194 0 295 192q28 64 28 138q0 191 -199 294q-75 25 -124 25q-191 0 -294 -188q-32 -74 -32 -135zM728 1003q-119 146 -342 222q-111 30 -195 30l-46 -4q-75 0 -97 97v18q18 96 99 96q565 0 839 -483q109 -176 109 -514 q0 -174 -164 -351q-166 -144 -354 -144h-23q-254 0 -435 250q-79 140 -79 279q0 281 267 456q127 70 262 70q91 0 159 -22z" />
-<glyph unicode="&#x2206;" horiz-adv-x="1144" d="M601 1068l-339 -888h677zM595 1473h12q85 0 113 -137q477 -1229 477 -1255v-12q0 -81 -101 -99h-992q-87 0 -104 114l512 1344q40 45 83 45z" />
-<glyph unicode="&#x220f;" horiz-adv-x="1378" d="M178 1473h1007q103 -19 103 -102v-7q-21 -99 -94 -99h-50v-1510h41q103 -20 103 -109q-18 -99 -68 -99l-323 -4q-85 0 -105 107v6q0 76 103 99h41v1510h-509v-1510h41q103 -20 103 -108q-17 -100 -68 -100h-300l-23 -4q-85 0 -105 107v6q0 76 103 99h41v1510h-50 q-78 0 -94 108q0 77 103 100z" />
-<glyph unicode="&#x2211;" horiz-adv-x="1206" d="M744 497l-665 811l-9 41v14q0 73 94 94h859q95 -20 95 -90v-19q0 -80 -98 -97h-625l582 -709l6 -38v-13q0 -39 -168 -228l-409 -501h621q102 -19 102 -94v-22q0 -64 -94 -95l-32 5h-791l-27 -5q-100 27 -100 95v22q0 39 168 229z" />
-<glyph unicode="&#x2212;" horiz-adv-x="1092" d="M162 804l71 -7h717l36 4q85 0 108 -107q0 -75 -89 -113l-74 4h-678l-69 -4q-94 33 -94 113q18 103 72 103v7z" />
-<glyph unicode="&#x221a;" horiz-adv-x="1127" d="M254 300q621 1254 647 1284l55 25l44 -4h89l38 3q95 -26 95 -102v-7q0 -74 -90 -102l-66 4h-44q0 -22 -666 -1365q-31 -66 -95 -66h-4q-80 0 -133 142q-124 206 -124 248v7q0 78 106 98q74 0 125 -123z" />
-<glyph unicode="&#x221e;" horiz-adv-x="1313" d="M436 1013q150 0 253 -100q107 100 259 100q231 0 352 -259l14 -109v-6q0 -262 -287 -361l-81 -9q-154 0 -257 99q-100 -99 -255 -99q-245 0 -356 268l-14 104q0 247 268 358zM798 626q0 -93 126 -141h63q77 0 127 109l9 55q0 107 -126 155h-62q-93 0 -137 -136v-42z M254 622q0 -93 126 -141h63q77 0 127 109l9 55q0 107 -126 155h-62q-93 0 -137 -136v-42z" />
-<glyph unicode="&#x221f;" horiz-adv-x="1431" d="M191 1280q96 -25 96 -92v-1015h1008q85 0 100 -109q-27 -94 -100 -94h-1112q-80 0 -99 100v1097q11 113 107 113z" />
-<glyph unicode="&#x2229;" horiz-adv-x="1221" d="M609 1467q306 0 481 -300q52 -122 52 -222v-881q0 -73 -99 -94h-10q-98 21 -98 94v798q0 218 -93 292q-95 102 -233 102q-209 0 -302 -211q-24 -40 -24 -183v-794q0 -81 -98 -98h-10q-99 18 -99 102v873q0 263 256 446q142 76 277 76z" />
-<glyph unicode="&#x222b;" horiz-adv-x="920" d="M724 1687h15q155 0 228 -172v-15q-15 -99 -97 -99h-7q-62 0 -102 77q-7 6 -32 11q-49 0 -49 -99l-182 -1495q-84 -166 -227 -166h-18q-163 0 -235 195v12q21 94 90 94h18q68 0 99 -90q17 -13 32 -13h11q48 0 48 110l178 1480q80 170 230 170z" />
-<glyph unicode="&#x2248;" d="M353 1056h6q55 0 356 -84h24q35 0 97 61l47 12q98 -23 98 -91v-16q0 -78 -161 -149l-83 -13h-10q-53 0 -356 84h-20q-36 0 -84 -49q-32 -23 -67 -23q-95 18 -95 98v12q0 77 182 149zM375 756q45 0 356 -84h28q28 0 103 66l38 7q97 -21 97 -99v-8q0 -81 -174 -153l-66 -9 h-30q-34 0 -344 84h-4q-49 0 -96 -48q-31 -24 -67 -24q-95 20 -95 90v16q0 61 90 110q76 52 164 52z" />
-<glyph unicode="&#x2260;" horiz-adv-x="1028" d="M445 647h-202q-92 0 -107 116q28 100 107 100h202v89q0 78 94 91h8q94 -13 94 -95v-85h214q83 0 106 -110q-25 -106 -106 -106h-214v-116h213q107 -21 107 -113q-22 -103 -106 -103h-214v-90q-14 -97 -96 -97h-10q-90 14 -90 97v90h-210q-82 0 -98 112q0 80 106 104h202 v116z" />
-<glyph unicode="&#x2261;" horiz-adv-x="1161" d="M151 314l71 -7h717l36 4q85 0 108 -107q0 -75 -89 -113l-74 4h-678l-69 -4q-94 33 -94 113q18 103 72 103v7zM156 1093l71 -7h717l36 4q85 0 108 -107q0 -75 -89 -113l-74 4h-678l-69 -4q-94 33 -94 113q18 103 72 103v7zM156 705l71 -7h717l36 4q85 0 108 -107 q0 -75 -89 -113l-74 4h-678l-69 -4q-94 33 -94 113q18 103 72 103v7z" />
-<glyph unicode="&#x2264;" d="M846 1196q103 -22 103 -106v-8q0 -74 -111 -126l-422 -262l503 -321q30 -33 30 -71v-12q0 -87 -108 -102q-43 0 -162 81l-553 347q-29 40 -29 74q0 79 164 158q543 348 570 348h15zM187 186h668q79 0 94 -100v-17q-18 -99 -90 -99h-664q-86 0 -98 111q18 105 90 105z" />
-<glyph unicode="&#x2265;" d="M200 191h668q78 0 94 -95v-22q-18 -99 -90 -99h-672q-73 0 -90 110q17 106 90 106zM646 697q-468 286 -507 321q-29 33 -29 81q0 77 107 102q46 0 335 -193q353 -210 392 -251q18 -30 18 -58v-16q0 -63 -135 -130q-562 -356 -581 -356l-30 -4q-106 16 -106 106v4 q0 80 152 150z" />
-<glyph unicode="&#xf001;" horiz-adv-x="1021" d="M619 1466q204 0 327 -207l17 -61q0 -84 -102 -106q-78 0 -123 108q-54 55 -122 55q-95 0 -141 -107l-11 -80v-37h132l60 4q73 0 96 -99v-14q0 -70 -94 -94h-194v-717l4 -42q0 -76 -102 -99q-76 0 -109 90l4 51v717h-167q-78 0 -94 107q0 59 84 100l83 -4h90v42 q0 266 229 364q42 21 133 29zM864 1069q103 -20 103 -105v-891q-18 -99 -102 -99h-7q-98 19 -98 94v902q21 99 104 99z" />
-<glyph unicode="&#xfb01;" horiz-adv-x="1021" d="M619 1466q204 0 327 -207l17 -61q0 -84 -102 -106q-78 0 -123 108q-54 55 -122 55q-95 0 -141 -107l-11 -80v-37h132l60 4q73 0 96 -99v-14q0 -70 -94 -94h-194v-717l4 -42q0 -76 -102 -99q-76 0 -109 90l4 51v717h-167q-78 0 -94 107q0 59 84 100l83 -4h90v42 q0 266 229 364q42 21 133 29zM864 1069q103 -20 103 -105v-891q-18 -99 -102 -99h-7q-98 19 -98 94v902q21 99 104 99z" />
-<glyph unicode="&#xf002;" horiz-adv-x="1081" d="M621 1473q206 0 328 -207l19 -51l-4 -50v-983h49q74 0 95 -99v-10q-18 -99 -102 -99h-148q-83 0 -102 103v1099q-26 75 -138 85q-94 0 -141 -107l-11 -81v-37h133l60 4q74 0 96 -99v-15q0 -70 -94 -94h-195v-721l4 -42q0 -76 -103 -99q-76 0 -109 91l4 50v721h-167 q-79 0 -95 108q0 59 85 100l83 -4h90v42q0 268 230 365q43 21 133 30z" />
-<glyph unicode="&#xfb02;" horiz-adv-x="1081" d="M621 1473q206 0 328 -207l19 -51l-4 -50v-983h49q74 0 95 -99v-10q-18 -99 -102 -99h-148q-83 0 -102 103v1099q-26 75 -138 85q-94 0 -141 -107l-11 -81v-37h133l60 4q74 0 96 -99v-15q0 -70 -94 -94h-195v-721l4 -42q0 -76 -103 -99q-76 0 -109 91l4 50v721h-167 q-79 0 -95 108q0 59 85 100l83 -4h90v42q0 268 230 365q43 21 133 30z" />
-<glyph horiz-adv-x="0" />
-</font>
-</defs></svg> 
\ No newline at end of file
diff --git a/hubs/static/css/fonts/Comfortaa_Bold-webfont.ttf b/hubs/static/css/fonts/Comfortaa_Bold-webfont.ttf
deleted file mode 100644
index d10f756..0000000
Binary files a/hubs/static/css/fonts/Comfortaa_Bold-webfont.ttf and /dev/null differ
diff --git a/hubs/static/css/fonts/Comfortaa_Bold-webfont.woff b/hubs/static/css/fonts/Comfortaa_Bold-webfont.woff
deleted file mode 100644
index 7d3d8aa..0000000
Binary files a/hubs/static/css/fonts/Comfortaa_Bold-webfont.woff and /dev/null differ
diff --git a/hubs/static/css/fonts/Comfortaa_Regular-webfont.eot b/hubs/static/css/fonts/Comfortaa_Regular-webfont.eot
deleted file mode 100644
index 224ec8e..0000000
Binary files a/hubs/static/css/fonts/Comfortaa_Regular-webfont.eot and /dev/null differ
diff --git a/hubs/static/css/fonts/Comfortaa_Regular-webfont.svg b/hubs/static/css/fonts/Comfortaa_Regular-webfont.svg
deleted file mode 100644
index b1b9d23..0000000
--- a/hubs/static/css/fonts/Comfortaa_Regular-webfont.svg
+++ /dev/null
@@ -1,505 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata>
-This is a custom SVG webfont generated by Font Squirrel.
-Designer    : Johan Aakerlund - aajohan
-Foundry     : Johan Aakerlund
-</metadata>
-<defs>
-<font id="webfontxbL3cos8" horiz-adv-x="1014" >
-<font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="508" />
-<glyph unicode=" "  horiz-adv-x="508" />
-<glyph unicode="&#x09;" horiz-adv-x="508" />
-<glyph unicode="&#xa0;" horiz-adv-x="508" />
-<glyph unicode="!" horiz-adv-x="511" d="M214 1442h12q60 0 73 -69v-955q-17 -72 -77 -72q-81 12 -81 69v962q14 65 73 65zM205 206h8q103 -15 103 -92v-22q0 -71 -95 -92h-12q-79 0 -99 103q21 103 95 103z" />
-<glyph unicode="&#x22;" horiz-adv-x="557" d="M159 1559q76 -19 76 -68q-21 -312 -52 -312l-28 -8q-50 0 -56 124l-20 184q16 80 80 80zM407 1559q51 0 72 -76q-29 -296 -44 -296q-17 -16 -32 -16h-4q-56 0 -56 136l-20 184q0 54 84 68z" />
-<glyph unicode="#" horiz-adv-x="1336" d="M996 1431q68 -19 68 -64v-11q0 -29 -76 -389h110l34 4q55 0 71 -76q-15 -75 -75 -75h-170l-37 -192h139q87 -8 87 -76q-14 -71 -72 -71v-4l-19 4h-166q-83 -419 -98 -449q-25 -34 -60 -34h-8q-67 14 -67 68v3l83 412h-215q-10 0 -53 -246q-41 -200 -53 -207 q-24 -34 -60 -34q-76 15 -76 75l83 412h-102l-22 -4q-57 0 -72 79v4q0 51 75 68h155l38 192h-136q-75 15 -75 75q12 72 67 72v4l38 -4h136q82 438 98 438q28 22 57 22q61 0 71 -75l-75 -385h219q80 415 94 434q28 30 64 30zM589 820l-38 -192h219l37 192h-218z" />
-<glyph unicode="$" d="M477 1652h20q50 0 65 -73v-128q93 -7 209 -112q43 -43 43 -66v-23q0 -50 -74 -62q-30 0 -96 73q-33 28 -82 43v-460q177 -65 252 -206q58 -109 58 -208q0 -278 -286 -403l-24 -4v-127q-18 -74 -73 -74q-77 16 -77 74v104q0 6 -89 19q-173 59 -248 182l-4 23q13 74 74 74 q40 0 108 -85q87 -57 159 -62v580q-132 41 -182 113q-101 104 -101 239v28q0 189 194 305q64 31 89 31v140q20 65 65 65zM276 1091v-31q0 -124 136 -198v414q-136 -67 -136 -185zM562 669v-511h4q155 91 155 232v39q0 143 -159 240z" />
-<glyph unicode="%" horiz-adv-x="1610" d="M452 1436h19q167 0 284 -152q68 -100 68 -205q0 -233 -242 -344q-69 -19 -114 -19h-7q-210 0 -322 204q-38 77 -38 156q0 236 250 344q51 16 102 16zM1286 1436h11q68 -14 68 -69v-15q0 -22 -140 -201l-860 -1136q-29 -15 -45 -15h-4q-72 15 -72 64v16q0 31 106 159 l894 1181q23 16 42 16zM248 1079v-7q0 -150 166 -205l38 -3h19q147 0 201 170l4 42q0 154 -163 208l-49 8q-152 0 -209 -159zM1149 723q211 0 333 -219q27 -80 27 -140v-12q0 -211 -223 -325q-69 -27 -137 -27h-7q-184 0 -303 178q-50 86 -50 170v23q0 190 190 307 q91 45 170 45zM933 364q0 -150 156 -209l53 -7h15q143 0 200 163l4 34v26q0 149 -174 201l-38 4q-159 0 -212 -178z" />
-<glyph unicode="&#x26;" horiz-adv-x="1457" d="M490 1433h19q193 0 285 -212q11 -48 11 -83v-19q0 -146 -155 -270l-38 -41l322 -323h4l155 156q26 19 49 19q70 0 80 -84q0 -42 -133 -159l-41 -45l216 -217q15 -19 15 -41v-12q-15 -72 -72 -72h-11q-42 0 -141 114l-121 118q-216 -235 -284 -235q-66 -27 -133 -27 q-220 0 -349 220q-38 89 -38 171q0 194 212 367l46 50q-186 173 -186 258q-8 0 -8 68q0 187 201 284q54 15 95 15zM354 1149v-30q0 -77 144 -198h4q148 128 148 198v15q0 95 -114 140l-38 4q-92 0 -137 -99zM289 398v-19q0 -147 167 -212l57 -8q131 0 250 152l61 61 l-322 322h-4q-205 -182 -205 -265z" />
-<glyph unicode="'" horiz-adv-x="346" d="M172 1546q76 -19 76 -68q-21 -312 -52 -312l-28 -8q-50 0 -56 124l-20 184q16 80 80 80z" />
-<glyph unicode="(" horiz-adv-x="758" d="M603 1596h11q69 -13 69 -68v-12l-76 -203q-131 -353 -131 -724q0 -463 207 -915l4 -15q-14 -77 -73 -77h-7q-65 0 -104 138q-176 409 -176 873q0 498 222 977q28 26 54 26z" />
-<glyph unicode=")" horiz-adv-x="758" d="M140 1600h15q53 0 96 -138q176 -419 176 -866q0 -527 -229 -993q-29 -19 -50 -19h-8q-60 0 -73 77l81 202q130 368 130 729q0 453 -207 916l-4 15q13 77 73 77z" />
-<glyph unicode="*" horiz-adv-x="1024" d="M522 1559q76 -19 76 -76v-8l-52 -168v-4h4l160 100l24 4q76 -15 76 -76v-12q0 -41 -60 -68l-124 4h-72l152 -124l12 -32v-20q0 -59 -76 -72q-73 0 -88 112l-32 96h-4l-48 -164q-30 -44 -72 -44q-76 17 -76 68v16q0 47 92 100l76 64h-4l-196 -4q-60 24 -60 76v4 q0 61 80 76q29 0 136 -80l48 -24v4l-52 168v8q0 59 80 76z" />
-<glyph unicode="+" d="M512 1117h12q59 0 72 -76v-224h212q92 -8 92 -80q-15 -76 -76 -76v-4l-20 4h-208v-228q-14 -76 -76 -76h-4q-76 15 -76 68v236h-204l-24 -4q-60 0 -76 84v4q0 54 80 72h224v228q14 72 72 72z" />
-<glyph unicode="," horiz-adv-x="557" d="M254 282h16q136 -28 136 -136l4 -4l-4 -4v-4l8 -56v-16q0 -184 -184 -276q-37 -24 -60 -24q-42 0 -52 60q0 47 84 64q42 24 84 80l16 44l-48 -8q-148 25 -148 144v4q0 82 104 124q16 8 44 8z" />
-<glyph unicode="-" horiz-adv-x="670" d="M144 648h400q59 0 76 -80q-18 -76 -76 -76h-400q-65 0 -76 84q20 72 76 72z" />
-<glyph unicode="&#xad;" horiz-adv-x="670" d="M144 648h400q59 0 76 -80q-18 -76 -76 -76h-400q-65 0 -76 84q20 72 76 72z" />
-<glyph unicode="." horiz-adv-x="557" d="M269 274q105 0 135 -125v-24q0 -75 -96 -118q-14 -7 -39 -7h-4q-112 0 -135 139q0 88 100 128q14 7 39 7z" />
-<glyph unicode="/" horiz-adv-x="770" d="M628 1517q76 -13 76 -72v-20q-504 -1389 -556 -1516q-30 -32 -60 -32h-8q-62 0 -76 80q4 27 556 1524q35 36 68 36z" />
-<glyph unicode="0" horiz-adv-x="989" d="M446 1437q247 0 378 -265q72 -221 72 -408v-87q0 -231 -95 -465q-137 -212 -347 -212h-12q-228 0 -359 242q-83 213 -83 473v11q0 276 98 499q141 212 348 212zM136 737v-41q0 -261 95 -439q92 -113 208 -113h11q256 0 299 393q11 62 15 185q0 219 -76 420 q-94 151 -238 151q-175 0 -257 -193q-57 -189 -57 -363z" />
-<glyph unicode="1" horiz-adv-x="568" d="M305 1437h12q68 -15 68 -65v-1300q-13 -72 -72 -72h-4q-72 15 -72 64v1198q-102 -34 -133 -34q-47 0 -64 69v19q0 56 152 87z" />
-<glyph unicode="2" horiz-adv-x="976" d="M431 1436q204 0 355 -182q79 -120 79 -249q0 -197 -193 -378l-419 -480h563q56 0 68 -71v-4q-11 -72 -72 -72h-733q-71 13 -71 72v4q0 36 71 102l586 668q49 70 49 159q0 192 -200 268q-33 11 -76 11h-11q-184 0 -265 -196q-11 -41 -15 -98q-26 -53 -68 -53h-7 q-72 13 -72 68q0 226 215 370q115 61 216 61z" />
-<glyph unicode="3" horiz-adv-x="955" d="M445 1432q168 0 290 -151q68 -92 68 -203v-15q0 -156 -136 -275q196 -142 196 -358q0 -223 -211 -370q-109 -60 -215 -60h-11q-252 0 -392 260q-34 96 -34 173q0 53 79 68q57 0 68 -75q0 -162 170 -256q62 -23 120 -23q169 0 256 177q19 53 19 91v30q0 160 -177 248 l-124 27q-38 29 -38 64v4q0 71 102 71q74 0 154 98q30 64 30 117q0 122 -120 188q-43 23 -98 23q-140 0 -200 -151q-12 -109 -26 -109q-27 -30 -53 -30q-75 17 -75 64v19q0 196 196 313q75 37 162 41z" />
-<glyph unicode="4" horiz-adv-x="1103" d="M718 1425h23q41 0 64 -64l-4 -37v-752h117l34 3q52 0 71 -75q0 -51 -64 -75l-56 4h-102v-365q0 -49 -71 -64h-4q-72 13 -72 71v358h-507l-91 -4q-56 24 -56 68v15q0 26 38 56q602 783 635 835q24 26 45 26zM229 572h425v553z" />
-<glyph unicode="5" d="M157 1429l39 -4h575q60 0 75 -78q0 -58 -79 -75h-524v-379h215q252 0 395 -259q44 -107 44 -188q0 -231 -220 -383q-113 -63 -223 -63h-12q-261 0 -407 270q-35 103 -35 172q26 71 78 71q83 0 83 -133q49 -145 152 -196q80 -31 133 -31q196 0 278 199q16 40 16 94 q0 214 -227 286l-90 8h-262q-52 0 -71 63v559q0 42 67 67z" />
-<glyph unicode="6" horiz-adv-x="951" d="M569 1436q51 0 68 -76q0 -30 -91 -173l-188 -328v-4l57 4h33q206 0 351 -207q64 -114 64 -222q0 -214 -196 -358q-111 -72 -230 -72h-19q-205 0 -354 204q-64 116 -64 226q0 145 106 286l407 701q31 19 56 19zM151 448v-37q0 -155 177 -245q50 -15 102 -19q190 0 271 200 l11 71v15q0 198 -215 272l-71 7q-185 0 -268 -203z" />
-<glyph unicode="7" horiz-adv-x="964" d="M105 1429h728q68 -14 68 -60v-19q0 -20 -38 -76l-709 -1255q-28 -19 -49 -19h-3q-72 13 -72 72v11q10 36 660 1180l7 19h-580q-76 15 -76 75q16 72 64 72z" />
-<glyph unicode="8" horiz-adv-x="972" d="M447 1439q171 0 291 -152q68 -93 68 -204v-19q0 -150 -136 -273q197 -142 197 -359q0 -215 -197 -360q-111 -72 -231 -72h-19q-206 0 -356 204q-64 117 -64 228q0 224 212 374q-85 66 -114 182q-11 28 -11 76v19q0 190 182 306q91 50 178 50zM235 1068q0 -143 170 -201 l42 -4q149 0 204 159l8 53q0 157 -167 208l-49 4q-145 0 -201 -155zM148 435q0 -200 208 -276q28 -11 83 -11q188 0 269 208l8 57v38q0 161 -186 249q-52 16 -95 16q-203 0 -276 -209z" />
-<glyph unicode="9" horiz-adv-x="972" d="M431 1435q224 0 367 -214q60 -114 60 -213q0 -161 -131 -315l-502 -674q-27 -19 -49 -19q-75 15 -75 75q0 34 120 180l240 326h-4l-22 -4q-246 0 -386 232q-49 102 -49 199q0 238 232 378q101 49 199 49zM150 1023v-34q0 -149 165 -240q50 -22 116 -22q162 0 247 153 q30 57 30 124v4q0 191 -198 266q-28 11 -75 11h-23q-159 0 -247 -180q-15 -53 -15 -82z" />
-<glyph unicode=":" horiz-adv-x="557" d="M292 952q89 0 124 -104v-32q0 -75 -104 -112h-20q-124 19 -124 124q25 124 124 124zM280 284h16q95 0 120 -112v-20q0 -87 -120 -116q-128 22 -128 128q26 120 112 120z" />
-<glyph unicode=";" horiz-adv-x="557" d="M267 926q89 0 124 -104v-32q0 -75 -104 -112h-20q-124 19 -124 124q25 124 124 124zM291 258q128 0 128 -192v-4q0 -186 -224 -260h-20q-48 10 -48 48v16q12 48 56 48l24 -4q100 53 100 104l-12 -4q-132 21 -132 124q0 88 100 124h28z" />
-<glyph unicode="&#x37e;" horiz-adv-x="557" d="M267 926q89 0 124 -104v-32q0 -75 -104 -112h-20q-124 19 -124 124q25 124 124 124zM291 258q128 0 128 -192v-4q0 -186 -224 -260h-20q-48 10 -48 48v16q12 48 56 48l24 -4q100 53 100 104l-12 -4q-132 21 -132 124q0 88 100 124h28z" />
-<glyph unicode="&#x3c;" d="M830 1102q76 -19 76 -76v-8q0 -57 -132 -120q-5 -9 -428 -268q17 -17 536 -340q24 -28 24 -56v-4q0 -65 -80 -76q-31 0 -148 80l-536 332q-28 31 -28 60q0 59 112 108q571 368 596 368h8z" />
-<glyph unicode="=" d="M212 833h612q59 0 76 -80q-18 -76 -76 -76h-612q-65 0 -76 84q20 72 76 72zM216 501h604q80 -16 80 -80q-16 -76 -76 -76h-620q-56 0 -68 84q0 54 80 72z" />
-<glyph unicode="&#x3e;" d="M217 1120q29 0 236 -136q428 -264 460 -292q16 -21 16 -44v-8q0 -56 -96 -96q-583 -372 -604 -372h-16q-76 14 -76 76v4q0 58 128 120l432 276q-516 316 -540 340q-20 28 -20 52q16 80 80 80z" />
-<glyph unicode="?" horiz-adv-x="980" d="M497 1433q180 0 326 -159q102 -128 102 -280q0 -189 -170 -337q-175 -96 -175 -281q-11 -75 -75 -75q-72 16 -72 64v30q0 236 250 390q94 93 94 220q0 161 -170 257q-76 23 -121 23q-167 0 -261 -178l-27 -129q-32 -41 -64 -41q-76 16 -76 72q0 204 201 356 q123 68 238 68zM493 198h16q66 0 94 -83v-26q-18 -95 -106 -95q-98 21 -98 98q0 87 94 106z" />
-<glyph unicode="@" horiz-adv-x="2019" d="M936 1571h36q416 0 724 -356q212 -271 212 -596q0 -406 -276 -516q-71 -32 -144 -32h-28q-139 0 -164 52l-4 20l4 100v4q-176 -168 -380 -168h-32q-279 0 -464 280q-68 135 -68 272q0 306 300 484q128 60 248 60q311 0 492 -304q56 -124 56 -256v-384l28 -4 q149 0 232 148q40 97 40 212v52q0 325 -272 580q-237 196 -520 196q-418 0 -676 -368q-124 -200 -124 -428v-4q0 -378 312 -632q223 -164 488 -164q223 0 448 136l20 4q80 -16 80 -80q0 -98 -336 -192q-94 -24 -184 -24h-52q-347 0 -640 264q-296 298 -296 696 q0 405 328 712q280 236 612 236zM508 635v-12q0 -238 240 -360q76 -28 136 -28h32q199 0 328 200q48 94 48 180v16q0 230 -228 352q-79 36 -164 36h-4q-242 0 -364 -252q-24 -78 -24 -132z" />
-<glyph unicode="A" horiz-adv-x="1191" d="M556 1428q69 0 102 -139q454 -1182 458 -1210v-11q0 -56 -71 -68h-4q-66 0 -94 128l-169 439h-440l-206 -544q-30 -23 -53 -23h-8q-71 13 -71 71v4l128 346q335 873 364 969q34 38 64 38zM556 1142l-158 -428h323v4l-161 424h-4z" />
-<glyph unicode="B" horiz-adv-x="998" d="M127 1432l18 -3h230l15 3q172 0 294 -162q61 -90 61 -196v-11q0 -129 -102 -245q245 -135 245 -392q0 -258 -268 -396q-86 -30 -154 -30h-339q-72 13 -72 72v1285q11 72 72 72v3zM202 1282v-423h139q185 0 238 132q15 38 15 76v11q0 146 -170 200l-79 4h-143zM202 712 v-565h196q216 0 290 124q49 69 49 155v7q0 203 -222 272l-106 7h-207z" />
-<glyph unicode="C" horiz-adv-x="1363" d="M777 1436q223 0 416 -136q15 -29 15 -45v-8q0 -64 -79 -72h-4l-132 68q-132 42 -216 42q-269 0 -465 -246q-98 -165 -98 -321q0 -315 295 -499q131 -68 261 -68h11q166 0 336 106h23q68 -15 68 -68v-11q0 -80 -253 -155q-79 -23 -166 -23h-19q-355 0 -594 329 q-113 190 -113 389q0 373 340 608q182 110 374 110z" />
-<glyph unicode="D" horiz-adv-x="1195" d="M127 1441l19 -4h193l42 4q323 0 561 -281q152 -197 152 -447q0 -344 -303 -580q-192 -133 -406 -133h-258q-72 13 -72 72v1293q11 72 72 72v4zM203 1293v-1145h163q361 0 535 349q45 119 45 227q0 261 -231 455q-143 114 -425 114h-87z" />
-<glyph unicode="E" horiz-adv-x="1094" d="M135 1442l19 -4h744l15 4q65 0 76 -83q-15 -69 -83 -69h-695v-512h455l54 4q51 0 68 -76q0 -50 -61 -76l-76 4h-440v-486h713q53 0 65 -80q-20 -68 -68 -68h-786q-72 13 -72 72v1294q11 72 72 72v4z" />
-<glyph unicode="F" horiz-adv-x="1031" d="M127 1442l19 -4h744l15 4q65 0 76 -83q-15 -69 -83 -69h-695v-512h455l54 4q51 0 68 -76q0 -50 -61 -76l-76 4h-440v-539l4 -23q-17 -72 -72 -72h-8q-72 13 -72 72v1294q11 72 72 72v4z" />
-<glyph unicode="G" horiz-adv-x="1292" d="M745 1436q229 0 412 -128q19 -26 19 -49v-4q0 -58 -76 -72q-12 0 -147 64q-88 34 -170 34h-61q-211 0 -404 -204q-125 -171 -125 -351v-15q0 -294 272 -480q142 -80 284 -80h15q140 0 280 76v344h-273q-71 12 -71 72v3q12 72 71 72h352q56 0 68 -72v-419q0 -92 -45 -114 q-193 -113 -375 -113h-22q-355 0 -594 329q-113 186 -113 389q0 361 321 597q197 121 382 121z" />
-<glyph unicode="H" horiz-adv-x="1186" d="M110 1433h15q68 -14 68 -60v-598h712v587q12 71 68 71h11q68 -13 68 -68v-1301q0 -49 -72 -64h-4q-71 13 -71 72v560h-712v-564q0 -56 -71 -68h-4q-58 0 -72 76v1274q9 83 64 83z" />
-<glyph unicode="I" horiz-adv-x="539" d="M132 1448l19 -3h142l15 3q76 -16 76 -76q-13 -76 -72 -76h-16v-1147h23q50 0 65 -73v-4q-13 -72 -72 -72h-180q-72 13 -72 72v4q15 73 65 73h23v1147h-16q-63 0 -72 80v4q0 47 72 68z" />
-<glyph unicode="J" horiz-adv-x="1022" d="M862 1439h12q55 0 68 -72v-923q0 -239 -224 -383q-105 -61 -216 -61h-19q-220 0 -369 213q-68 113 -68 235q16 72 65 72h15q72 0 72 -118q6 -82 99 -182q91 -72 197 -72q211 0 289 220q11 40 11 80v923q13 68 68 68z" />
-<glyph unicode="K" horiz-adv-x="1112" d="M134 1434h3q72 -12 72 -68v-653q700 699 706 699l27 4h7q68 -13 68 -68v-12q0 -37 -79 -102l-465 -468l533 -660l3 -23v-11q0 -56 -71 -68h-4q-45 0 -125 117l-445 540l-155 -159v-434q0 -56 -72 -68h-3q-58 0 -72 75v1284q14 75 72 75z" />
-<glyph unicode="L" horiz-adv-x="997" d="M110 1433h15q68 -14 68 -60v-1226h617q61 0 72 -79q-20 -68 -72 -68h-692q-58 0 -72 76v1274q9 83 64 83z" />
-<glyph unicode="M" horiz-adv-x="1490" d="M124 1432h15q59 0 83 -98l480 -1073q19 22 336 748l186 400q22 23 49 23h15q55 0 64 -83v-1273q-14 -76 -72 -76h-4q-71 12 -71 68v941h-4q-423 -960 -438 -983q-29 -26 -57 -26q-66 0 -117 159l-378 846h-4v-937q0 -56 -71 -68h-4q-58 0 -72 76v1273q9 83 64 83z" />
-<glyph unicode="N" horiz-adv-x="1321" d="M102 1431h15q48 0 83 -75q56 -63 821 -1051q8 0 8 -11l3 -4h4v1073q13 68 68 68h11q56 0 68 -71v-1285q0 -62 -79 -75q-43 0 -132 132l-787 1005v-1065q0 -56 -72 -68h-3q-58 0 -72 75v1269q9 83 64 83z" />
-<glyph unicode="O" horiz-adv-x="1595" d="M756 1435q363 0 607 -336q110 -191 110 -385q0 -359 -325 -597q-184 -117 -385 -117h-15q-370 0 -604 344q-106 174 -106 377q0 343 302 578q196 136 416 136zM185 710q0 -274 242 -461q151 -102 321 -102h19q268 0 453 238q106 153 106 333q0 309 -283 490 q-140 80 -287 80q-283 0 -469 -246q-102 -147 -102 -332z" />
-<glyph unicode="P" horiz-adv-x="963" d="M110 1438h346q202 0 345 -209q53 -107 53 -193v-27q0 -189 -171 -326q-116 -80 -227 -80h-262v-535q0 -55 -72 -68h-4q-58 0 -72 76v1278q9 84 64 84zM194 1290v-539h235q190 0 262 182q15 38 15 91q0 167 -171 247q-42 19 -98 19h-243z" />
-<glyph unicode="Q" horiz-adv-x="1599" d="M764 1435q363 0 608 -336q109 -190 109 -385q0 -233 -155 -442v-4q159 -156 159 -189v-7q0 -56 -76 -72q-44 0 -143 121q-29 23 -42 45q-212 -166 -453 -166h-15q-369 0 -604 344q-106 174 -106 377q0 343 302 578q197 136 416 136zM193 710q0 -274 242 -461 q151 -102 321 -102h19q188 0 344 125q-153 166 -170 193v26q13 68 68 68h11q38 0 125 -106l71 -72h4q106 162 106 337q0 309 -283 491q-139 79 -287 79q-283 0 -469 -246q-102 -147 -102 -332z" />
-<glyph unicode="R" horiz-adv-x="976" d="M106 1435h315q201 0 329 -212q41 -82 41 -171v-15q0 -198 -193 -325l-37 -19q344 -593 344 -606v-19q0 -56 -72 -68h-4q-54 0 -113 129l-311 530h-215v-591q0 -56 -72 -68h-4q-58 0 -72 76v1275q9 84 64 84zM190 1291v-485h215q179 0 235 193l4 31v30q0 142 -159 216 q-45 15 -140 15h-155z" />
-<glyph unicode="S" horiz-adv-x="926" d="M454 1437q186 0 310 -168l4 -16v-23q0 -49 -73 -61q-30 0 -103 81q-66 42 -126 42h-23q-126 0 -191 -134q-15 -32 -15 -65v-31q0 -145 175 -210q126 0 272 -118q141 -143 141 -314q0 -210 -180 -344q-110 -76 -244 -76q-217 0 -359 187l-8 31q13 72 73 72q40 0 103 -80 q94 -65 172 -65h34q152 0 245 172q15 56 15 84v38q0 151 -172 245l-195 54q-218 125 -218 328v27q0 200 214 313q80 31 149 31z" />
-<glyph unicode="T" horiz-adv-x="1225" d="M102 1436h933q68 -13 68 -68v-15q0 -55 -83 -64h-376v-1221q0 -56 -72 -68h-3q-58 0 -72 76v1213h-383q-76 15 -76 75q16 72 64 72z" />
-<glyph unicode="U" horiz-adv-x="1168" d="M104 1433h15q68 -14 68 -60v-806q0 -260 148 -348q93 -72 208 -72q221 0 333 227q23 71 23 148v840q12 71 68 71h11q68 -13 68 -68v-881q0 -225 -216 -393q-136 -91 -276 -91h-26q-235 0 -409 231q-79 124 -79 306v813q9 83 64 83z" />
-<glyph unicode="V" horiz-adv-x="1246" d="M114 1441q62 0 102 -159l372 -986h3l417 1115q31 30 61 30h4q58 0 72 -76l-478 -1289q-17 -76 -76 -76h-3q-68 0 -103 148q-451 1190 -451 1213v8q0 60 80 72z" />
-<glyph unicode="W" horiz-adv-x="1777" d="M102 1436h16q64 0 83 -114l280 -973h8q292 1031 311 1061q25 26 53 26h11q67 0 87 -136q27 -74 277 -955h4l307 1057q27 34 53 34h15q68 -14 68 -60v-19l-383 -1327q-31 -30 -60 -30h-4q-71 0 -91 140q-246 836 -277 959h-3l-307 -1065q-28 -34 -61 -34h-15 q-62 0 -84 144q-325 1106 -352 1220q16 72 64 72z" />
-<glyph unicode="X" horiz-adv-x="1300" d="M93 1437h16q44 0 72 -56l425 -543l458 588q20 11 38 11h12q55 0 68 -72v-3q0 -33 -102 -152l-383 -493l477 -611l8 -30v-4q-13 -72 -72 -72h-4q-49 0 -83 72l-417 531l-459 -588q-20 -15 -42 -15h-4q-72 13 -72 72v11q0 25 163 224l322 417q-470 596 -481 619l-4 22 q16 72 64 72z" />
-<glyph unicode="Y" horiz-adv-x="1153" d="M106 1433h16q49 0 79 -72l345 -516h4q372 562 387 573q20 15 34 15h23q46 0 64 -72q0 -32 -129 -209l-307 -458v-611q-9 -83 -64 -83h-16q-49 0 -68 61v621q0 14 -159 251l-269 405l-4 23q16 72 64 72z" />
-<glyph unicode="Z" horiz-adv-x="1271" d="M98 1437h1021q55 0 68 -72v-3q0 -29 -83 -126l-842 -1088h853q72 -11 72 -72v-4q-13 -72 -72 -72h-1009q-60 0 -72 80q0 28 182 254l740 956h-846q-76 15 -76 75q16 72 64 72z" />
-<glyph unicode="[" horiz-adv-x="779" d="M319 1581l40 -4h292l44 4q72 -25 72 -72v-12q0 -50 -64 -76l-68 4h-232v-1692h292q72 -16 72 -68v-12q0 -66 -84 -76h-356q-80 16 -80 80v1832q7 88 72 88v4z" />
-<glyph unicode="\" horiz-adv-x="691" d="M76 1548h4q76 0 116 -172l508 -1388q-14 -80 -76 -80h-16q-61 0 -104 168q-472 1272 -508 1392q12 80 76 80z" />
-<glyph unicode="]" horiz-adv-x="758" d="M94 1581l60 -4h276l44 4q72 -20 72 -76v-1860q0 -53 -76 -68h-368q-66 0 -76 84v4q0 49 76 72l20 -4h268v1692h-220l-76 -4q-68 23 -68 80q0 55 68 80z" />
-<glyph unicode="^" horiz-adv-x="942" d="M384 1434h16q53 0 112 -116q232 -351 232 -372v-24q0 -56 -84 -68q-50 0 -140 168l-128 188l-220 -340q-34 -16 -56 -16q-54 0 -72 80q0 32 80 148q207 328 228 340z" />
-<glyph unicode="_" horiz-adv-x="958" d="M75 -29h885q74 -13 74 -70v-12q-14 -70 -70 -70h-889q-63 0 -74 82q20 70 74 70z" />
-<glyph unicode="`" horiz-adv-x="752" d="M283 1411h12q39 0 108 -84q180 -169 180 -192l4 -20q-16 -76 -76 -76h-8q-44 0 -164 136q-128 111 -128 156v12q0 52 72 68z" />
-<glyph unicode="a" horiz-adv-x="1199" d="M554 1023q290 0 459 -284q52 -115 52 -239v-433q0 -55 -71 -67h-4q-48 0 -71 56v4l4 93v4q-165 -157 -355 -157h-29q-260 0 -434 261q-63 126 -63 254q0 285 280 452q119 56 232 56zM188 519v-11q0 -223 224 -336q71 -26 127 -26h29q186 0 307 186q44 88 44 168v15 q0 215 -212 329q-74 33 -153 33h-4q-226 0 -340 -235q-22 -73 -22 -123z" />
-<glyph unicode="b" horiz-adv-x="1230" d="M141 1432h11q68 -15 68 -65v-491q165 159 371 159q199 0 362 -151q155 -163 155 -366q0 -291 -276 -458q-119 -60 -230 -60h-30q-209 0 -389 196q-110 147 -110 348v823q0 50 68 65zM220 529v-19q0 -231 242 -344q65 -19 117 -19h23q225 0 340 242q19 73 19 113v23 q0 230 -246 344q-75 19 -117 19h-15q-225 0 -340 -238q-23 -67 -23 -121z" />
-<glyph unicode="c" horiz-adv-x="1036" d="M547 1026q198 0 360 -149q11 -20 11 -38v-4q-13 -71 -71 -71h-4q-27 0 -120 71q-83 42 -165 42h-22q-218 0 -330 -229q-26 -77 -26 -139q0 -222 229 -337q69 -26 146 -26q129 0 254 105l30 7h12q55 0 67 -71v-3q0 -77 -240 -169q-81 -15 -120 -15h-30q-207 0 -385 195 q-109 154 -109 318q0 250 221 420q141 93 292 93z" />
-<glyph unicode="d" horiz-adv-x="1200" d="M982 1432h15q68 -14 68 -61v-748l4 -128q0 -148 -121 -310q-171 -185 -385 -185h-30q-209 0 -389 196q-110 156 -110 322q0 251 223 423q142 94 295 94q197 0 370 -155v427l-4 60q21 65 64 65zM181 529v-19q0 -231 242 -344q65 -19 117 -19h23q225 0 340 242 q19 73 19 113v23q0 230 -246 344q-75 19 -117 19h-15q-225 0 -340 -238q-23 -67 -23 -121z" />
-<glyph unicode="e" horiz-adv-x="1166" d="M543 1025q296 0 460 -281q56 -110 56 -239v-19q-13 -75 -71 -75h-789q44 -149 190 -228q86 -33 161 -33q87 0 199 56h22q67 -13 67 -68v-11q0 -92 -269 -127h-26q-276 0 -442 258q-67 122 -67 255q0 281 266 448q129 64 243 64zM187 557h719q0 77 -90 199 q-123 116 -243 116h-41q-180 0 -296 -176q-40 -70 -49 -139z" />
-<glyph unicode="f" horiz-adv-x="866" d="M598 1437h91q52 0 64 -80q0 -51 -76 -68h-57q-138 0 -182 -152l-3 -79v-53h163l60 3q48 0 65 -72v-11q0 -48 -69 -65h-219v-750l3 -42q0 -51 -75 -68q-52 0 -76 64l4 46v750h-198q-52 0 -64 80q0 38 61 68l75 -3h122v68q0 254 223 348z" />
-<glyph unicode="g" horiz-adv-x="1208" d="M548 1021q227 0 394 -189q115 -158 115 -298l-4 -126v-449q0 -126 -193 -275q-149 -97 -312 -97q-279 0 -461 249q-33 55 -33 74v11q0 49 67 64h11q50 0 85 -93q134 -168 331 -168q237 0 357 216l7 48v167q-165 -152 -353 -152h-30q-205 0 -382 193q-108 153 -108 316 q0 248 219 416q140 93 290 93zM184 523v-18q0 -227 238 -338q64 -19 115 -19h22q222 0 335 238q18 71 18 111v23q0 226 -241 338q-75 18 -116 18h-14q-222 0 -335 -234q-22 -65 -22 -119z" />
-<glyph unicode="h" horiz-adv-x="1125" d="M137 1430h15q68 -14 68 -60v-461q145 125 310 125q252 0 403 -238q57 -106 57 -200v-528q0 -56 -72 -68h-3q-54 0 -72 68v506q0 204 -211 294q-51 15 -102 15q-210 0 -295 -223q-15 -48 -15 -158v-434q0 -56 -72 -68h-3q-54 0 -72 68v1291q15 71 64 71z" />
-<glyph unicode="i" horiz-adv-x="431" d="M177 1286q72 -18 72 -64v-22q0 -53 -79 -64q-51 0 -68 75q15 75 75 75zM177 1030q72 -18 72 -64v-898q0 -56 -72 -68h-4q-57 0 -71 75v869q9 86 75 86z" />
-<glyph unicode="j" horiz-adv-x="656" d="M436 1277q74 -15 74 -74q0 -62 -78 -74q-66 19 -66 63v22q0 45 70 63zM440 1026q70 -14 70 -70v-928q0 -276 -262 -403q-92 -33 -159 -33l-4 4h-4l-3 -4h-4q-63 0 -74 81q0 55 81 67q208 0 277 210l8 111v895q0 58 74 70z" />
-<glyph unicode="k" horiz-adv-x="1056" d="M141 1435h15q69 -15 69 -61v-746q535 354 624 405h19q60 0 72 -79q0 -46 -121 -110q-294 -199 -307 -201v-3l424 -538l4 -23v-3q-13 -72 -72 -72h-7q-44 0 -133 128l-341 424h-3l-159 -102v-386q0 -56 -72 -68h-4q-54 0 -72 68v1295q15 72 64 72z" />
-<glyph unicode="l" horiz-adv-x="473" d="M129 1427h15q68 -14 68 -60v-1220h79q49 0 64 -72v-3q-12 -72 -72 -72h-146q-58 0 -72 75v1270q9 82 64 82z" />
-<glyph unicode="m" horiz-adv-x="1675" d="M137 1006q70 -18 70 -62v-37q122 99 265 99q190 0 334 -176q59 109 242 165l84 11q230 0 364 -220q44 -92 44 -176v-548q0 -48 -70 -62h-3q-70 12 -70 70v532q0 181 -191 250l-51 7h-37q-152 0 -232 -176q-11 -39 -11 -66v-544q-13 -73 -69 -73h-4q-70 12 -70 66v452 q0 188 -51 235q-79 106 -206 106h-11q-175 0 -246 -187q-11 -45 -11 -118v-488q0 -54 -70 -66h-3q-56 0 -70 73v849q8 84 73 84z" />
-<glyph unicode="n" horiz-adv-x="1197" d="M153 1023q71 -18 71 -64v-82q162 146 354 146q211 0 374 -176q119 -147 119 -309v-475q0 -49 -71 -63h-4q-71 13 -71 71v418q0 281 -242 370q-59 15 -105 15h-11q-203 0 -314 -210q-29 -64 -29 -205v-392q0 -55 -71 -67h-4q-57 0 -71 75v862q9 86 75 86z" />
-<glyph unicode="o" horiz-adv-x="1170" d="M547 1018q197 0 357 -149q152 -160 152 -360q0 -286 -271 -450q-117 -59 -227 -59h-30q-205 0 -382 193q-108 153 -108 316q0 248 219 416q140 93 290 93zM187 520v-18q0 -204 197 -316q71 -37 152 -37h22q211 0 323 219q26 69 26 134v18q0 170 -156 286q-91 63 -208 63 q-231 0 -338 -241q-18 -59 -18 -108z" />
-<glyph unicode="p" horiz-adv-x="1172" d="M566 1020q196 0 355 -148q152 -160 152 -359q0 -285 -270 -448q-117 -59 -226 -59h-30q-176 0 -344 152v-511q0 -47 -74 -63q-53 0 -70 74v822q0 384 363 518q45 14 144 22zM207 524v-19q0 -202 196 -314q71 -37 152 -37h22q211 0 322 218q26 69 26 133v19 q0 169 -155 285q-92 63 -208 63q-230 0 -336 -241q-19 -59 -19 -107z" />
-<glyph unicode="q" horiz-adv-x="1178" d="M550 1010q195 0 354 -147q151 -147 151 -391v-818q-17 -74 -70 -74q-74 16 -74 63v508q-164 -151 -350 -151h-29q-204 0 -380 192q-107 152 -107 313q0 246 217 413q140 92 288 92zM192 516v-18q0 -202 196 -313q70 -37 151 -37h22q210 0 321 217q26 69 26 133v18 q0 168 -155 284q-91 63 -207 63q-229 0 -335 -240q-19 -58 -19 -107z" />
-<glyph unicode="r" horiz-adv-x="925" d="M174 1031q72 -18 72 -64v-83q165 147 353 147q101 0 215 -49q30 -31 30 -60v-4q-12 -71 -71 -71h-4q-103 33 -155 33h-22q-221 0 -324 -229q-22 -61 -22 -139v-444q0 -56 -72 -68h-4q-57 0 -71 75v869q9 87 75 87z" />
-<glyph unicode="s" horiz-adv-x="968" d="M445 1017q257 0 404 -233l3 -29v-4q0 -59 -74 -70q-49 0 -100 85q-103 100 -233 100q-171 0 -270 -163l-3 -19q0 -49 111 -59q426 -103 466 -118q107 -70 107 -178v-3q0 -154 -226 -282q-97 -44 -207 -44q-225 0 -381 211q-15 22 -15 41v22q0 54 82 63q35 0 100 -93 q99 -92 229 -92q156 0 259 148l7 22v4q0 48 -66 55q-497 111 -526 137q-92 70 -92 170q0 140 203 270q112 59 222 59z" />
-<glyph unicode="t" horiz-adv-x="704" d="M270 1390h14q66 -14 66 -59v-330h151l33 4q51 0 69 -74q0 -50 -62 -73l-55 4h-136v-539q0 -141 92 -173l84 -7h41q48 0 62 -70v-3q-12 -70 -70 -70h-77q-175 0 -260 191q-15 47 -15 110v561h-73l-59 -4q-62 22 -62 73q12 70 66 70v4l37 -4h91v308q9 81 63 81z" />
-<glyph unicode="u" horiz-adv-x="1188" d="M145 1027q71 -18 71 -64v-401q0 -257 146 -345q93 -71 207 -71q218 0 329 225q23 73 23 146v435q15 75 75 75q71 -16 71 -71v-892q0 -50 -71 -64h-4q-71 13 -71 71v71h-4q-156 -142 -337 -142h-26q-233 0 -405 229q-79 123 -79 303v409q9 86 75 86z" />
-<glyph unicode="v" horiz-adv-x="1132" d="M97 1029h7q59 0 102 -124l322 -661q350 742 372 766q26 19 49 19q75 -14 75 -71v-4q0 -19 -165 -361l-278 -570q-30 -23 -53 -23h-3q-64 0 -113 143q-363 742 -383 800v18q13 68 68 68z" />
-<glyph unicode="w" horiz-adv-x="1416" d="M108 1009q68 0 95 -148l181 -555h3q207 659 221 677q26 22 56 26q66 0 88 -122l188 -581h3q199 631 217 670q31 33 59 33q74 -15 74 -74l-291 -906q-31 -29 -59 -29h-3q-68 0 -96 144q-177 536 -177 552h-7l-214 -663q-25 -33 -59 -33h-3q-52 0 -74 66l-276 869 q15 74 74 74z" />
-<glyph unicode="x" horiz-adv-x="968" d="M111 1006q45 0 114 -106q188 -225 228 -283h4q32 32 301 371q13 12 47 18q70 -17 70 -62v-22q0 -23 -132 -177l-195 -246q327 -393 327 -411v-22q0 -54 -70 -66h-3q-43 0 -96 84l-249 305q-294 -367 -309 -378q-18 -11 -37 -11h-3q-59 0 -70 77q0 29 140 187l187 239 l-320 400l-7 30q15 73 73 73z" />
-<glyph unicode="y" horiz-adv-x="913" d="M751 1012q69 -13 69 -66v-4q-3 -25 -345 -840q-161 -401 -181 -426q-18 -14 -45 -21q-70 15 -70 60v17q0 13 157 391v3l-332 810v3q14 69 70 69q59 0 101 -138q227 -538 234 -566h3q274 669 290 687q25 21 49 21z" />
-<glyph unicode="z" horiz-adv-x="1018" d="M104 1012l37 -4h639l34 4q66 -20 66 -63v-22q0 -23 -85 -115l-532 -668h551q66 -13 66 -66v-12q0 -54 -70 -66h-702q-59 0 -70 78q0 29 151 203l466 587h-495l-59 -4q-63 22 -63 74q12 70 66 70v4z" />
-<glyph unicode="{" d="M683 1590h140q67 0 84 -61v-23q0 -48 -68 -64h-145q-72 0 -72 -76v-579q0 -47 -46 -121q49 -55 49 -130v-586q0 -61 73 -61h141q68 -14 68 -68v-15q0 -50 -72 -65h-149q-150 0 -205 167l-4 50v574q0 50 -53 61h-84q-76 15 -76 76q16 73 65 73h61q83 0 83 53v574 q0 166 168 217z" />
-<glyph unicode="|" d="M504 1619h8q69 -13 69 -69v-1908q0 -48 -77 -65q-58 0 -73 81v1884q13 77 73 77z" />
-<glyph unicode="}" d="M177 1578h154q141 0 198 -157l4 -34v-580q0 -64 86 -64h60q60 -18 60 -67v-15q0 -50 -71 -64h-79q-60 0 -60 -94v-554q0 -126 -157 -187l-45 -4h-150q-71 11 -71 71v4q12 71 67 71h139q71 0 71 60v562q0 85 49 146q-45 65 -45 120v580q0 60 -71 60h-143q-55 0 -67 71 q11 75 71 75z" />
-<glyph unicode="~" d="M373 851h24q92 0 212 -81l38 -10h24l96 29q96 -19 96 -96q0 -97 -182 -120h-34q-91 0 -211 82l-39 9h-24l-91 -24h-10q-86 17 -86 87v14q0 72 106 96q38 14 81 14z" />
-<glyph unicode="&#xa1;" horiz-adv-x="672" d="M300 1327h14q62 0 87 -63l7 -28q0 -85 -101 -98q-76 0 -91 98q20 91 84 91zM310 1065h4q66 -11 66 -66v-929q-10 -66 -66 -66h-7q-63 12 -63 63v935q0 52 66 63z" />
-<glyph unicode="&#xa2;" horiz-adv-x="1105" d="M772 1387h11q66 -12 66 -66v-11l-117 -343q179 -82 179 -147v-3q-12 -70 -69 -70h-4q-27 0 -117 70l-37 14l-234 -673q42 -14 106 -14q126 0 249 102l29 8h11q54 0 66 -70v-4q0 -74 -234 -164q-79 -15 -117 -15h-29q-49 0 -132 22q-93 -286 -113 -300l-48 -18 q-73 17 -73 73q0 14 106 307q-223 166 -223 417q0 271 260 439q128 62 245 62l40 -3q117 354 132 365q24 22 47 22zM191 499q0 -156 128 -271h3l220 629h-4q-212 0 -322 -223q-25 -76 -25 -135z" />
-<glyph unicode="&#xa3;" horiz-adv-x="946" d="M488 1473h39q182 0 309 -170l4 -27q-18 -77 -77 -77q-36 0 -101 73q-66 50 -135 50h-23q-153 0 -216 -181l-4 -50q0 -78 139 -317h232q77 -15 77 -77q-17 -74 -66 -74h-205l4 -27v-50q0 -126 -108 -340l-19 -46h390q7 0 42 81q32 31 62 31q78 -16 78 -78q0 -27 -74 -162 q-27 -23 -54 -23h-568q-59 0 -73 77q0 18 150 344q24 69 24 128l-4 65h-159q-73 14 -73 74q15 77 77 77h89v4q-112 204 -112 316q0 231 243 356q76 23 112 23z" />
-<glyph unicode="&#xa4;" d="M254 1047h20q36 0 108 -80q64 36 124 36h24q73 0 136 -36q69 80 100 80h28q64 -20 64 -72v-8q0 -38 -80 -112q36 -69 36 -140q0 -63 -36 -148q80 -64 80 -104v-16q-21 -68 -68 -68h-20q-27 0 -104 80h-4q-64 -36 -144 -36q-53 0 -140 36q-65 -80 -108 -80h-8 q-72 14 -72 72v12q0 42 80 108q-36 71 -36 128v20q0 69 36 140q-80 65 -80 104v20q20 64 64 64zM382 715q0 -100 116 -140h28q109 0 136 124v28q-29 124 -124 124l-12 4q-144 -24 -144 -140z" />
-<glyph unicode="&#xa5;" horiz-adv-x="1262" d="M144 1230h169q61 0 74 -77q0 -47 -70 -67q223 -344 294 -442h8q302 438 302 450h-4q-41 25 -41 55v18q19 63 74 63h144q61 0 73 -77q0 -33 -58 -70l-107 -159h73q85 -8 85 -70v-7q0 -53 -70 -66h-188l-107 -162h288q77 -15 77 -70v-4q0 -60 -74 -70v-4l-36 4h-354v-409 q0 -49 -74 -66h-3q-62 0 -85 59l4 63v346l-8 7h-350l-33 -4q-77 16 -77 74q0 60 77 74h291q-105 162 -110 162h-192q-66 19 -66 70q0 65 85 73h81q-105 165 -114 166q-52 23 -52 74q0 49 74 66z" />
-<glyph unicode="&#xa6;" horiz-adv-x="770" d="M359 1615h8q69 -13 69 -69v-681q0 -56 -73 -69h-4q-59 0 -73 77v665q13 77 73 77zM363 396q73 -19 73 -65v-693q0 -48 -77 -65q-58 0 -73 81v654q9 88 77 88z" />
-<glyph unicode="&#xa7;" d="M511 1440h35q165 0 291 -151l4 -23q-10 -63 -54 -63h-19q-20 0 -94 70q-67 43 -143 43q-181 0 -241 -202v-46q0 -155 175 -229q188 -29 237 -82q124 -110 124 -233v-50q0 -116 -136 -233q163 -124 163 -303q0 -204 -194 -322q-87 -43 -167 -43h-12q-182 0 -306 155l-4 24 q0 52 70 62q24 0 85 -62q76 -55 155 -55q162 0 233 171l12 66q0 182 -202 248q-121 15 -171 47q-167 113 -167 268v19q0 158 140 253q-163 129 -163 299v15q0 205 198 318q76 39 151 39zM313 520v-15q0 -132 148 -183l39 -4h23q123 0 175 148l4 39q0 143 -163 190l-39 4 q-130 0 -183 -144z" />
-<glyph unicode="&#xa8;" horiz-adv-x="1024" d="M292 1309q80 -19 80 -80q-16 -80 -80 -80q-80 16 -80 80q19 80 80 80zM744 1309q80 -19 80 -80q-16 -80 -80 -80q-80 16 -80 80q19 80 80 80z" />
-<glyph unicode="&#xa9;" horiz-adv-x="1674" d="M833 1441q361 0 599 -324q120 -183 120 -399q0 -386 -358 -621q-171 -98 -369 -98q-325 0 -561 279q-154 206 -154 440q0 352 309 591q196 132 414 132zM219 729v-18q0 -324 309 -528q157 -79 305 -79q314 0 516 283q98 158 98 335q0 318 -294 523q-157 87 -301 87h-38 q-281 0 -482 -256q-113 -163 -113 -347zM844 1230q189 0 350 -143q15 -20 15 -41v-8q0 -64 -79 -71h-3q-15 0 -125 79q-95 37 -165 37q-227 0 -343 -233q-23 -65 -23 -124v-27q0 -183 185 -305q95 -49 181 -49q134 0 267 110l30 7q75 -10 75 -71v-8q0 -72 -218 -162 q-96 -22 -154 -22q-298 0 -463 289q-53 116 -53 230q0 267 248 437q123 75 275 75z" />
-<glyph unicode="&#xaa;" horiz-adv-x="648" d="M289 1397h32q150 0 228 -168l16 -76l-4 -64v-140l4 -24q-7 -27 -28 -36h-12q-22 0 -36 24v48q-86 -72 -172 -72h-8q-184 0 -248 196q-8 20 -8 60q0 176 196 248zM129 1137q0 -130 156 -172h32q117 0 168 140l4 40q0 118 -132 172l-48 8q-121 0 -176 -136z" />
-<glyph unicode="&#xab;" horiz-adv-x="944" d="M510 812q44 -14 44 -32v-20q0 -20 -184 -236l-24 -32q212 -242 212 -268q-8 -44 -40 -44h-20q-35 26 -252 296l-4 20q0 22 120 160q120 152 140 152l4 4h4zM766 808q36 -19 36 -44v-4q0 -21 -204 -260l-4 -12q196 -228 208 -252v-20q-8 -40 -40 -40h-4q-31 0 -104 104 q-164 185 -164 208v20q204 258 252 296z" />
-<glyph unicode="&#xac;" d="M147 752h712q72 -14 72 -72v-348q0 -53 -76 -68h-4q-76 14 -76 76v256h-616q-80 16 -80 80q17 76 68 76z" />
-<glyph unicode="&#xae;" horiz-adv-x="1674" d="M828 1446q364 0 604 -325q121 -184 121 -400q0 -387 -360 -623q-173 -98 -372 -98q-328 0 -565 279q-156 208 -156 442q0 353 311 593q198 132 417 132zM210 732v-18q0 -325 311 -529q158 -79 307 -79q317 0 520 283q99 159 99 336q0 319 -296 525q-158 87 -304 87h-38 q-283 0 -485 -257q-114 -164 -114 -348zM616 1216h186q205 0 269 -208q8 -21 8 -64q0 -149 -156 -234q225 -388 235 -416v-7q-16 -45 -45 -45h-15q-34 0 -80 98l-201 347h-148v-396q-7 -49 -42 -49h-26q-34 19 -34 45v876q8 53 49 53zM669 1114v-329h95q160 0 197 98 q15 35 15 72q0 106 -121 151q-17 8 -49 8h-137z" />
-<glyph unicode="&#xaf;" horiz-adv-x="806" d="M-12 1776h844q70 -13 70 -70v-12q-13 -70 -67 -70h-847q-60 0 -70 82q19 70 70 70z" />
-<glyph unicode="&#xb0;" horiz-adv-x="674" d="M340 1341q-74 0 -127 -52.5t-53 -127.5t52.5 -126.5t127.5 -51.5t126.5 51.5t51.5 126.5t-52 127.5t-126 52.5zM339 1442q115 0 196 -81.5t81 -196.5q0 -114 -82 -196t-197 -82q-117 0 -197 81t-80 197t81.5 197t197.5 81z" />
-<glyph unicode="&#xb1;" d="M513 1188h24q43 0 68 -68l-4 -40v-192h224q80 -13 80 -76v-8q0 -56 -72 -76l-28 4h-204v-188l4 -44q0 -54 -80 -72q-55 0 -80 68l4 48v188h-204l-24 -4q-76 19 -76 76v8q0 61 80 76h224v192l-4 36q22 72 68 72zM213 368l48 -4h536l36 4q72 -20 72 -76v-8q0 -51 -64 -76 l-68 4h-496l-64 -4q-68 23 -68 76v8q0 50 68 76z" />
-<glyph unicode="&#xb2;" d="M506 1537q95 0 166 -86q37 -56 37 -116q0 -93 -90 -177l-197 -225h264q26 0 32 -33v-2q-5 -34 -34 -34h-343q-33 6 -33 34v2q0 16 33 47l274 313q23 33 23 75q0 90 -93 125q-16 5 -36 5h-5q-86 0 -124 -91q-5 -20 -7 -46q-12 -25 -32 -25h-3q-34 6 -34 32q0 106 101 173 q54 29 101 29z" />
-<glyph unicode="&#xb3;" d="M503 1543q80 0 138 -72q32 -44 32 -97v-7q0 -74 -64 -131q93 -67 93 -170q0 -106 -100 -176q-52 -29 -103 -29h-5q-120 0 -187 124q-16 46 -16 82q0 25 38 33q27 0 32 -36q0 -77 81 -122q30 -11 57 -11q81 0 122 84q9 26 9 44v14q0 76 -84 118l-59 13q-18 14 -18 30v2 q0 34 48 34q35 0 74 47q14 30 14 56q0 58 -57 89q-21 11 -47 11q-67 0 -95 -72q-6 -52 -13 -52q-12 -14 -25 -14q-36 8 -36 30v9q0 94 94 149q36 18 77 20z" />
-<glyph unicode="&#xb4;" horiz-adv-x="889" d="M516 1414q68 0 80 -88q0 -40 -184 -204q-68 -84 -108 -84h-12q-72 14 -72 72v16q0 34 140 160q113 128 156 128z" />
-<glyph unicode="&#xb5;" horiz-adv-x="1180" d="M194 1019q70 -18 70 -63v-399q0 -257 146 -343q92 -71 205 -71q218 0 328 224q23 72 23 145v433q15 74 74 74q71 -16 71 -71v-887q0 -49 -71 -64h-3q-71 13 -71 71v71h-4q-156 -142 -336 -142h-26q-175 0 -336 146v-508q0 -47 -74 -63q-56 0 -71 78v1284q9 85 75 85z" />
-<glyph unicode="&#xb6;" horiz-adv-x="1024" d="M403 1435h462q68 -15 68 -61v-19q0 -56 -72 -68h-11v-1211q-14 -76 -72 -76h-4q-72 12 -72 68v1219h-140v-1215q-12 -72 -72 -72h-4q-72 13 -72 72v674h-11q-186 0 -299 196q-34 75 -34 152q0 201 204 310q62 31 129 31z" />
-<glyph unicode="&#xb7;" horiz-adv-x="508" d="M275 746q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6z" />
-<glyph unicode="&#x2219;" horiz-adv-x="508" d="M275 746q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6z" />
-<glyph unicode="&#xb8;" horiz-adv-x="1024" d="M548 37q66 -13 66 -59v-56q104 -69 104 -170q0 -146 -170 -188l-49 3h-52l-56 -3q-59 20 -59 59v14q12 63 63 63h121q66 0 66 52v3q0 40 -62 52q-42 20 -42 53v111q0 53 70 66z" />
-<glyph unicode="&#xb9;" d="M535 1564h5q32 -7 32 -31v-611q-6 -34 -34 -34h-1q-34 7 -34 30v564q-48 -16 -63 -16q-22 0 -30 32v9q0 26 72 41z" />
-<glyph unicode="&#xba;" horiz-adv-x="718" d="M370 1543q107 0 164 -115q31 -96 31 -177v-38q0 -100 -41 -201q-59 -92 -150 -92h-6q-98 0 -155 105q-36 92 -36 205v5q0 119 42 216q62 92 151 92zM236 1239v-17q0 -114 41 -191q40 -49 90 -49h5q111 0 129 171q5 27 7 80q0 95 -33 182q-41 65 -103 65q-76 0 -111 -83 q-25 -82 -25 -158z" />
-<glyph unicode="&#xbb;" horiz-adv-x="944" d="M499 803q31 0 108 -108q160 -180 160 -204v-20q-195 -249 -256 -300h-28q-19 9 -28 28v20q0 25 204 256l4 16q-208 239 -208 264q10 48 44 48zM255 799q30 0 124 -128q144 -161 144 -188q0 -22 -204 -260q-39 -56 -64 -56h-4q-44 8 -44 44q0 25 108 148l104 128 q-197 229 -208 252v20q0 32 44 40z" />
-<glyph unicode="&#xbc;" horiz-adv-x="1470" d="M1185 1442h12q56 0 68 -72v-4q0 -34 -125 -179q-96 -134 -902 -1172q-25 -15 -50 -15q-68 19 -68 65v23q0 23 145 201q813 1061 878 1138q20 15 42 15zM318 1434q25 0 45 -34l-3 -57v-654l3 -35q-13 -41 -45 -41q-26 0 -42 30v685l-65 -15h-19q-30 16 -30 41q0 48 110 65 q0 5 46 15zM1155 829q29 0 45 -38l-3 -38v-418h87q35 0 42 -50q-16 -38 -46 -38h-83v-217q-18 -30 -42 -30q-46 9 -46 46v201h-338q-38 8 -38 38v19q335 431 384 503q15 22 38 22zM1105 647l-236 -312h240v312h-4z" />
-<glyph unicode="&#xbd;" horiz-adv-x="1492" d="M1172 1437h11q56 0 68 -72v-4q0 -34 -125 -178q-95 -133 -898 -1168q-25 -15 -50 -15q-68 19 -68 64v23q0 23 144 201q811 1057 876 1134q20 15 42 15zM307 1429q25 0 46 -34l-4 -57v-652l4 -34q-14 -42 -46 -42q-25 0 -42 31v682l-64 -15h-19q-30 16 -30 42q0 47 110 64 q0 5 45 15zM1077 815q171 0 243 -186l3 -38v-41q0 -98 -155 -247l-186 -216h296l15 4q42 -14 42 -30v-19q-8 -38 -38 -38h-417q-33 0 -42 45q0 15 182 213q212 235 212 265l4 27v34q-32 140 -155 140q-108 0 -156 -121q0 -64 -34 -76h-15q-27 0 -42 38q0 160 175 235z" />
-<glyph unicode="&#xbe;" horiz-adv-x="1541" d="M367 1438q124 0 188 -129q15 -35 15 -64v-22q0 -83 -75 -155q109 -76 109 -204q0 -176 -196 -241l-53 -4h-7q-166 0 -234 196l-4 53q0 20 30 38h19q39 0 45 -83q44 -117 147 -117h12q112 0 151 132l4 30q0 109 -129 155q-68 0 -68 49q10 41 61 41q76 0 102 106v26 q0 71 -99 106h-22q-85 0 -117 -98v-34q-16 -30 -38 -30h-11q-38 7 -38 37v8q0 143 162 200zM1268 1430h12q55 0 68 -72v-3q0 -34 -125 -178q-95 -133 -894 -1162q-25 -15 -49 -15q-68 19 -68 64v23q0 23 143 200q807 1052 872 1128q20 15 41 15zM1238 823q29 0 45 -38 l-3 -38v-415h86q35 0 42 -49q-16 -38 -45 -38h-83v-215q-18 -30 -42 -30q-45 9 -45 45v200h-336q-38 8 -38 38v19q333 427 381 498q16 23 38 23zM1189 641l-234 -309h238v309h-4z" />
-<glyph unicode="&#xbf;" horiz-adv-x="977" d="M441 1080h11q81 0 98 -105q-18 -98 -102 -98h-4q-84 0 -101 98v3q19 102 98 102zM441 775q75 -13 75 -72v-7q0 -256 -245 -400q-98 -93 -98 -222q0 -166 173 -256q65 -23 113 -23q164 0 253 162q21 35 34 143q35 42 68 42q75 -18 75 -72q0 -210 -207 -358 q-115 -64 -223 -64q-214 0 -354 185q-79 112 -79 248q0 244 245 392q102 92 102 260q31 42 68 42z" />
-<glyph unicode="&#xc0;" horiz-adv-x="1220" d="M477 1786h7q46 0 133 -125q60 -64 60 -94q-13 -76 -71 -76h-16q-37 0 -140 144q-45 38 -45 83q19 68 72 68zM560 1438q69 0 102 -140q458 -1190 462 -1219v-11q0 -56 -72 -68h-4q-66 0 -94 129l-171 442h-442l-209 -548q-30 -23 -53 -23h-7q-72 13 -72 72v4l129 348 q338 879 367 976q34 38 64 38zM560 1150l-159 -431h326v4l-163 427h-4z" />
-<glyph unicode="&#xc1;" horiz-adv-x="1212" d="M622 1778h3q72 -14 72 -64v-15q0 -32 -79 -117q-65 -98 -109 -98h-12q-55 0 -67 72v4q0 37 116 166q33 52 76 52zM558 1432q68 0 101 -140q456 -1185 460 -1213v-11q0 -56 -72 -68h-3q-67 0 -95 128l-169 441h-441l-207 -546q-30 -23 -53 -23h-7q-72 13 -72 72v3l128 347 q337 875 366 972q33 38 64 38zM558 1145l-159 -429h324v4l-162 425h-3z" />
-<glyph unicode="&#xc2;" horiz-adv-x="1212" d="M550 1771h30q36 0 125 -121q60 -64 60 -98v-3q-11 -72 -72 -72h-7q-46 0 -121 113h-4q-80 -113 -120 -113h-11q-58 0 -72 75q0 33 117 166q36 53 75 53zM558 1432q68 0 101 -140q456 -1185 460 -1213v-11q0 -56 -72 -68h-3q-67 0 -95 128l-169 441h-441l-207 -546 q-30 -23 -53 -23h-7q-72 13 -72 72v3l128 347q337 875 366 972q33 38 64 38zM558 1145l-159 -429h324v4l-162 425h-3z" />
-<glyph unicode="&#xc3;" horiz-adv-x="1216" d="M452 1695q79 0 189 -71l33 -4l76 23h7q72 -12 72 -72v-4q0 -70 -124 -90l-38 -4q-79 0 -181 72l-30 4l-83 -23q-75 14 -75 71v8q0 72 139 87zM558 1432q68 0 101 -140q456 -1185 460 -1213v-11q0 -56 -72 -68h-3q-67 0 -95 128l-169 441h-441l-207 -546q-30 -23 -53 -23 h-7q-72 13 -72 72v3l128 347q337 875 366 972q33 38 64 38zM558 1145l-159 -429h324v4l-162 425h-3z" />
-<glyph unicode="&#xc4;" horiz-adv-x="1225" d="M411 1684h11q68 -15 68 -64v-11q0 -60 -76 -72q-71 14 -71 72v11q0 49 68 64zM697 1684h15q53 0 64 -79q0 -51 -75 -68q-72 13 -72 68v19q19 60 68 60zM558 1432q68 0 101 -140q456 -1185 460 -1213v-11q0 -56 -72 -68h-3q-67 0 -95 128l-169 441h-441l-207 -546 q-30 -23 -53 -23h-7q-72 13 -72 72v3l128 347q337 875 366 972q33 38 64 38zM558 1145l-159 -429h324v4l-162 425h-3z" />
-<glyph unicode="&#xc5;" horiz-adv-x="1219" d="M555 1832h15q121 0 174 -147l4 -38v-11q0 -118 -140 -174l-45 -8q-113 0 -174 114q-19 41 -19 79q0 127 148 181zM487 1643q13 -71 72 -71q72 12 72 68v11q-11 64 -64 64h-12q-57 0 -68 -72zM559 1436q69 0 102 -140q457 -1189 461 -1217v-11q0 -56 -72 -68h-4 q-66 0 -94 128l-170 442h-442l-208 -547q-30 -23 -53 -23h-7q-72 13 -72 72v4l128 347q338 878 367 975q34 38 64 38zM559 1148l-159 -430h325v4l-162 426h-4z" />
-<glyph unicode="&#xc6;" horiz-adv-x="1565" d="M780 1435h595q46 0 64 -72q-15 -75 -76 -75h-500v-568h390q69 -15 69 -61v-19q0 -56 -72 -68h-387v-424h504q58 0 72 -76q0 -56 -76 -72h-575q-58 0 -72 76v496h-277q-20 -24 -166 -296l-144 -253q-27 -23 -53 -23h-4q-60 0 -72 80q0 22 242 446l493 886q28 23 45 23z M519 720h197v352z" />
-<glyph unicode="&#xc7;" horiz-adv-x="1399" d="M713 1432q223 0 404 -134q19 -25 19 -48q-13 -74 -74 -74q-17 0 -134 63q-119 44 -215 44q-264 0 -455 -241q-97 -161 -97 -315q0 -308 289 -489q128 -67 256 -67h11q162 0 323 100l18 4h8q70 -12 70 -70v-4q0 -93 -293 -167l-67 -7v-74q112 -74 112 -182 q0 -156 -182 -200l-52 4h-55l-60 -4q-63 21 -63 63v15q13 67 67 67h130q70 0 70 55v4q0 42 -67 55q-44 21 -44 56v141q-145 14 -315 118q-304 236 -304 582q0 366 334 597q178 108 366 108z" />
-<glyph unicode="&#xc8;" horiz-adv-x="1039" d="M72 1436l19 -4h740l15 4q65 0 76 -83q-15 -68 -83 -68h-692v-510h454l53 3q51 0 68 -75q0 -49 -61 -76l-75 4h-439v-484h711q52 0 64 -79q-20 -68 -68 -68h-782q-72 13 -72 72v1288q11 72 72 72v4zM355 1829h8q45 0 132 -125q60 -64 60 -94q-13 -76 -71 -76h-15 q-38 0 -140 144q-46 38 -46 83q20 68 72 68z" />
-<glyph unicode="&#xc9;" d="M72 1436l19 -4h740l15 4q65 0 76 -83q-15 -68 -83 -68h-692v-510h454l53 3q51 0 68 -75q0 -49 -61 -76l-75 4h-439v-484h711q52 0 64 -79q-20 -68 -68 -68h-782q-72 13 -72 72v1288q11 72 72 72v4zM476 1829h4q75 -15 75 -76q0 -32 -90 -132q-61 -87 -95 -87h-22 q-53 0 -65 80q0 27 118 162q36 53 75 53z" />
-<glyph unicode="&#xca;" d="M72 1436l19 -4h740l15 4q65 0 76 -83q-15 -68 -83 -68h-692v-510h454l53 3q51 0 68 -75q0 -49 -61 -76l-75 4h-439v-484h711q52 0 64 -79q-20 -68 -68 -68h-782q-72 13 -72 72v1288q11 72 72 72v4zM461 1787h19q45 0 117 -102q76 -84 76 -109v-15q-14 -68 -61 -68h-26 q-32 0 -117 113q-78 -113 -114 -113h-26q-47 0 -61 68v15q0 32 159 204z" />
-<glyph unicode="&#xcb;" horiz-adv-x="1027" d="M72 1436l19 -4h740l15 4q65 0 76 -83q-15 -68 -83 -68h-692v-510h454l53 3q51 0 68 -75q0 -49 -61 -76l-75 4h-439v-484h711q52 0 64 -79q-20 -68 -68 -68h-782q-72 13 -72 72v1288q11 72 72 72v4zM306 1704h11q68 -15 68 -64v-11q0 -60 -75 -72q-72 14 -72 72v11 q0 49 68 64zM593 1704h15q53 0 65 -79q0 -51 -76 -68q-72 12 -72 68v19q19 60 68 60z" />
-<glyph unicode="&#xcc;" horiz-adv-x="657" d="M219 1818q44 0 121 -109q71 -77 71 -113q-15 -75 -75 -75q-45 0 -106 90q-86 97 -86 121v22q0 50 75 64zM182 1431l18 -4h140l15 4q75 -17 75 -76q-13 -75 -72 -75h-15v-1133h23q49 0 64 -72v-3q-13 -72 -72 -72h-176q-72 13 -72 72v3q15 72 64 72h23v1133h-15 q-63 0 -72 79v4q0 46 72 68z" />
-<glyph unicode="&#xcd;" horiz-adv-x="657" d="M374 1828h4q75 -15 75 -76q0 -32 -90 -132q-61 -87 -95 -87h-22q-53 0 -64 80q0 27 117 162q36 53 75 53zM212 1435l19 -4h139l15 4q76 -16 76 -75q-13 -76 -72 -76h-15v-1137h23q49 0 64 -71v-4q-13 -72 -72 -72h-177q-72 13 -72 72v4q15 71 64 71h23v1137h-15 q-63 0 -72 79v4q0 47 72 68z" />
-<glyph unicode="&#xce;" horiz-adv-x="657" d="M285 1783h30q48 0 136 -128q57 -59 57 -91q-13 -76 -72 -76h-7q-48 0 -114 102l-15 12q-74 -114 -121 -114h-7q-72 12 -72 72v4q0 36 113 162q40 57 72 57zM217 1436l19 -4h140l15 4q75 -17 75 -76q-13 -76 -71 -76h-15v-1137h22q50 0 64 -71v-4q-12 -72 -71 -72h-178 q-72 13 -72 72v4q15 71 65 71h22v1137h-15q-63 0 -72 80v4q0 46 72 68z" />
-<glyph unicode="&#xcf;" horiz-adv-x="657" d="M144 1683h15q68 -14 68 -60v-19q0 -55 -72 -68q-75 15 -75 76q16 71 64 71zM434 1683h11q68 -15 68 -64v-11q0 -60 -75 -72q-72 14 -72 72v11q0 49 68 64zM212 1431l19 -4h139l15 4q75 -16 75 -76q-13 -75 -71 -75h-15v-1133h22q50 0 64 -72v-3q-12 -72 -71 -72h-177 q-72 13 -72 72v3q15 72 64 72h23v1133h-15q-63 0 -72 79v4q0 46 72 68z" />
-<glyph unicode="&#xd0;" horiz-adv-x="1275" d="M471 1430q331 0 568 -289q143 -196 143 -430q0 -373 -350 -613q-180 -98 -358 -98h-252q-53 0 -71 68v587h-83q-68 15 -68 68v15q0 49 72 64h79v553q15 72 64 72h222zM297 1284v-482h283q71 -13 71 -68v-11q-13 -68 -68 -68h-286v-508h155q363 0 530 331q53 113 53 237 q0 306 -286 493q-120 76 -380 76h-72z" />
-<glyph unicode="&#xd1;" horiz-adv-x="1288" d="M454 1701q78 0 189 -72l34 -4l71 23h12q72 -11 72 -72v-4q0 -70 -125 -90l-38 -4q-79 0 -181 72l-31 3l-83 -22q-75 14 -75 72v7q0 72 139 87zM64 1432h15q46 0 80 -68l839 -1077h4v1077q13 68 68 68h11q56 0 68 -71v-1289q-13 -72 -72 -72h-4q-51 0 -117 106l-809 1032 v-1070q0 -56 -71 -68h-4q-54 0 -72 68v1293q15 71 64 71z" />
-<glyph unicode="&#xd2;" horiz-adv-x="1519" d="M646 1821h22q34 0 102 -94q82 -91 82 -124q-14 -75 -75 -75h-3q-47 0 -121 113q-71 70 -71 109q16 71 64 71zM714 1427q361 0 604 -334q109 -190 109 -383q0 -357 -323 -594q-184 -116 -383 -116h-15q-367 0 -601 342q-105 173 -105 375q0 341 300 575q196 135 414 135z M146 706q0 -273 241 -458q150 -102 319 -102h19q266 0 450 237q106 152 106 331q0 308 -282 488q-138 79 -285 79q-282 0 -466 -245q-102 -146 -102 -330z" />
-<glyph unicode="&#xd3;" horiz-adv-x="1532" d="M768 1826h15q72 -15 72 -71q0 -39 -124 -173q-25 -49 -76 -49q-57 0 -71 75q0 37 109 154q40 64 75 64zM716 1431q362 0 606 -335q109 -190 109 -384q0 -358 -324 -595q-184 -117 -384 -117h-15q-368 0 -603 343q-105 174 -105 376q0 342 301 576q196 136 415 136z M147 708q0 -274 241 -459q150 -102 320 -102h19q267 0 452 237q105 152 105 332q0 308 -282 489q-139 79 -286 79q-283 0 -467 -245q-102 -147 -102 -331z" />
-<glyph unicode="&#xd4;" horiz-adv-x="1523" d="M698 1803h31q35 0 123 -121q61 -64 61 -97v-4q-12 -71 -72 -71h-7q-46 0 -120 112h-4q-80 -112 -120 -112h-12q-57 0 -71 75q0 33 116 165q37 53 75 53zM714 1427q361 0 604 -334q109 -190 109 -383q0 -357 -323 -594q-184 -116 -383 -116h-15q-367 0 -601 342 q-105 173 -105 375q0 341 300 575q196 135 414 135zM146 706q0 -273 241 -458q150 -102 319 -102h19q266 0 450 237q106 152 106 331q0 308 -282 488q-138 79 -285 79q-282 0 -466 -245q-102 -146 -102 -330z" />
-<glyph unicode="&#xd5;" horiz-adv-x="1528" d="M590 1772h18q72 0 166 -63l30 -8h18l76 23q75 -15 75 -75q0 -76 -143 -94h-26q-71 0 -166 64l-30 7h-18l-72 -19h-7q-68 14 -68 68v11q0 57 83 75q30 11 64 11zM714 1427q361 0 604 -334q109 -190 109 -383q0 -357 -323 -594q-184 -116 -383 -116h-15q-367 0 -601 342 q-105 173 -105 375q0 341 300 575q196 135 414 135zM146 706q0 -273 241 -458q150 -102 319 -102h19q266 0 450 237q106 152 106 331q0 308 -282 488q-138 79 -285 79q-282 0 -466 -245q-102 -146 -102 -330z" />
-<glyph unicode="&#xd6;" horiz-adv-x="1540" d="M508 1706q51 0 68 -75q-17 -76 -71 -76q-76 17 -76 64v23q0 52 79 64zM934 1706q51 0 68 -75q-17 -76 -72 -76q-75 17 -75 64v23q0 52 79 64zM716 1431q362 0 606 -335q109 -190 109 -384q0 -358 -324 -595q-184 -117 -384 -117h-15q-368 0 -603 343q-105 174 -105 376 q0 342 301 576q196 136 415 136zM147 708q0 -274 241 -459q150 -102 320 -102h19q267 0 452 237q105 152 105 332q0 308 -282 489q-139 79 -286 79q-283 0 -467 -245q-102 -147 -102 -331z" />
-<glyph unicode="&#xd7;" d="M308 938h15q48 0 153 -125l43 -38q160 163 182 163h39q60 0 81 -91q0 -58 -163 -201l-5 -5v-5q163 -148 163 -182l5 -19q-22 -96 -96 -96q-51 0 -158 125l-48 43q-144 -163 -196 -163h-24q-77 24 -77 76v24q0 47 101 130l62 67q-163 161 -163 182v29q17 86 86 86z" />
-<glyph unicode="&#xd8;" horiz-adv-x="1561" d="M713 1426q267 0 492 -198q149 153 180 153h8q71 -18 71 -71v-7q0 -42 -105 -124l-60 -60q127 -195 127 -410q0 -356 -322 -593q-184 -116 -383 -116h-15q-232 0 -436 154h-3q-154 -150 -173 -150l-19 -4h-4q-59 0 -71 79q0 36 124 139q4 11 41 37q-165 210 -165 462 q0 340 300 574q196 135 413 135zM146 706q0 -195 128 -349l822 773v4q-179 146 -383 146q-281 0 -465 -244q-102 -147 -102 -330zM375 255q156 -109 331 -109h18q267 0 451 237q105 151 105 330q0 152 -86 304h-4z" />
-<glyph unicode="&#xd9;" horiz-adv-x="1103" d="M444 1819q48 0 140 -131q53 -52 53 -87v-8q0 -58 -76 -71q-45 0 -132 124q-60 62 -60 94v8q0 55 75 71zM64 1428h15q68 -14 68 -61v-802q0 -259 147 -347q92 -71 207 -71q220 0 331 226q23 70 23 147v836q13 72 68 72h11q68 -13 68 -68v-878q0 -224 -215 -392 q-136 -90 -275 -90h-26q-234 0 -407 230q-79 124 -79 305v821q15 72 64 72z" />
-<glyph unicode="&#xda;" horiz-adv-x="1107" d="M565 1819q72 -15 72 -71v-8q0 -35 -95 -135q-52 -83 -98 -83q-75 16 -75 71v8q0 36 94 136q52 82 102 82zM64 1428h15q68 -14 68 -61v-802q0 -259 147 -347q92 -71 207 -71q220 0 331 226q23 70 23 147v836q13 72 68 72h11q68 -13 68 -68v-878q0 -224 -215 -392 q-136 -90 -275 -90h-26q-234 0 -407 230q-79 124 -79 305v821q15 72 64 72z" />
-<glyph unicode="&#xdb;" horiz-adv-x="1124" d="M514 1796h8q49 0 136 -124q61 -63 61 -99q-17 -72 -65 -72h-19q-41 0 -102 91q-5 0 -11 15l-4 4h-4q-85 -102 -94 -102l-23 -8h-19q-55 0 -68 72v4q0 38 132 182q0 29 72 37zM64 1433h15q68 -14 68 -60v-806q0 -260 148 -348q93 -72 208 -72q221 0 333 227q23 71 23 148 v840q12 71 68 71h11q68 -13 68 -68v-881q0 -225 -216 -393q-136 -91 -276 -91h-26q-235 0 -409 231q-79 124 -79 306v825q15 71 64 71z" />
-<glyph unicode="&#xdc;" horiz-adv-x="1128" d="M352 1691h11q68 -15 68 -65v-11q0 -60 -75 -72q-72 14 -72 72v11q0 50 68 65zM639 1691h15q53 0 65 -80q0 -51 -76 -68q-72 13 -72 68v19q19 61 68 61zM64 1433h15q68 -14 68 -60v-806q0 -260 148 -348q93 -72 208 -72q221 0 333 227q23 71 23 148v840q12 71 68 71h11 q68 -13 68 -68v-881q0 -225 -216 -393q-136 -91 -276 -91h-26q-235 0 -409 231q-79 124 -79 306v825q15 71 64 71z" />
-<glyph unicode="&#xdd;" horiz-adv-x="1107" d="M64 1433h16q49 0 79 -72l345 -516h4q372 562 387 573q20 15 34 15h23q46 0 64 -72q0 -32 -129 -209l-307 -458v-611q-9 -83 -64 -83h-16q-49 0 -68 61v621q0 14 -159 251l-269 405l-4 23q16 72 64 72zM598 1797h4q75 -15 75 -75q0 -33 -91 -133q-60 -87 -94 -87h-23 q-52 0 -64 80q0 27 117 162q37 53 76 53z" />
-<glyph unicode="&#xde;" horiz-adv-x="1100" d="M84 1436h16q68 -14 68 -61v-280h390q296 0 394 -258q19 -60 19 -110v-18q0 -197 -193 -319q-99 -49 -171 -49l-26 4h-413v-277q0 -56 -72 -68h-4q-58 0 -72 76v1277q9 83 64 83zM168 947v-454h435q162 0 216 185l4 42q0 155 -166 216q-44 11 -110 11h-379z" />
-<glyph unicode="&#xdf;" horiz-adv-x="1061" d="M379 1425h41q177 0 303 -168q68 -101 68 -217q0 -89 -60 -213v-38q0 -37 123 -175q90 -110 90 -236v-15q0 -219 -224 -333q-69 -30 -143 -30h-3q-184 0 -300 157l-3 26q16 71 71 71h7q34 0 90 -63q70 -45 138 -45q154 0 214 168l7 53v7q0 96 -108 210q-109 112 -109 220 q0 57 53 176q7 17 7 49v33q0 119 -135 195q-44 22 -104 22q-166 0 -229 -183l-7 -108v-913q0 -55 -71 -68h-4q-57 0 -71 75v939q0 283 266 386q53 18 93 18z" />
-<glyph unicode="&#xe0;" horiz-adv-x="1147" d="M496 1385h25q32 0 146 -149q29 -31 29 -58v-8q0 -56 -73 -69q-44 0 -102 88q-84 93 -84 116v15q0 48 59 65zM529 999q283 0 448 -277q51 -113 51 -233v-423q0 -54 -69 -66h-4q-47 0 -69 55v3l3 91v4q-160 -153 -346 -153h-29q-254 0 -423 255q-62 123 -62 248 q0 279 273 441q117 55 227 55zM171 507v-11q0 -217 219 -328q69 -26 124 -26h29q181 0 299 182q44 86 44 165v14q0 210 -208 321q-72 33 -149 33h-4q-220 0 -332 -230q-22 -71 -22 -120z" />
-<glyph unicode="&#xe1;" horiz-adv-x="1114" d="M594 1389q73 -17 73 -69v-7q0 -31 -80 -121q-60 -91 -113 -91h-4q-46 0 -62 69v8q0 33 113 160q38 51 73 51zM500 999q283 0 448 -277q51 -113 51 -233v-423q0 -54 -69 -66h-4q-47 0 -69 55v3l3 91v4q-160 -153 -346 -153h-29q-254 0 -423 255q-62 123 -62 248 q0 279 273 441q117 55 227 55zM142 507v-11q0 -217 219 -328q69 -26 124 -26h29q181 0 299 182q44 86 44 165v14q0 210 -208 321q-72 33 -149 33h-4q-220 0 -332 -230q-22 -71 -22 -120z" />
-<glyph unicode="&#xe2;" horiz-adv-x="1140" d="M495 1392l3 -3h4l4 3q51 0 124 -106q70 -75 70 -110q-13 -73 -73 -73q-48 0 -118 106l-3 4h-8q-70 -110 -121 -110q-73 14 -73 73q0 37 103 147q44 69 88 69zM502 1004q285 0 451 -278q51 -114 51 -235v-425q0 -54 -70 -66h-3q-48 0 -70 55v4l4 91v4q-162 -154 -348 -154 h-30q-255 0 -425 256q-62 124 -62 250q0 280 275 443q117 55 227 55zM143 509v-11q0 -218 220 -329q69 -26 124 -26h30q182 0 300 183q44 86 44 165v15q0 210 -209 322q-72 33 -150 33h-4q-221 0 -333 -231q-22 -71 -22 -121z" />
-<glyph unicode="&#xe3;" horiz-adv-x="1122" d="M408 1354h19q70 0 162 -63l29 -7h18l74 22q74 -15 74 -74q0 -74 -140 -92h-26q-69 0 -162 63l-29 7h-19l-70 -18h-7q-66 13 -66 66v11q0 55 81 74q29 11 62 11zM504 1008q286 0 452 -280q52 -114 52 -235v-427q0 -54 -70 -66h-4q-47 0 -69 55v4l3 92v4 q-162 -155 -349 -155h-30q-256 0 -426 258q-63 124 -63 250q0 281 276 445q118 55 228 55zM143 511v-11q0 -219 221 -331q70 -26 125 -26h30q183 0 301 184q45 87 45 166v15q0 211 -210 323q-73 34 -151 34h-4q-222 0 -334 -232q-23 -72 -23 -122z" />
-<glyph unicode="&#xe4;" horiz-adv-x="1136" d="M355 1246h11q66 -15 66 -62v-11q0 -59 -73 -70q-70 13 -70 70v11q0 47 66 62zM634 1246h15q51 0 62 -77q0 -49 -73 -66q-70 12 -70 66v18q18 59 66 59zM502 1004q285 0 451 -278q51 -114 51 -235v-425q0 -54 -70 -66h-3q-48 0 -70 55v4l4 91v4q-162 -154 -348 -154h-30 q-255 0 -425 256q-62 124 -62 250q0 280 275 443q117 55 227 55zM143 509v-11q0 -218 220 -329q69 -26 124 -26h30q182 0 300 183q44 86 44 165v15q0 210 -209 322q-72 33 -150 33h-4q-221 0 -333 -231q-22 -71 -22 -121z" />
-<glyph unicode="&#xe5;" horiz-adv-x="1131" d="M517 1447q105 0 165 -110q18 -39 18 -77q0 -123 -143 -175l-37 -4h-14q-118 0 -169 143l-4 36v11q0 124 151 173zM447 1268v-15q17 -58 59 -58h14q56 0 66 69q-12 70 -69 70q-70 -12 -70 -66zM502 1004q285 0 451 -278q51 -114 51 -235v-425q0 -54 -70 -66h-3 q-48 0 -70 55v4l4 91v4q-162 -154 -348 -154h-30q-255 0 -425 256q-62 124 -62 250q0 280 275 443q117 55 227 55zM143 509v-11q0 -218 220 -329q69 -26 124 -26h30q182 0 300 183q44 86 44 165v15q0 210 -209 322q-72 33 -150 33h-4q-221 0 -333 -231q-22 -71 -22 -121z " />
-<glyph unicode="&#xe6;" horiz-adv-x="1961" d="M500 1004q263 0 431 -245h4q90 155 277 219q84 22 150 22q279 0 442 -270q54 -113 54 -212v-47q-12 -69 -69 -69h-767v-4q37 -121 139 -190q95 -62 197 -62q88 0 197 55l19 3q73 -17 73 -73q0 -93 -241 -127l-52 -4q-192 0 -354 150v-81q0 -62 -76 -69h-4q-38 0 -62 58 l4 88v11q-161 -153 -347 -153h-29q-255 0 -424 255q-62 123 -62 248q0 280 274 442q117 55 226 55zM142 511v-11q0 -217 219 -328q70 -26 125 -26h29q181 0 299 183q44 85 44 164v14q0 210 -208 322q-72 33 -150 33h-3q-221 0 -333 -230q-22 -72 -22 -121zM1011 544h698v4 q0 96 -117 219q-112 87 -234 87q-187 0 -303 -175q-44 -82 -44 -135z" />
-<glyph unicode="&#xe7;" horiz-adv-x="986" d="M507 996q193 0 349 -145q11 -19 11 -37v-3q-12 -69 -69 -69h-4q-26 0 -116 69q-81 40 -160 40h-22q-211 0 -320 -222q-25 -75 -25 -134q0 -216 222 -328q67 -25 141 -25q126 0 248 102l29 7h11q53 0 65 -69v-4q0 -74 -233 -163l-76 -11v-48q109 -72 109 -178 q0 -153 -178 -196l-51 4h-55l-58 -4q-62 21 -62 62v14q13 66 66 66h127q69 0 69 54v4q0 41 -65 54q-44 21 -44 55v116q-90 13 -222 102q-185 166 -185 389q0 243 215 407q137 91 283 91z" />
-<glyph unicode="&#xe8;" horiz-adv-x="1127" d="M498 1004q290 0 451 -275q55 -108 55 -234v-19q-13 -73 -70 -73h-773q44 -146 187 -223q84 -33 158 -33q84 0 194 55h22q66 -13 66 -66v-11q0 -91 -264 -125h-26q-270 0 -432 253q-66 120 -66 249q0 276 260 440q127 62 238 62zM150 546h704q0 75 -88 194 q-121 114 -238 114h-41q-176 0 -289 -172q-40 -69 -48 -136zM465 1381h26q32 0 147 -150q29 -31 29 -58v-8q0 -57 -73 -69q-45 0 -103 88q-84 93 -84 117v14q0 48 58 66z" />
-<glyph unicode="&#xe9;" horiz-adv-x="1118" d="M498 1004q290 0 451 -275q55 -108 55 -234v-19q-13 -73 -70 -73h-773q44 -146 187 -223q84 -33 158 -33q84 0 194 55h22q66 -13 66 -66v-11q0 -91 -264 -125h-26q-270 0 -432 253q-66 120 -66 249q0 276 260 440q127 62 238 62zM150 546h704q0 75 -88 194 q-121 114 -238 114h-41q-176 0 -289 -172q-40 -69 -48 -136zM594 1385q73 -17 73 -70v-7q0 -30 -81 -121q-60 -91 -113 -91h-4q-47 0 -62 69v8q0 33 113 161q38 51 74 51z" />
-<glyph unicode="&#xea;" horiz-adv-x="1144" d="M498 1004q290 0 451 -275q55 -108 55 -234v-19q-13 -73 -70 -73h-773q44 -146 187 -223q84 -33 158 -33q84 0 194 55h22q66 -13 66 -66v-11q0 -91 -264 -125h-26q-270 0 -432 253q-66 120 -66 249q0 276 260 440q127 62 238 62zM150 546h704q0 75 -88 194 q-121 114 -238 114h-41q-176 0 -289 -172q-40 -69 -48 -136zM495 1392l3 -3h4l4 3q51 0 124 -106q70 -75 70 -110q-13 -73 -73 -73q-48 0 -118 106l-3 4h-8q-70 -110 -121 -110q-73 14 -73 73q0 37 103 147q44 69 88 69z" />
-<glyph unicode="&#xeb;" horiz-adv-x="1122" d="M355 1243h11q65 -15 65 -62v-11q0 -58 -73 -70q-69 14 -69 70v11q0 47 66 62zM632 1243h15q51 0 62 -77q0 -49 -73 -66q-69 12 -69 66v19q18 58 65 58zM497 1002q289 0 450 -274q55 -108 55 -234v-19q-13 -73 -70 -73h-771q44 -146 186 -223q84 -33 158 -33q84 0 193 55 h22q66 -13 66 -66v-11q0 -90 -263 -124h-26q-269 0 -431 252q-66 120 -66 249q0 275 260 439q126 62 237 62zM150 545h702q0 75 -88 193q-120 114 -238 114h-40q-175 0 -289 -172q-39 -68 -47 -135z" />
-<glyph unicode="&#xec;" horiz-adv-x="514" d="M139 1344h25q32 0 147 -150q29 -32 29 -59v-7q0 -57 -73 -70q-45 0 -103 88q-84 94 -84 117v15q0 48 59 66zM237 1003q70 -17 70 -62v-875q0 -54 -70 -66h-3q-56 0 -70 73v846q9 84 73 84z" />
-<glyph unicode="&#xed;" horiz-adv-x="514" d="M307 1353q74 -17 74 -70v-7q0 -31 -81 -122q-61 -92 -114 -92h-4q-47 0 -62 70v8q0 33 114 161q38 52 73 52zM238 1007q69 -18 69 -62v-879q0 -54 -69 -66h-4q-56 0 -70 74v849q9 84 74 84z" />
-<glyph unicode="&#xee;" horiz-adv-x="514" d="M222 1348l4 -3h4l3 3q52 0 126 -107q70 -76 70 -110q-13 -74 -74 -74q-48 0 -118 107l-4 3h-7q-71 -110 -122 -110q-74 14 -74 74q0 36 103 147q45 70 89 70zM233 1012q70 -18 70 -63v-882q0 -55 -70 -67h-3q-57 0 -71 74v853q9 85 74 85z" />
-<glyph unicode="&#xef;" horiz-adv-x="514" d="M237 1008q70 -18 70 -63v-879q0 -54 -70 -66h-4q-56 0 -70 74v849q9 85 74 85zM86 1273h11q66 -15 66 -63v-11q0 -58 -73 -70q-70 14 -70 70v11q0 48 66 63zM366 1273h14q52 0 63 -78q0 -49 -74 -66q-69 12 -69 66v19q18 59 66 59z" />
-<glyph unicode="&#xf0;" horiz-adv-x="1118" d="M748 1403h7q66 -14 66 -66v-14q0 -46 -169 -132v-4l279 -429q73 -123 73 -256q0 -282 -267 -443q-116 -59 -224 -59h-29q-203 0 -378 191q-106 150 -106 311q0 244 216 410q139 92 286 92l103 -11v4l-77 117q-132 -84 -158 -84h-15q-48 0 -62 69v4q0 50 110 103l48 29 q-41 61 -41 80v19q18 58 66 58h15q36 0 84 -80q149 91 173 91zM147 513v-18q0 -201 194 -312q70 -36 150 -36h22q208 0 319 216q25 68 25 132v18q0 140 -128 264q-101 80 -231 80q-228 0 -333 -238q-18 -58 -18 -106z" />
-<glyph unicode="&#xf1;" horiz-adv-x="1108" d="M399 1361h18q70 0 161 -62l29 -8h19l73 22q73 -14 73 -73q0 -74 -139 -91h-26q-69 0 -161 62l-29 7h-18l-70 -18h-7q-66 13 -66 66v11q0 55 81 73q29 11 62 11zM73 1002q70 -18 70 -62v-80q159 142 347 142q206 0 366 -172q117 -144 117 -303v-465q0 -48 -69 -62h-4 q-70 12 -70 70v409q0 275 -237 362q-58 15 -103 15h-11q-199 0 -307 -205q-29 -63 -29 -201v-384q0 -54 -70 -66h-3q-56 0 -70 73v845q8 84 73 84z" />
-<glyph unicode="&#xf2;" horiz-adv-x="1118" d="M502 1004q194 0 352 -147q150 -157 150 -355q0 -282 -267 -443q-116 -59 -224 -59h-29q-203 0 -378 191q-106 150 -106 311q0 244 216 410q139 92 286 92zM147 513v-18q0 -201 194 -312q70 -36 150 -36h22q208 0 319 216q25 68 25 132v18q0 167 -153 282q-91 62 -206 62 q-228 0 -333 -238q-18 -58 -18 -106zM469 1392h26q31 0 146 -150q30 -31 30 -58v-8q0 -57 -74 -69q-45 0 -102 88q-85 93 -85 117v14q0 48 59 66z" />
-<glyph unicode="&#xf3;" horiz-adv-x="1118" d="M594 1389q73 -17 73 -69v-7q0 -31 -80 -121q-60 -91 -113 -91h-4q-46 0 -62 69v8q0 33 113 160q38 51 73 51zM500 999q192 0 350 -146q149 -157 149 -353q0 -281 -266 -442q-115 -58 -223 -58h-29q-201 0 -375 190q-106 150 -106 310q0 243 215 408q138 91 285 91z M146 510v-18q0 -199 193 -310q70 -36 150 -36h21q208 0 318 215q25 68 25 131v18q0 167 -153 281q-90 62 -204 62q-227 0 -332 -237q-18 -58 -18 -106z" />
-<glyph unicode="&#xf4;" horiz-adv-x="1118" d="M492 1385l4 -3h4l3 3q51 0 124 -105q69 -75 69 -110q-12 -73 -73 -73q-47 0 -116 106l-4 4h-7q-70 -110 -120 -110q-73 15 -73 73q0 37 102 146q43 69 87 69zM500 999q192 0 350 -146q149 -157 149 -353q0 -281 -266 -442q-115 -58 -223 -58h-29q-201 0 -375 190 q-106 150 -106 310q0 243 215 408q138 91 285 91zM146 510v-18q0 -199 193 -310q70 -36 150 -36h21q208 0 318 215q25 68 25 131v18q0 167 -153 281q-90 62 -204 62q-227 0 -332 -237q-18 -58 -18 -106z" />
-<glyph unicode="&#xf5;" horiz-adv-x="1118" d="M502 1004q194 0 352 -147q150 -157 150 -355q0 -282 -267 -443q-116 -59 -224 -59h-29q-203 0 -378 191q-106 150 -106 311q0 244 216 410q139 92 286 92zM147 513v-18q0 -201 194 -312q70 -36 150 -36h22q208 0 319 216q25 68 25 132v18q0 167 -153 282q-91 62 -206 62 q-228 0 -333 -238q-18 -58 -18 -106zM407 1348h18q70 0 161 -62l30 -7h18l73 22q73 -15 73 -73q0 -75 -139 -92h-25q-69 0 -162 62l-29 8h-18l-70 -19h-7q-66 13 -66 66v11q0 55 80 73q30 11 63 11z" />
-<glyph unicode="&#xf6;" horiz-adv-x="1114" d="M354 1240h11q65 -15 65 -62v-11q0 -58 -73 -70q-69 14 -69 70v11q0 47 66 62zM631 1240h14q51 0 62 -77q0 -49 -73 -66q-69 12 -69 66v18q18 59 66 59zM500 999q192 0 350 -146q149 -157 149 -353q0 -281 -266 -442q-115 -58 -223 -58h-29q-201 0 -375 190 q-106 150 -106 310q0 243 215 408q138 91 285 91zM146 510v-18q0 -199 193 -310q70 -36 150 -36h21q208 0 318 215q25 68 25 131v18q0 167 -153 281q-90 62 -204 62q-227 0 -332 -237q-18 -58 -18 -106z" />
-<glyph unicode="&#xf7;" d="M522 1132h4q92 0 112 -100v-16q-22 -100 -100 -100h-8q-108 11 -108 108v8q24 100 100 100zM226 800h608q76 -14 76 -76v-12q0 -50 -72 -68h-616q-72 14 -72 72v16q0 53 76 68zM526 528h8q87 0 104 -112v-4q0 -81 -108 -104q-108 23 -108 100v20q0 76 104 100z" />
-<glyph unicode="&#xf8;" horiz-adv-x="1169" d="M963 1012h4q58 0 69 -77q0 -29 -102 -127q113 -138 113 -309q0 -281 -266 -441q-114 -58 -222 -58h-29q-137 0 -284 102q-81 -98 -120 -98h-14q-51 0 -62 76q0 30 98 124q-98 135 -98 295q0 242 215 407q137 91 284 91q146 0 283 -91q86 106 131 106zM196 509v-18 q0 -90 50 -182h4l477 492q-72 50 -182 50q-227 0 -331 -236q-18 -58 -18 -106zM832 706l-484 -502q94 -58 190 -58h21q207 0 317 214q25 68 25 131v18q0 108 -69 197z" />
-<glyph unicode="&#xf9;" horiz-adv-x="1109" d="M468 1389h25q32 0 147 -150q29 -31 29 -58v-8q0 -57 -73 -69q-45 0 -103 88q-84 93 -84 117v14q0 48 59 66zM73 1002q70 -18 70 -63v-391q0 -251 142 -336q90 -69 201 -69q214 0 322 219q22 71 22 142v424q14 74 73 74q69 -17 69 -70v-870q0 -48 -69 -62h-4 q-69 12 -69 69v70h-4q-153 -139 -329 -139h-25q-227 0 -395 223q-77 120 -77 296v398q8 85 73 85z" />
-<glyph unicode="&#xfa;" horiz-adv-x="1105" d="M599 1399q73 -16 73 -69v-8q0 -30 -81 -121q-60 -92 -114 -92h-3q-47 0 -63 70v7q0 34 114 162q38 51 74 51zM73 1006q70 -17 70 -62v-393q0 -252 143 -338q91 -70 203 -70q214 0 323 221q22 71 22 143v426q14 73 73 73q70 -16 70 -69v-875q0 -48 -70 -62h-3 q-70 12 -70 70v70h-4q-153 -140 -330 -140h-26q-228 0 -397 224q-77 121 -77 298v400q8 84 73 84z" />
-<glyph unicode="&#xfb;" horiz-adv-x="1114" d="M498 1403l4 -4h4l3 4q52 0 126 -107q70 -76 70 -111q-12 -74 -74 -74q-47 0 -118 107l-4 4h-7q-71 -111 -122 -111q-74 15 -74 74q0 37 104 148q44 70 88 70zM74 1012q70 -18 70 -63v-395q0 -254 144 -340q91 -70 203 -70q216 0 325 221q22 72 22 144v429q15 74 74 74 q70 -17 70 -71v-878q0 -49 -70 -63h-4q-70 13 -70 70v70h-4q-154 -140 -332 -140h-26q-229 0 -398 225q-78 121 -78 299v403q9 85 74 85z" />
-<glyph unicode="&#xfc;" horiz-adv-x="1109" d="M355 1244h11q66 -15 66 -62v-11q0 -59 -74 -70q-69 14 -69 70v11q0 47 66 62zM633 1244h14q51 0 63 -77q0 -49 -74 -66q-69 12 -69 66v18q18 59 66 59zM73 1002q70 -18 70 -62v-391q0 -252 142 -337q90 -69 202 -69q213 0 321 219q22 71 22 143v424q15 73 74 73 q69 -16 69 -69v-871q0 -48 -69 -62h-4q-70 12 -70 70v69h-3q-153 -139 -330 -139h-25q-227 0 -395 223q-77 120 -77 296v399q8 84 73 84z" />
-<glyph unicode="&#xfd;" horiz-adv-x="990" d="M617 1406q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM803 1017q74 -14 74 -70v-3q-4 -27 -363 -884q-170 -420 -191 -447q-18 -15 -47 -22q-74 16 -74 62v19q0 13 165 410v4l-348 850v4q15 73 73 73q63 0 107 -146 q238 -565 245 -594h4q288 703 304 722q26 22 51 22z" />
-<glyph unicode="&#xfe;" horiz-adv-x="1131" d="M73 1394h14q66 -14 66 -59v-482q161 154 361 154q195 0 353 -147q151 -158 151 -357q0 -283 -269 -445q-115 -59 -224 -59h-29q-176 0 -343 151v-507q0 -47 -73 -63q-55 0 -70 77v1656q9 81 63 81zM157 514v-18q0 -201 195 -313q70 -36 151 -36h22q209 0 320 217 q26 68 26 132v18q0 168 -155 284q-91 62 -206 62q-229 0 -334 -239q-19 -58 -19 -107z" />
-<glyph unicode="&#xff;" horiz-adv-x="990" d="M302 1241h11q66 -15 66 -62v-11q0 -58 -73 -70q-70 14 -70 70v11q0 47 66 62zM579 1241h15q51 0 62 -77q0 -49 -73 -66q-69 12 -69 66v18q18 59 65 59zM791 1000q73 -14 73 -70v-3q-4 -27 -361 -880q-169 -418 -190 -445q-18 -15 -48 -22q-73 16 -73 62v18q0 13 165 409 v4l-347 846v4q14 73 73 73q63 0 106 -146q237 -562 244 -591h4q287 700 303 719q25 22 51 22z" />
-<glyph unicode="&#x100;" horiz-adv-x="1184" d="M142 1697h844q70 -13 70 -70v-12q-13 -70 -67 -70h-847q-60 0 -70 82q19 70 70 70zM556 1428q69 0 102 -139q454 -1182 458 -1210v-11q0 -56 -71 -68h-4q-66 0 -94 128l-169 439h-440l-206 -544q-30 -23 -53 -23h-8q-71 13 -71 71v4l128 346q335 873 364 969q34 38 64 38 zM556 1142l-158 -428h323v4l-161 424h-4z" />
-<glyph unicode="&#x101;" horiz-adv-x="1199" d="M144 1297h844q70 -13 70 -70v-12q-13 -70 -67 -70h-847q-60 0 -70 82q19 70 70 70zM554 1023q290 0 459 -284q52 -115 52 -239v-433q0 -55 -71 -67h-4q-48 0 -71 56v4l4 93v4q-165 -157 -355 -157h-29q-260 0 -434 261q-63 126 -63 254q0 285 280 452q119 56 232 56z M188 519v-11q0 -223 224 -336q71 -26 127 -26h29q186 0 307 186q44 88 44 168v15q0 215 -212 329q-74 33 -153 33h-4q-226 0 -340 -235q-22 -73 -22 -123z" />
-<glyph unicode="&#x102;" horiz-adv-x="1202" d="M350 1806h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72zM556 1428q69 0 102 -139q454 -1182 458 -1210v-11q0 -56 -71 -68h-4q-66 0 -94 128l-169 439h-440 l-206 -544q-30 -23 -53 -23h-8q-71 13 -71 71v4l128 346q335 873 364 969q34 38 64 38zM556 1142l-158 -428h323v4l-161 424h-4z" />
-<glyph unicode="&#x103;" horiz-adv-x="1118" d="M306 1414h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72zM512 1023q290 0 459 -284q52 -115 52 -239v-433q0 -55 -71 -67h-4q-48 0 -71 56v4l4 93v4 q-165 -157 -355 -157h-29q-260 0 -434 261q-63 126 -63 254q0 285 280 452q119 56 232 56zM146 519v-11q0 -223 224 -336q71 -26 127 -26h29q186 0 307 186q44 88 44 168v15q0 215 -212 329q-74 33 -153 33h-4q-226 0 -340 -235q-22 -73 -22 -123z" />
-<glyph unicode="&#x104;" horiz-adv-x="1338" d="M572 1437q68 0 100 -130q479 -1247 479 -1269l4 -27v-95q0 -64 -84 -77q-31 -18 -31 -50v-8q0 -42 58 -49h145q73 -13 73 -73v-4q-15 -73 -65 -73h-161q-145 0 -196 161l-7 46q0 112 119 188v19q-16 68 -207 564h-449l-211 -556q-30 -23 -53 -23h-8q-73 13 -73 73v3 l130 353q343 891 372 989q35 38 65 38zM572 1146l-161 -437h330v4l-165 433h-4z" />
-<glyph unicode="&#x105;" horiz-adv-x="1241" d="M517 1007q292 0 461 -284q53 -117 53 -240v-446l-4 -4l4 -4v-112q0 -60 -90 -79q-23 -17 -23 -37v-19q10 -45 56 -45h143q58 0 71 -75q-16 -71 -64 -71h-157q-143 0 -195 161l-4 45q0 107 117 180l-4 52l7 90v19q-165 -157 -356 -157h-30q-261 0 -434 262 q-64 126 -64 255q0 286 281 453q120 56 232 56zM150 501v-11q0 -223 225 -337q71 -26 127 -26h30q187 0 308 187q45 88 45 169v15q0 215 -214 329q-74 34 -154 34h-3q-227 0 -341 -236q-23 -73 -23 -124z" />
-<glyph unicode="&#x106;" horiz-adv-x="1251" d="M833 1863q68 0 80 -88q0 -40 -184 -204q-68 -84 -108 -84h-12q-72 14 -72 72v16q0 34 140 160q113 128 156 128zM714 1436q223 0 416 -136q15 -29 15 -45v-8q0 -64 -79 -72h-4l-132 68q-132 42 -216 42q-269 0 -465 -246q-98 -165 -98 -321q0 -315 295 -499 q131 -68 261 -68h11q166 0 336 106h23q68 -15 68 -68v-11q0 -80 -253 -155q-79 -23 -166 -23h-19q-355 0 -594 329q-113 190 -113 389q0 373 340 608q182 110 374 110z" />
-<glyph unicode="&#x107;" horiz-adv-x="973" d="M622 1467q68 0 80 -88q0 -40 -184 -204q-68 -84 -108 -84h-12q-72 14 -72 72v16q0 34 140 160q113 128 156 128zM513 1026q198 0 360 -149q11 -20 11 -38v-4q-13 -71 -71 -71h-4q-27 0 -120 71q-83 42 -165 42h-22q-218 0 -330 -229q-26 -77 -26 -139q0 -222 229 -337 q69 -26 146 -26q129 0 254 105l30 7h12q55 0 67 -71v-3q0 -77 -240 -169q-81 -15 -120 -15h-30q-207 0 -385 195q-109 154 -109 318q0 250 221 420q141 93 292 93z" />
-<glyph unicode="&#x108;" horiz-adv-x="1254" d="M672 1814h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM714 1436q223 0 416 -136q15 -29 15 -45v-8q0 -64 -79 -72h-4l-132 68q-132 42 -216 42q-269 0 -465 -246 q-98 -165 -98 -321q0 -315 295 -499q131 -68 261 -68h11q166 0 336 106h23q68 -15 68 -68v-11q0 -80 -253 -155q-79 -23 -166 -23h-19q-355 0 -594 329q-113 190 -113 389q0 373 340 608q182 110 374 110z" />
-<glyph unicode="&#x109;" horiz-adv-x="982" d="M509 1449h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM513 1026q198 0 360 -149q11 -20 11 -38v-4q-13 -71 -71 -71h-4q-27 0 -120 71q-83 42 -165 42h-22 q-218 0 -330 -229q-26 -77 -26 -139q0 -222 229 -337q69 -26 146 -26q129 0 254 105l30 7h12q55 0 67 -71v-3q0 -77 -240 -169q-81 -15 -120 -15h-30q-207 0 -385 195q-109 154 -109 318q0 250 221 420q141 93 292 93z" />
-<glyph unicode="&#x10a;" horiz-adv-x="1259" d="M719 1780q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6zM714 1436q223 0 416 -136q15 -29 15 -45v-8q0 -64 -79 -72h-4l-132 68q-132 42 -216 42q-269 0 -465 -246q-98 -165 -98 -321q0 -315 295 -499q131 -68 261 -68h11 q166 0 336 106h23q68 -15 68 -68v-11q0 -80 -253 -155q-79 -23 -166 -23h-19q-355 0 -594 329q-113 190 -113 389q0 373 340 608q182 110 374 110z" />
-<glyph unicode="&#x10b;" horiz-adv-x="973" d="M534 1379q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6zM513 1026q198 0 360 -149q11 -20 11 -38v-4q-13 -71 -71 -71h-4q-27 0 -120 71q-83 42 -165 42h-22q-218 0 -330 -229q-26 -77 -26 -139q0 -222 229 -337 q69 -26 146 -26q129 0 254 105l30 7h12q55 0 67 -71v-3q0 -77 -240 -169q-81 -15 -120 -15h-30q-207 0 -385 195q-109 154 -109 318q0 250 221 420q141 93 292 93z" />
-<glyph unicode="&#x10c;" horiz-adv-x="1241" d="M556 1813h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM714 1436q223 0 416 -136q15 -29 15 -45v-8q0 -64 -79 -72h-4l-132 68q-132 42 -216 42q-269 0 -465 -246 q-98 -165 -98 -321q0 -315 295 -499q131 -68 261 -68h11q166 0 336 106h23q68 -15 68 -68v-11q0 -80 -253 -155q-79 -23 -166 -23h-19q-355 0 -594 329q-113 190 -113 389q0 373 340 608q182 110 374 110z" />
-<glyph unicode="&#x10d;" horiz-adv-x="990" d="M363 1439h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM513 1026q198 0 360 -149q11 -20 11 -38v-4q-13 -71 -71 -71h-4q-27 0 -120 71q-83 42 -165 42h-22 q-218 0 -330 -229q-26 -77 -26 -139q0 -222 229 -337q69 -26 146 -26q129 0 254 105l30 7h12q55 0 67 -71v-3q0 -77 -240 -169q-81 -15 -120 -15h-30q-207 0 -385 195q-109 154 -109 318q0 250 221 420q141 93 292 93z" />
-<glyph unicode="&#x10e;" horiz-adv-x="1162" d="M322 1818h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM72 1441l19 -4h193l42 4q323 0 561 -281q152 -197 152 -447q0 -344 -303 -580q-192 -133 -406 -133h-258 q-72 13 -72 72v1293q11 72 72 72v4zM148 1293v-1145h163q361 0 535 349q45 119 45 227q0 261 -231 455q-143 114 -425 114h-87z" />
-<glyph unicode="&#x10f;" horiz-adv-x="1343" d="M1154 1514h28q83 0 112 -236v-20q0 -129 -144 -248q-29 -16 -44 -16q-18 7 -28 24v12q60 144 60 236v12q0 62 -48 144v20q15 72 64 72zM948 1432h15q68 -14 68 -61v-748l4 -128q0 -148 -121 -310q-171 -185 -385 -185h-30q-209 0 -389 196q-110 156 -110 322 q0 251 223 423q142 94 295 94q197 0 370 -155v427l-4 60q21 65 64 65zM147 529v-19q0 -231 242 -344q65 -19 117 -19h23q225 0 340 242q19 73 19 113v23q0 230 -246 344q-75 19 -117 19h-15q-225 0 -340 -238q-23 -67 -23 -121z" />
-<glyph unicode="&#x110;" horiz-adv-x="1303" d="M185 847v518q11 72 72 72v4l19 -4h193l42 4q323 0 561 -281q152 -197 152 -447q0 -344 -303 -580q-192 -133 -406 -133h-258q-72 13 -72 72v623h-49l-64 -4q-68 24 -68 80q13 76 72 76h109zM333 847h183l36 4q56 0 76 -80q0 -55 -68 -80l-60 4h-167v-547h163 q361 0 535 349q45 119 45 227q0 261 -231 455q-143 114 -425 114h-87v-446z" />
-<glyph unicode="&#x111;" horiz-adv-x="1343" d="M178 529v-19q0 -231 242 -344q65 -19 117 -19h23q225 0 340 242q19 73 19 113v23q0 230 -246 344q-75 19 -117 19h-15q-225 0 -340 -238q-23 -67 -23 -121zM919 1309l-4 58q21 65 64 65h15q68 -14 68 -61v-62h127l36 4q56 0 76 -80q0 -55 -68 -80l-60 4h-111v-534l4 -128 q0 -148 -121 -310q-171 -185 -385 -185h-30q-209 0 -389 196q-110 156 -110 322q0 251 223 423q142 94 295 94q197 0 370 -155v277h-110l-64 -4q-68 24 -68 80q13 76 72 76v4l40 -4h130z" />
-<glyph unicode="&#x112;" horiz-adv-x="1100" d="M129 1436l19 -4h740l15 4q65 0 76 -83q-15 -68 -83 -68h-692v-510h454l53 3q51 0 68 -75q0 -49 -61 -76l-75 4h-439v-484h711q52 0 64 -79q-20 -68 -68 -68h-782q-72 13 -72 72v1288q11 72 72 72v4zM85 1727h844q70 -13 70 -70v-12q-13 -70 -67 -70h-847q-60 0 -70 82 q19 70 70 70z" />
-<glyph unicode="&#x113;" horiz-adv-x="1105" d="M498 1004q290 0 451 -275q55 -108 55 -234v-19q-13 -73 -70 -73h-773q44 -146 187 -223q84 -33 158 -33q84 0 194 55h22q66 -13 66 -66v-11q0 -91 -264 -125h-26q-270 0 -432 253q-66 120 -66 249q0 276 260 440q127 62 238 62zM150 546h704q0 75 -88 194 q-121 114 -238 114h-41q-176 0 -289 -172q-40 -69 -48 -136zM85 1318h844q70 -13 70 -70v-12q-13 -70 -67 -70h-847q-60 0 -70 82q19 70 70 70z" />
-<glyph unicode="&#x114;" horiz-adv-x="1052" d="M107 1436l19 -4h740l15 4q65 0 76 -83q-15 -68 -83 -68h-692v-510h454l53 3q51 0 68 -75q0 -49 -61 -76l-75 4h-439v-484h711q52 0 64 -79q-20 -68 -68 -68h-782q-72 13 -72 72v1288q11 72 72 72v4zM292 1824h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8 q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72z" />
-<glyph unicode="&#x115;" horiz-adv-x="1101" d="M507 1004q290 0 451 -275q55 -108 55 -234v-19q-13 -73 -70 -73h-773q44 -146 187 -223q84 -33 158 -33q84 0 194 55h22q66 -13 66 -66v-11q0 -91 -264 -125h-26q-270 0 -432 253q-66 120 -66 249q0 276 260 440q127 62 238 62zM159 546h704q0 75 -88 194 q-121 114 -238 114h-41q-176 0 -289 -172q-40 -69 -48 -136zM301 1436h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72z" />
-<glyph unicode="&#x116;" horiz-adv-x="1070" d="M103 1436l19 -4h740l15 4q65 0 76 -83q-15 -68 -83 -68h-692v-510h454l53 3q51 0 68 -75q0 -49 -61 -76l-75 4h-439v-484h711q52 0 64 -79q-20 -68 -68 -68h-782q-72 13 -72 72v1288q11 72 72 72v4zM504 1785q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3 q-96 0 -116 119q0 76 86 110q12 6 33 6z" />
-<glyph unicode="&#x117;" horiz-adv-x="1105" d="M520 1004q290 0 451 -275q55 -108 55 -234v-19q-13 -73 -70 -73h-773q44 -146 187 -223q84 -33 158 -33q84 0 194 55h22q66 -13 66 -66v-11q0 -91 -264 -125h-26q-270 0 -432 253q-66 120 -66 249q0 276 260 440q127 62 238 62zM172 546h704q0 75 -88 194 q-121 114 -238 114h-41q-176 0 -289 -172q-40 -69 -48 -136zM543 1349q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6z" />
-<glyph unicode="&#x118;" horiz-adv-x="1052" d="M591 0h-488q-72 13 -72 72v1288q11 72 72 72v4l19 -4h740l15 4q65 0 76 -83q-15 -68 -83 -68h-692v-510h454l53 3q51 0 68 -75q0 -49 -61 -76l-75 4h-439v-484h711q52 0 64 -79q-20 -68 -68 -68h-155l2 -10v-103q0 -58 -81 -70q-25 -18 -25 -46q0 -53 67 -53h102l15 4 q70 -16 70 -67v-7q0 -46 -56 -67l-74 4h-36l-56 -4q-71 0 -144 92q-25 48 -25 84v28q0 96 106 155v4z" />
-<glyph unicode="&#x119;" horiz-adv-x="1122" d="M172 546h704q0 75 -88 194q-121 114 -238 114h-41q-176 0 -289 -172q-40 -69 -48 -136zM522 0h-2q-270 0 -432 253q-66 120 -66 249q0 276 260 440q127 62 238 62q290 0 451 -275q55 -108 55 -234v-19q-13 -73 -70 -73h-773q44 -146 187 -223q84 -33 158 -33q84 0 194 55 h22q66 -13 66 -66v-11q0 -69 -151 -105q2 -6 3 -12v-103q0 -58 -81 -70q-25 -18 -25 -46q0 -53 67 -53h102l15 4q70 -16 70 -67v-7q0 -46 -56 -67l-74 4h-36l-56 -4q-71 0 -144 92q-25 48 -25 84v28q0 96 106 155v4z" />
-<glyph unicode="&#x11a;" horiz-adv-x="1065" d="M107 1436l19 -4h740l15 4q65 0 76 -83q-15 -68 -83 -68h-692v-510h454l53 3q51 0 68 -75q0 -49 -61 -76l-75 4h-439v-484h711q52 0 64 -79q-20 -68 -68 -68h-782q-72 13 -72 72v1288q11 72 72 72v4zM357 1818h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12 q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72z" />
-<glyph unicode="&#x11b;" horiz-adv-x="1136" d="M542 1004q290 0 451 -275q55 -108 55 -234v-19q-13 -73 -70 -73h-773q44 -146 187 -223q84 -33 158 -33q84 0 194 55h22q66 -13 66 -66v-11q0 -91 -264 -125h-26q-270 0 -432 253q-66 120 -66 249q0 276 260 440q127 62 238 62zM194 546h704q0 75 -88 194 q-121 114 -238 114h-41q-176 0 -289 -172q-40 -69 -48 -136zM415 1422h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72z" />
-<glyph unicode="&#x11c;" horiz-adv-x="1285" d="M707 1836h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM738 1436q229 0 412 -128q19 -26 19 -49v-4q0 -58 -76 -72q-12 0 -147 64q-88 34 -170 34h-61 q-211 0 -404 -204q-125 -171 -125 -351v-15q0 -294 272 -480q142 -80 284 -80h15q140 0 280 76v344h-273q-71 12 -71 72v3q12 72 71 72h352q56 0 68 -72v-419q0 -92 -45 -114q-193 -113 -375 -113h-22q-355 0 -594 329q-113 186 -113 389q0 361 321 597q197 121 382 121z " />
-<glyph unicode="&#x11d;" horiz-adv-x="1167" d="M527 1454h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM532 1021q227 0 394 -189q115 -158 115 -298l-4 -126v-449q0 -126 -193 -275q-149 -97 -312 -97 q-279 0 -461 249q-33 55 -33 74v11q0 49 67 64h11q50 0 85 -93q134 -168 331 -168q237 0 357 216l7 48v167q-165 -152 -353 -152h-30q-205 0 -382 193q-108 153 -108 316q0 248 219 416q140 93 290 93zM168 523v-18q0 -227 238 -338q64 -19 115 -19h22q222 0 335 238 q18 71 18 111v23q0 226 -241 338q-75 18 -116 18h-14q-222 0 -335 -234q-22 -65 -22 -119z" />
-<glyph unicode="&#x11e;" horiz-adv-x="1246" d="M490 1807h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72zM725 1436q229 0 412 -128q19 -26 19 -49v-4q0 -58 -76 -72q-12 0 -147 64q-88 34 -170 34h-61 q-211 0 -404 -204q-125 -171 -125 -351v-15q0 -294 272 -480q142 -80 284 -80h15q140 0 280 76v344h-273q-71 12 -71 72v3q12 72 71 72h352q56 0 68 -72v-419q0 -92 -45 -114q-193 -113 -375 -113h-22q-355 0 -594 329q-113 186 -113 389q0 361 321 597q197 121 382 121z " />
-<glyph unicode="&#x11f;" horiz-adv-x="1140" d="M336 1436h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72zM545 1021q227 0 394 -189q115 -158 115 -298l-4 -126v-449q0 -126 -193 -275q-149 -97 -312 -97 q-279 0 -461 249q-33 55 -33 74v11q0 49 67 64h11q50 0 85 -93q134 -168 331 -168q237 0 357 216l7 48v167q-165 -152 -353 -152h-30q-205 0 -382 193q-108 153 -108 316q0 248 219 416q140 93 290 93zM181 523v-18q0 -227 238 -338q64 -19 115 -19h22q222 0 335 238 q18 71 18 111v23q0 226 -241 338q-75 18 -116 18h-14q-222 0 -335 -234q-22 -65 -22 -119z" />
-<glyph unicode="&#x120;" horiz-adv-x="1272" d="M750 1793q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6zM729 1436q229 0 412 -128q19 -26 19 -49v-4q0 -58 -76 -72q-12 0 -147 64q-88 34 -170 34h-61q-211 0 -404 -204q-125 -171 -125 -351v-15q0 -294 272 -480 q142 -80 284 -80h15q140 0 280 76v344h-273q-71 12 -71 72v3q12 72 71 72h352q56 0 68 -72v-419q0 -92 -45 -114q-193 -113 -375 -113h-22q-355 0 -594 329q-113 186 -113 389q0 361 321 597q197 121 382 121z" />
-<glyph unicode="&#x121;" horiz-adv-x="1149" d="M579 1407q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6zM554 1021q227 0 394 -189q115 -158 115 -298l-4 -126v-449q0 -126 -193 -275q-149 -97 -312 -97q-279 0 -461 249q-33 55 -33 74v11q0 49 67 64h11q50 0 85 -93 q134 -168 331 -168q237 0 357 216l7 48v167q-165 -152 -353 -152h-30q-205 0 -382 193q-108 153 -108 316q0 248 219 416q140 93 290 93zM190 523v-18q0 -227 238 -338q64 -19 115 -19h22q222 0 335 238q18 71 18 111v23q0 226 -241 338q-75 18 -116 18h-14 q-222 0 -335 -234q-22 -65 -22 -119z" />
-<glyph unicode="&#x122;" horiz-adv-x="1276" d="M671 3q-308 30 -523 326q-113 186 -113 389q0 361 321 597q197 121 382 121q229 0 412 -128q19 -26 19 -49v-4q0 -58 -76 -72q-12 0 -147 64q-88 34 -170 34h-61q-211 0 -404 -204q-125 -171 -125 -351v-15q0 -294 272 -480q142 -80 284 -80h15q140 0 280 76v344h-273 q-71 12 -71 72v3q12 72 71 72h352q56 0 68 -72v-419q0 -92 -45 -114q-170 -100 -332 -111v-31q104 -69 104 -170q0 -146 -170 -188l-49 3h-52l-56 -3q-59 20 -59 59v14q12 63 63 63h121q66 0 66 52v3q0 40 -62 52q-42 20 -42 53v94z" />
-<glyph unicode="&#x123;" horiz-adv-x="1184" d="M636 1669q28 -8 28 -32v-8q-59 -141 -60 -244q0 -60 48 -140l4 -20q0 -64 -84 -80q-96 0 -124 252q0 134 144 256zM567 1021q227 0 394 -189q115 -158 115 -298l-4 -126v-449q0 -126 -193 -275q-149 -97 -312 -97q-279 0 -461 249q-33 55 -33 74v11q0 49 67 64h11 q50 0 85 -93q134 -168 331 -168q237 0 357 216l7 48v167q-165 -152 -353 -152h-30q-205 0 -382 193q-108 153 -108 316q0 248 219 416q140 93 290 93zM203 523v-18q0 -227 238 -338q64 -19 115 -19h22q222 0 335 238q18 71 18 111v23q0 226 -241 338q-75 18 -116 18h-14 q-222 0 -335 -234q-22 -65 -22 -119z" />
-<glyph unicode="&#x124;" horiz-adv-x="1176" d="M558 1836h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM104 1433h15q68 -14 68 -60v-598h712v587q12 71 68 71h11q68 -13 68 -68v-1301q0 -49 -72 -64h-4 q-71 13 -71 72v560h-712v-564q0 -56 -71 -68h-4q-58 0 -72 76v1274q9 83 64 83z" />
-<glyph unicode="&#x125;" horiz-adv-x="1074" d="M518 1752h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM99 1430h15q68 -14 68 -60v-461q145 125 310 125q252 0 403 -238q57 -106 57 -200v-528q0 -56 -72 -68h-3 q-54 0 -72 68v506q0 204 -211 294q-51 15 -102 15q-210 0 -295 -223q-15 -48 -15 -158v-434q0 -56 -72 -68h-3q-54 0 -72 68v1291q15 71 64 71z" />
-<glyph unicode="&#x126;" horiz-adv-x="1303" d="M137 1192v158q9 83 64 83h15q68 -14 68 -60v-183h712v172q12 71 68 71h11q68 -13 68 -68v-173l24 2q78 0 101 -80q0 -52 -85 -80l-40 2v-972q0 -49 -72 -64h-4q-71 13 -71 72v560h-712v-564q0 -56 -71 -68h-4q-58 0 -72 76v959l-29 -1q-90 24 -90 80q17 76 95 76v4z M284 1038v-263h712v263h-712z" />
-<glyph unicode="&#x127;" horiz-adv-x="1330" d="M291 1287v72q15 71 64 71h15q68 -14 68 -60v-83h425l36 4q59 0 76 -80q0 -52 -64 -80l-68 4h-405v-226q145 125 310 125q252 0 403 -238q57 -106 57 -200v-528q0 -56 -72 -68h-3q-54 0 -72 68v506q0 204 -211 294q-51 15 -102 15q-210 0 -295 -223q-15 -48 -15 -158v-434 q0 -56 -72 -68h-3q-54 0 -72 68v1067h-128l-64 -4q-68 24 -68 80q13 76 72 76v4l40 -4h148z" />
-<glyph unicode="&#x128;" horiz-adv-x="621" d="M193 1739q79 0 189 -71l33 -4l76 23h7q72 -12 72 -72v-4q0 -70 -124 -90l-38 -4q-79 0 -181 72l-30 4l-83 -23q-75 14 -75 71v8q0 72 139 87zM194 1448l19 -3h142l15 3q76 -16 76 -76q-13 -76 -72 -76h-16v-1147h23q50 0 65 -73v-4q-13 -72 -72 -72h-180q-72 13 -72 72v4 q15 73 65 73h23v1147h-16q-63 0 -72 80v4q0 47 72 68z" />
-<glyph unicode="&#x129;" horiz-adv-x="616" d="M193 1329q79 0 189 -71l33 -4l76 23h7q72 -12 72 -72v-4q0 -70 -124 -90l-38 -4q-79 0 -181 72l-30 4l-83 -23q-75 14 -75 71v8q0 72 139 87zM296 1030q72 -18 72 -64v-898q0 -56 -72 -68h-4q-57 0 -71 75v869q9 86 75 86z" />
-<glyph unicode="&#x12a;" horiz-adv-x="683" d="M94 1718l40 -4h400l36 4q56 0 76 -80q0 -55 -68 -80l-60 4h-364l-64 -4q-68 24 -68 80q13 76 72 76v4zM238 1448l19 -3h142l15 3q76 -16 76 -76q-13 -76 -72 -76h-16v-1147h23q50 0 65 -73v-4q-13 -72 -72 -72h-180q-72 13 -72 72v4q15 73 65 73h23v1147h-16 q-63 0 -72 80v4q0 47 72 68z" />
-<glyph unicode="&#x12b;" horiz-adv-x="744" d="M116 1313l40 -4h400l36 4q56 0 76 -80q0 -55 -68 -80l-60 4h-364l-64 -4q-68 24 -68 80q13 76 72 76v4zM349 1030q72 -18 72 -64v-898q0 -56 -72 -68h-4q-57 0 -71 75v869q9 86 75 86z" />
-<glyph unicode="&#x12c;" horiz-adv-x="647" d="M102 1832h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72zM224 1448l19 -3h142l15 3q76 -16 76 -76q-13 -76 -72 -76h-16v-1147h23q50 0 65 -73v-4q-13 -72 -72 -72 h-180q-72 13 -72 72v4q15 73 65 73h23v1147h-16q-63 0 -72 80v4q0 47 72 68z" />
-<glyph unicode="&#x12d;" horiz-adv-x="647" d="M94 1422h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72zM296 1030q72 -18 72 -64v-898q0 -56 -72 -68h-4q-57 0 -71 75v869q9 86 75 86z" />
-<glyph unicode="&#x12e;" horiz-adv-x="511" d="M172 0h-40q-72 13 -72 72v4q15 73 65 73h23v1147h-16q-63 0 -72 80v4q0 47 72 68l19 -3h142l15 3q76 -16 76 -76q-13 -76 -72 -76h-16v-1147h23q50 0 65 -73v-4q-13 -72 -72 -72h-2v-65q0 -58 -81 -70q-25 -18 -25 -46q0 -53 67 -53h102l15 4q70 -16 70 -67v-7 q0 -46 -56 -67l-74 4h-36l-56 -4q-71 0 -144 92q-25 48 -25 84v28q0 96 106 155v4z" />
-<glyph unicode="&#x12f;" horiz-adv-x="466" d="M203 1286q72 -18 72 -64v-22q0 -53 -79 -64q-51 0 -68 75q15 75 75 75zM135 50q-4 11 -7 25v869q9 86 75 86q72 -18 72 -64v-898q0 -7 -1 -14q0 -3 1 -6v-103q0 -58 -81 -70q-25 -18 -25 -46q0 -53 67 -53h102l15 4q70 -16 70 -67v-7q0 -46 -56 -67l-74 4h-36l-56 -4 q-71 0 -144 92q-25 48 -25 84v28q0 96 106 155v4z" />
-<glyph unicode="&#x130;" horiz-adv-x="462" d="M235 1793q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6zM132 1448l19 -3h142l15 3q76 -16 76 -76q-13 -76 -72 -76h-16v-1147h23q50 0 65 -73v-4q-13 -72 -72 -72h-180q-72 13 -72 72v4q15 73 65 73h23v1147h-16 q-63 0 -72 80v4q0 47 72 68z" />
-<glyph unicode="&#x131;" horiz-adv-x="514" d="M309 970h8q46 -10 46 -43v-878q-9 -49 -49 -49h-2q-49 10 -49 43v809q-69 -23 -90 -23q-32 0 -43 47v13q0 38 103 59z" />
-<glyph unicode="&#x132;" horiz-adv-x="1435" d="M1260 1443h12q55 0 68 -72v-923q0 -239 -224 -383q-105 -61 -216 -61h-19q-220 0 -369 213q-68 113 -68 235q16 72 65 72h15q72 0 72 -118q6 -82 99 -182q91 -72 197 -72q211 0 289 220q11 40 11 80v923q13 68 68 68zM132 1448l19 -3h142l15 3q76 -16 76 -76 q-13 -76 -72 -76h-16v-1147h23q50 0 65 -73v-4q-13 -72 -72 -72h-180q-72 13 -72 72v4q15 73 65 73h23v1147h-16q-63 0 -72 80v4q0 47 72 68z" />
-<glyph unicode="&#x133;" horiz-adv-x="761" d="M550 1277q74 -15 74 -74q0 -62 -78 -74q-66 19 -66 63v22q0 45 70 63zM554 1026q70 -14 70 -70v-928q0 -276 -262 -403q-92 -33 -159 -33l-4 4h-4l-3 -4h-4q-63 0 -74 81q0 55 81 67q208 0 277 210l8 111v895q0 58 74 70zM155 1286q72 -18 72 -64v-22q0 -53 -79 -64 q-51 0 -68 75q15 75 75 75zM155 1030q72 -18 72 -64v-898q0 -56 -72 -68h-4q-57 0 -71 75v869q9 86 75 86z" />
-<glyph unicode="&#x134;" horiz-adv-x="1166" d="M861 1810h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM877 1443h12q55 0 68 -72v-923q0 -239 -224 -383q-105 -61 -216 -61h-19q-220 0 -369 213q-68 113 -68 235 q16 72 65 72h15q72 0 72 -118q6 -82 99 -182q91 -72 197 -72q211 0 289 220q11 40 11 80v923q13 68 68 68z" />
-<glyph unicode="&#x135;" horiz-adv-x="810" d="M478 1405h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM501 1026q70 -14 70 -70v-928q0 -276 -262 -403q-92 -33 -159 -33l-4 4h-4l-3 -4h-4q-63 0 -74 81 q0 55 81 67q208 0 277 210l8 111v895q0 58 74 70z" />
-<glyph unicode="&#x136;" horiz-adv-x="1104" d="M118 1434h3q72 -12 72 -68v-653q700 699 706 699l27 4h7q68 -13 68 -68v-12q0 -37 -79 -102l-465 -468l533 -660l3 -23v-11q0 -56 -71 -68h-4q-45 0 -125 117l-445 540l-155 -159v-434q0 -56 -72 -68h-3q-58 0 -72 75v1284q14 75 72 75zM584 40q104 -69 104 -170 q0 -146 -170 -188l-49 3h-52l-56 -3q-59 20 -59 59v14q12 63 63 63h121q66 0 66 52v3q0 40 -62 52q-42 20 -42 53q0 58 41.5 73.5t94.5 -11.5z" />
-<glyph unicode="&#x137;" horiz-adv-x="1026" d="M124 1435h15q69 -15 69 -61v-746q535 354 624 405h19q60 0 72 -79q0 -46 -121 -110q-294 -199 -307 -201v-3l424 -538l4 -23v-3q-13 -72 -72 -72h-7q-44 0 -133 128l-341 424h-3l-159 -102v-386q0 -56 -72 -68h-4q-54 0 -72 68v1295q15 72 64 72zM549 49 q104 -69 104 -170q0 -146 -170 -188l-49 3h-52l-56 -3q-59 20 -59 59v14q12 63 63 63h121q66 0 66 52v3q0 40 -62 52q-42 20 -42 53q0 58 41.5 73.5t94.5 -11.5z" />
-<glyph unicode="&#x138;" horiz-adv-x="1043" d="M140 1073l21 1q56 -14 60 -81v-365q535 354 624 405h19q60 0 72 -79q0 -46 -121 -110q-294 -199 -307 -201v-3l424 -538l4 -23v-3q-13 -72 -72 -72h-7q-44 0 -133 128l-341 424h-3l-159 -102v-386q0 -56 -72 -68h-4q-54 0 -72 68v927q12 65 67 78z" />
-<glyph unicode="&#x139;" horiz-adv-x="947" d="M498 1824q68 0 80 -88q0 -40 -184 -204q-68 -84 -108 -84h-12q-72 14 -72 72v16q0 34 140 160q113 128 156 128zM95 1433h15q68 -14 68 -60v-1226h617q61 0 72 -79q-20 -68 -72 -68h-692q-58 0 -72 76v1274q9 83 64 83z" />
-<glyph unicode="&#x13a;" horiz-adv-x="466" d="M312 1837q68 0 80 -88q0 -40 -184 -204q-68 -84 -108 -84h-12q-72 14 -72 72v16q0 34 140 160q113 128 156 128zM142 1427h15q68 -14 68 -60v-1220h79q49 0 64 -72v-3q-12 -72 -72 -72h-146q-58 0 -72 75v1270q9 82 64 82z" />
-<glyph unicode="&#x13b;" horiz-adv-x="929" d="M86 1433h15q68 -14 68 -60v-1226h617q61 0 72 -79q-20 -68 -72 -68h-692q-58 0 -72 76v1274q9 83 64 83zM544 -56q104 -69 104 -170q0 -146 -170 -188l-49 3h-52l-56 -3q-59 20 -59 59v14q12 63 63 63h121q66 0 66 52v3q0 40 -62 52q-42 20 -42 53q0 58 41.5 73.5 t94.5 -11.5z" />
-<glyph unicode="&#x13c;" horiz-adv-x="515" d="M191 1427h15q68 -14 68 -60v-1220h79q49 0 64 -72v-3q-12 -72 -72 -72h-146q-58 0 -72 75v1270q9 82 64 82zM329 -60q104 -69 104 -170q0 -146 -170 -188l-49 3h-52l-56 -3q-59 20 -59 59v14q12 63 63 63h121q66 0 66 52v3q0 40 -62 52q-42 20 -42 53q0 58 41.5 73.5 t94.5 -11.5z" />
-<glyph unicode="&#x13d;" horiz-adv-x="973" d="M719 1576h28q83 0 112 -236v-20q0 -129 -144 -248q-29 -16 -44 -16q-18 7 -28 24v12q60 144 60 236v12q0 62 -48 144v20q15 72 64 72zM130 1433h15q68 -14 68 -60v-1226h617q61 0 72 -79q-20 -68 -72 -68h-692q-58 0 -72 76v1274q9 83 64 83z" />
-<glyph unicode="&#x13e;" horiz-adv-x="559" d="M372 1567h28q83 0 112 -236v-20q0 -129 -144 -248q-29 -16 -44 -16q-18 7 -28 24v12q60 144 60 236v12q0 62 -48 144v20q15 72 64 72zM138 1427h15q68 -14 68 -60v-1220h79q49 0 64 -72v-3q-12 -72 -72 -72h-146q-58 0 -72 75v1270q9 82 64 82z" />
-<glyph unicode="&#x13f;" horiz-adv-x="1004" d="M635 869q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6zM130 1433h15q68 -14 68 -60v-1226h617q61 0 72 -79q-20 -68 -72 -68h-692q-58 0 -72 76v1274q9 83 64 83z" />
-<glyph unicode="&#x140;" horiz-adv-x="665" d="M468 834q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6zM129 1427h15q68 -14 68 -60v-1220h79q49 0 64 -72v-3q-12 -72 -72 -72h-146q-58 0 -72 75v1270q9 82 64 82z" />
-<glyph unicode="&#x141;" horiz-adv-x="1079" d="M185 697v653q9 83 64 83h15q68 -14 68 -60v-568q238 174 260 174h20q50 0 68 -72v-12q0 -49 -120 -120l-228 -165v-463h617q61 0 72 -79q-20 -68 -72 -68h-692q-58 0 -72 76v430q-45 -31 -49 -31l-20 -4q-80 16 -80 80q0 57 149 146z" />
-<glyph unicode="&#x142;" horiz-adv-x="695" d="M370 772q184 132 203 132h20q50 0 68 -72v-12q0 -49 -120 -120l-171 -124v-429h79q49 0 64 -72v-3q-12 -72 -72 -72h-146q-58 0 -72 75v395q-100 -70 -106 -70l-20 -4q-80 16 -80 80q0 58 152 148l54 40v681q9 82 64 82h15q68 -14 68 -60v-595z" />
-<glyph unicode="&#x143;" horiz-adv-x="1285" d="M824 1758q68 0 80 -88q0 -40 -184 -204q-68 -84 -108 -84h-12q-72 14 -72 72v16q0 34 140 160q113 128 156 128zM99 1431h15q48 0 83 -75q56 -63 821 -1051q8 0 8 -11l3 -4h4v1073q13 68 68 68h11q56 0 68 -71v-1285q0 -62 -79 -75q-43 0 -132 132l-787 1005v-1065 q0 -56 -72 -68h-3q-58 0 -72 75v1269q9 83 64 83z" />
-<glyph unicode="&#x144;" horiz-adv-x="1096" d="M648 1525q68 0 80 -88q0 -40 -184 -204q-68 -84 -108 -84h-12q-72 14 -72 72v16q0 34 140 160q113 128 156 128zM104 1002q70 -18 70 -62v-80q159 142 347 142q206 0 366 -172q117 -144 117 -303v-465q0 -48 -69 -62h-4q-70 12 -70 70v409q0 275 -237 362q-58 15 -103 15 h-11q-199 0 -307 -205q-29 -63 -29 -201v-384q0 -54 -70 -66h-3q-56 0 -70 73v845q8 84 73 84z" />
-<glyph unicode="&#x145;" horiz-adv-x="1307" d="M130 1431h15q48 0 83 -75q56 -63 821 -1051q8 0 8 -11l3 -4h4v1073q13 68 68 68h11q56 0 68 -71v-1285q0 -62 -79 -75q-43 0 -132 132l-787 1005v-1065q0 -56 -72 -68h-3q-58 0 -72 75v1269q9 83 64 83zM733 49q104 -69 104 -170q0 -146 -170 -188l-49 3h-52l-56 -3 q-59 20 -59 59v14q12 63 63 63h121q66 0 66 52v3q0 40 -62 52q-42 20 -42 53q0 58 41.5 73.5t94.5 -11.5z" />
-<glyph unicode="&#x146;" horiz-adv-x="1140" d="M592 45q104 -69 104 -170q0 -146 -170 -188l-49 3h-52l-56 -3q-59 20 -59 59v14q12 63 63 63h121q66 0 66 52v3q0 40 -62 52q-42 20 -42 53q0 58 41.5 73.5t94.5 -11.5zM108 1002q70 -18 70 -62v-80q159 142 347 142q206 0 366 -172q117 -144 117 -303v-465 q0 -48 -69 -62h-4q-70 12 -70 70v409q0 275 -237 362q-58 15 -103 15h-11q-199 0 -307 -205q-29 -63 -29 -201v-384q0 -54 -70 -66h-3q-56 0 -70 73v845q8 84 73 84z" />
-<glyph unicode="&#x147;" horiz-adv-x="1321" d="M498 1690h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM117 1431h15q48 0 83 -75q56 -63 821 -1051q8 0 8 -11l3 -4h4v1073q13 68 68 68h11q56 0 68 -71v-1285 q0 -62 -79 -75q-43 0 -132 132l-787 1005v-1065q0 -56 -72 -68h-3q-58 0 -72 75v1269q9 83 64 83z" />
-<glyph unicode="&#x148;" horiz-adv-x="1114" d="M406 1439h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM113 1002q70 -18 70 -62v-80q159 142 347 142q206 0 366 -172q117 -144 117 -303v-465q0 -48 -69 -62h-4 q-70 12 -70 70v409q0 275 -237 362q-58 15 -103 15h-11q-199 0 -307 -205q-29 -63 -29 -201v-384q0 -54 -70 -66h-3q-56 0 -70 73v845q8 84 73 84z" />
-<glyph unicode="&#x149;" horiz-adv-x="1427" d="M129 1276h28q83 0 112 -236v-20q0 -129 -144 -248q-29 -16 -44 -16q-18 7 -28 24v12q60 144 60 236v12q0 62 -48 144v20q15 72 64 72zM364 1002q70 -18 70 -62v-80q159 142 347 142q206 0 366 -172q117 -144 117 -303v-465q0 -48 -69 -62h-4q-70 12 -70 70v409 q0 275 -237 362q-58 15 -103 15h-11q-199 0 -307 -205q-29 -63 -29 -201v-384q0 -54 -70 -66h-3q-56 0 -70 73v845q8 84 73 84z" />
-<glyph unicode="&#x14a;" horiz-adv-x="1268" d="M613 1433q230 0 415 -181q135 -157 151 -302l7 -49l-3 -117v-207l3 -98q-14 -131 -90 -238q-151 -184 -370 -184q-156 0 -267 94l-8 34v11q13 68 68 68h7l125 -49l75 -8h8q172 0 268 166q37 55 37 215v230q0 324 -275 438q-79 26 -136 26h-22q-237 0 -374 -234 q-45 -82 -45 -252v-728q0 -56 -72 -68h-3q-58 0 -72 75v1271q9 83 64 83h15q68 -14 68 -60v-128q190 192 426 192z" />
-<glyph unicode="&#x14b;" horiz-adv-x="1140" d="M1012 50q-4 -212 -228 -299l-87 -15q-73 16 -73 62v22q0 54 83 61q110 0 160 138q0 23 3 42v418q0 275 -237 362q-58 15 -103 15h-11q-199 0 -307 -205q-29 -63 -29 -201v-384q0 -54 -70 -66h-3q-56 0 -70 73v845q8 84 73 84q70 -18 70 -62v-80q159 142 347 142 q206 0 366 -172q117 -144 117 -303v-465q0 -6 -1 -12z" />
-<glyph unicode="&#x14c;" horiz-adv-x="1580" d="M340 1704h844q70 -13 70 -70v-12q-13 -70 -67 -70h-847q-60 0 -70 82q19 70 70 70zM749 1435q363 0 607 -336q110 -191 110 -385q0 -359 -325 -597q-184 -117 -385 -117h-15q-370 0 -604 344q-106 174 -106 377q0 343 302 578q196 136 416 136zM178 710q0 -274 242 -461 q151 -102 321 -102h19q268 0 453 238q106 153 106 333q0 309 -283 490q-140 80 -287 80q-283 0 -469 -246q-102 -147 -102 -332z" />
-<glyph unicode="&#x14d;" horiz-adv-x="1188" d="M133 1325h844q70 -13 70 -70v-12q-13 -70 -67 -70h-847q-60 0 -70 82q19 70 70 70zM553 1018q197 0 357 -149q152 -160 152 -360q0 -286 -271 -450q-117 -59 -227 -59h-30q-205 0 -382 193q-108 153 -108 316q0 248 219 416q140 93 290 93zM193 520v-18q0 -204 197 -316 q71 -37 152 -37h22q211 0 323 219q26 69 26 134v18q0 170 -156 286q-91 63 -208 63q-231 0 -338 -241q-18 -59 -18 -108z" />
-<glyph unicode="&#x14e;" horiz-adv-x="1563" d="M557 1836h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72zM758 1435q363 0 607 -336q110 -191 110 -385q0 -359 -325 -597q-184 -117 -385 -117h-15q-370 0 -604 344 q-106 174 -106 377q0 343 302 578q196 136 416 136zM187 710q0 -274 242 -461q151 -102 321 -102h19q268 0 453 238q106 153 106 333q0 309 -283 490q-140 80 -287 80q-283 0 -469 -246q-102 -147 -102 -332z" />
-<glyph unicode="&#x14f;" horiz-adv-x="1127" d="M341 1436h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72zM549 1018q197 0 357 -149q152 -160 152 -360q0 -286 -271 -450q-117 -59 -227 -59h-30q-205 0 -382 193 q-108 153 -108 316q0 248 219 416q140 93 290 93zM189 520v-18q0 -204 197 -316q71 -37 152 -37h22q211 0 323 219q26 69 26 134v18q0 170 -156 286q-91 63 -208 63q-231 0 -338 -241q-18 -59 -18 -108z" />
-<glyph unicode="&#x150;" horiz-adv-x="1580" d="M567 1843h4q76 -13 76 -72v-20q0 -21 -168 -240q-18 -20 -36 -20h-8q-33 0 -44 44v8q105 263 128 284q27 16 48 16zM815 1831q80 -16 80 -80q0 -32 -108 -168q-67 -104 -96 -104h-12q-33 0 -44 44q0 17 112 272q35 36 68 36zM749 1435q363 0 607 -336q110 -191 110 -385 q0 -359 -325 -597q-184 -117 -385 -117h-15q-370 0 -604 344q-106 174 -106 377q0 343 302 578q196 136 416 136zM178 710q0 -274 242 -461q151 -102 321 -102h19q268 0 453 238q106 153 106 333q0 309 -283 490q-140 80 -287 80q-283 0 -469 -246q-102 -147 -102 -332z" />
-<glyph unicode="&#x151;" horiz-adv-x="1135" d="M430 1469h4q76 -13 76 -72v-20q0 -21 -168 -240q-18 -20 -36 -20h-8q-33 0 -44 44v8q105 263 128 284q27 16 48 16zM678 1457q80 -16 80 -80q0 -32 -108 -168q-67 -104 -96 -104h-12q-33 0 -44 44q0 17 112 272q35 36 68 36zM544 1018q197 0 357 -149q152 -160 152 -360 q0 -286 -271 -450q-117 -59 -227 -59h-30q-205 0 -382 193q-108 153 -108 316q0 248 219 416q140 93 290 93zM184 520v-18q0 -204 197 -316q71 -37 152 -37h22q211 0 323 219q26 69 26 134v18q0 170 -156 286q-91 63 -208 63q-231 0 -338 -241q-18 -59 -18 -108z" />
-<glyph unicode="&#x152;" horiz-adv-x="2157" d="M204 710q0 -274 199 -461q123 -102 262 -102h16q219 0 371 238q87 153 87 333q0 309 -232 490q-115 80 -235 80q-232 0 -384 -246q-84 -147 -84 -332zM1141 289q-59 -93 -148 -172q-151 -117 -315 -117h-13q-303 0 -494 344q-87 174 -87 377q0 343 247 578 q161 136 341 136q277 0 469 -291v222q11 72 72 72v4l19 -4h744l15 4q65 0 76 -83q-15 -69 -83 -69h-695v-512h455l54 4q51 0 68 -76q0 -50 -61 -76l-76 4h-440v-486h713q53 0 65 -80q-20 -68 -68 -68h-786q-72 13 -72 72v217z" />
-<glyph unicode="&#x153;" horiz-adv-x="2025" d="M193 525v-18q0 -204 197 -316q71 -37 152 -37h22q211 0 323 219q26 69 26 134v18q0 170 -156 286q-91 63 -208 63q-231 0 -338 -241q-18 -59 -18 -108zM1069 551h704q0 75 -88 194q-121 114 -238 114h-41q-176 0 -289 -172q-40 -69 -48 -136zM990 251q-68 -108 -199 -187 q-117 -59 -227 -59h-30q-205 0 -382 193q-108 153 -108 316q0 248 219 416q140 93 290 93q197 0 357 -149q49 -51 82 -106q64 102 187 179q127 62 238 62q290 0 451 -275q55 -108 55 -234v-19q-13 -73 -70 -73h-773q44 -146 187 -223q84 -33 158 -33q84 0 194 55h22 q66 -13 66 -66v-11q0 -91 -264 -125h-26q-266 0 -427 246z" />
-<glyph unicode="&#x154;" horiz-adv-x="986" d="M551 1859q68 0 80 -88q0 -40 -184 -204q-68 -84 -108 -84h-12q-72 14 -72 72v16q0 34 140 160q113 128 156 128zM99 1435h315q201 0 329 -212q41 -82 41 -171v-15q0 -198 -193 -325l-37 -19q344 -593 344 -606v-19q0 -56 -72 -68h-4q-54 0 -113 129l-311 530h-215v-591 q0 -56 -72 -68h-4q-58 0 -72 76v1275q9 84 64 84zM183 1291v-485h215q179 0 235 193l4 31v30q0 142 -159 216q-45 15 -140 15h-155z" />
-<glyph unicode="&#x155;" horiz-adv-x="928" d="M573 1507q68 0 80 -88q0 -40 -184 -204q-68 -84 -108 -84h-12q-72 14 -72 72v16q0 34 140 160q113 128 156 128zM143 1031q72 -18 72 -64v-83q165 147 353 147q101 0 215 -49q30 -31 30 -60v-4q-12 -71 -71 -71h-4q-103 33 -155 33h-22q-221 0 -324 -229 q-22 -61 -22 -139v-444q0 -56 -72 -68h-4q-57 0 -71 75v869q9 87 75 87z" />
-<glyph unicode="&#x156;" horiz-adv-x="995" d="M104 1435h315q201 0 329 -212q41 -82 41 -171v-15q0 -198 -193 -325l-37 -19q344 -593 344 -606v-19q0 -56 -72 -68h-4q-54 0 -113 129l-311 530h-215v-591q0 -56 -72 -68h-4q-58 0 -72 76v1275q9 84 64 84zM188 1291v-485h215q179 0 235 193l4 31v30q0 142 -159 216 q-45 15 -140 15h-155zM544 81q104 -69 104 -170q0 -146 -170 -188l-49 3h-52l-56 -3q-59 20 -59 59v14q12 63 63 63h121q66 0 66 52v3q0 40 -62 52q-42 20 -42 53q0 58 41.5 73.5t94.5 -11.5z" />
-<glyph unicode="&#x157;" horiz-adv-x="854" d="M95 1031q72 -18 72 -64v-83q165 147 353 147q101 0 215 -49q30 -31 30 -60v-4q-12 -71 -71 -71h-4q-103 33 -155 33h-22q-221 0 -324 -229q-22 -61 -22 -139v-444q0 -56 -72 -68h-4q-57 0 -71 75v869q9 87 75 87zM381 76q104 -69 104 -170q0 -146 -170 -188l-49 3h-52 l-56 -3q-59 20 -59 59v14q12 63 63 63h121q66 0 66 52v3q0 40 -62 52q-42 20 -42 53q0 58 41.5 73.5t94.5 -11.5z" />
-<glyph unicode="&#x158;" horiz-adv-x="1003" d="M216 1831h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM99 1435h315q201 0 329 -212q41 -82 41 -171v-15q0 -198 -193 -325l-37 -19q344 -593 344 -606v-19 q0 -56 -72 -68h-4q-54 0 -113 129l-311 530h-215v-591q0 -56 -72 -68h-4q-58 0 -72 76v1275q9 84 64 84zM183 1291v-485h215q179 0 235 193l4 31v30q0 142 -159 216q-45 15 -140 15h-155z" />
-<glyph unicode="&#x159;" horiz-adv-x="885" d="M261 1431h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM113 1031q72 -18 72 -64v-83q165 147 353 147q101 0 215 -49q30 -31 30 -60v-4q-12 -71 -71 -71h-4 q-103 33 -155 33h-22q-221 0 -324 -229q-22 -61 -22 -139v-444q0 -56 -72 -68h-4q-57 0 -71 75v869q9 87 75 87z" />
-<glyph unicode="&#x15a;" horiz-adv-x="929" d="M587 1863q68 0 80 -88q0 -40 -184 -204q-68 -84 -108 -84h-12q-72 14 -72 72v16q0 34 140 160q113 128 156 128zM482 1437q186 0 310 -168l4 -16v-23q0 -49 -73 -61q-30 0 -103 81q-66 42 -126 42h-23q-126 0 -191 -134q-15 -32 -15 -65v-31q0 -145 175 -210 q126 0 272 -118q141 -143 141 -314q0 -210 -180 -344q-110 -76 -244 -76q-217 0 -359 187l-8 31q13 72 73 72q40 0 103 -80q94 -65 172 -65h34q152 0 245 172q15 56 15 84v38q0 151 -172 245l-195 54q-218 125 -218 328v27q0 200 214 313q80 31 149 31z" />
-<glyph unicode="&#x15b;" horiz-adv-x="980" d="M582 1444q68 0 80 -88q0 -40 -184 -204q-68 -84 -108 -84h-12q-72 14 -72 72v16q0 34 140 160q113 128 156 128zM485 1017q257 0 404 -233l3 -29v-4q0 -59 -74 -70q-49 0 -100 85q-103 100 -233 100q-171 0 -270 -163l-3 -19q0 -49 111 -59q426 -103 466 -118 q107 -70 107 -178v-3q0 -154 -226 -282q-97 -44 -207 -44q-225 0 -381 211q-15 22 -15 41v22q0 54 82 63q35 0 100 -93q99 -92 229 -92q156 0 259 148l7 22v4q0 48 -66 55q-497 111 -526 137q-92 70 -92 170q0 140 203 270q112 59 222 59z" />
-<glyph unicode="&#x15c;" horiz-adv-x="885" d="M435 1805h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM460 1437q186 0 310 -168l4 -16v-23q0 -49 -73 -61q-30 0 -103 81q-66 42 -126 42h-23q-126 0 -191 -134 q-15 -32 -15 -65v-31q0 -145 175 -210q126 0 272 -118q141 -143 141 -314q0 -210 -180 -344q-110 -76 -244 -76q-217 0 -359 187l-8 31q13 72 73 72q40 0 103 -80q94 -65 172 -65h34q152 0 245 172q15 56 15 84v38q0 151 -172 245l-195 54q-218 125 -218 328v27 q0 200 214 313q80 31 149 31z" />
-<glyph unicode="&#x15d;" horiz-adv-x="969" d="M474 1391h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM485 1017q257 0 404 -233l3 -29v-4q0 -59 -74 -70q-49 0 -100 85q-103 100 -233 100q-171 0 -270 -163 l-3 -19q0 -49 111 -59q426 -103 466 -118q107 -70 107 -178v-3q0 -154 -226 -282q-97 -44 -207 -44q-225 0 -381 211q-15 22 -15 41v22q0 54 82 63q35 0 100 -93q99 -92 229 -92q156 0 259 148l7 22v4q0 48 -66 55q-497 111 -526 137q-92 70 -92 170q0 140 203 270 q112 59 222 59z" />
-<glyph unicode="&#x15e;" horiz-adv-x="903" d="M359 2q-185 19 -311 185l-8 31q13 72 73 72q40 0 103 -80q94 -65 172 -65h34q152 0 245 172q15 56 15 84v38q0 151 -172 245l-195 54q-218 125 -218 328v27q0 200 214 313q80 31 149 31q186 0 310 -168l4 -16v-23q0 -49 -73 -61q-30 0 -103 81q-66 42 -126 42h-23 q-126 0 -191 -134q-15 -32 -15 -65v-31q0 -145 175 -210q126 0 272 -118q141 -143 141 -314q0 -210 -180 -344q-73 -50 -156 -67v-38q104 -69 104 -170q0 -146 -170 -188l-49 3h-52l-56 -3q-59 20 -59 59v14q12 63 63 63h121q66 0 66 52v3q0 40 -62 52q-42 20 -42 53v93z " />
-<glyph unicode="&#x15f;" horiz-adv-x="978" d="M553 7v-45q104 -69 104 -170q0 -146 -170 -188l-49 3h-52l-56 -3q-59 20 -59 59v14q12 63 63 63h121q66 0 66 52v3q0 40 -62 52q-42 20 -42 53v103q-193 21 -331 208q-15 22 -15 41v22q0 54 82 63q35 0 100 -93q99 -92 229 -92q156 0 259 148l7 22v4q0 48 -66 55 q-497 111 -526 137q-92 70 -92 170q0 140 203 270q112 59 222 59q257 0 404 -233l3 -29v-4q0 -59 -74 -70q-49 0 -100 85q-103 100 -233 100q-171 0 -270 -163l-3 -19q0 -49 111 -59q426 -103 466 -118q107 -70 107 -178v-3q0 -154 -226 -282q-58 -26 -121 -37z" />
-<glyph unicode="&#x160;" horiz-adv-x="924" d="M309 1822h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM455 1437q186 0 310 -168l4 -16v-23q0 -49 -73 -61q-30 0 -103 81q-66 42 -126 42h-23q-126 0 -191 -134 q-15 -32 -15 -65v-31q0 -145 175 -210q126 0 272 -118q141 -143 141 -314q0 -210 -180 -344q-110 -76 -244 -76q-217 0 -359 187l-8 31q13 72 73 72q40 0 103 -80q94 -65 172 -65h34q152 0 245 172q15 56 15 84v38q0 151 -172 245l-195 54q-218 125 -218 328v27 q0 200 214 313q80 31 149 31z" />
-<glyph unicode="&#x161;" horiz-adv-x="977" d="M340 1444h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM476 1017q257 0 404 -233l3 -29v-4q0 -59 -74 -70q-49 0 -100 85q-103 100 -233 100q-171 0 -270 -163l-3 -19 q0 -49 111 -59q426 -103 466 -118q107 -70 107 -178v-3q0 -154 -226 -282q-97 -44 -207 -44q-225 0 -381 211q-15 22 -15 41v22q0 54 82 63q35 0 100 -93q99 -92 229 -92q156 0 259 148l7 22v4q0 48 -66 55q-497 111 -526 137q-92 70 -92 170q0 140 203 270q112 59 222 59z " />
-<glyph unicode="&#x162;" horiz-adv-x="1219" d="M108 1436h933q68 -13 68 -68v-15q0 -55 -83 -64h-376v-1221q0 -56 -72 -68h-3q-58 0 -72 76v1213h-383q-76 15 -76 75q16 72 64 72zM533 -73h28q83 0 112 -143v-12q0 -78 -144 -150q-29 -10 -44 -10q-18 4 -28 15v7q60 87 60 143v7q0 38 -48 87v12q15 44 64 44z" />
-<glyph unicode="&#x163;" horiz-adv-x="730" d="M292 1390h14q66 -14 66 -59v-330h151l33 4q51 0 69 -74q0 -50 -62 -73l-55 4h-136v-539q0 -141 92 -173l84 -7h41q48 0 62 -70v-3q-12 -70 -70 -70h-77q-175 0 -260 191q-15 47 -15 110v561h-73l-59 -4q-62 22 -62 73q12 70 66 70v4l37 -4h91v308q9 81 63 81zM392 -47h28 q83 0 112 -143v-12q0 -78 -144 -150q-29 -10 -44 -10q-18 4 -28 15v7q60 87 60 143v7q0 38 -48 87v12q15 44 64 44z" />
-<glyph unicode="&#x164;" horiz-adv-x="1224" d="M446 1836h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM117 1436h933q68 -13 68 -68v-15q0 -55 -83 -64h-376v-1221q0 -56 -72 -68h-3q-58 0 -72 76v1213h-383 q-76 15 -76 75q16 72 64 72z" />
-<glyph unicode="&#x165;" horiz-adv-x="757" d="M195 1800h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM319 1390h14q66 -14 66 -59v-330h151l33 4q51 0 69 -74q0 -50 -62 -73l-55 4h-136v-539q0 -141 92 -173l84 -7 h41q48 0 62 -70v-3q-12 -70 -70 -70h-77q-175 0 -260 191q-15 47 -15 110v561h-73l-59 -4q-62 22 -62 73q12 70 66 70v4l37 -4h91v308q9 81 63 81z" />
-<glyph unicode="&#x166;" horiz-adv-x="1197" d="M507 641h-285l-64 -4q-68 24 -68 80q13 76 72 76v4l40 -4h305v496h-383q-76 15 -76 75q16 72 64 72h933q68 -13 68 -68v-15q0 -55 -83 -64h-376v-496h268l36 4q59 0 76 -80q0 -52 -64 -80l-68 4h-248v-573q0 -56 -72 -68h-3q-58 0 -72 76v565z" />
-<glyph unicode="&#x167;" horiz-adv-x="748" d="M242 618v244h-73l-59 -4q-62 22 -62 73q12 70 66 70v4l37 -4h91v308q9 81 63 81h14q66 -14 66 -59v-330h151l33 4q51 0 69 -74q0 -50 -62 -73l-55 4h-136v-244h148l34 4q52 0 71 -80q0 -55 -64 -80l-56 4h-133v-143q0 -141 92 -173l84 -7h41q48 0 62 -70v-3 q-12 -70 -70 -70h-77q-175 0 -260 191q-15 47 -15 110v165h-66l-60 -4q-64 24 -64 80q12 76 68 76v4l37 -4h85z" />
-<glyph unicode="&#x168;" horiz-adv-x="1219" d="M130 1433h15q68 -14 68 -60v-806q0 -260 148 -348q93 -72 208 -72q221 0 333 227q23 71 23 148v840q12 71 68 71h11q68 -13 68 -68v-881q0 -225 -216 -393q-136 -91 -276 -91h-26q-235 0 -409 231q-79 124 -79 306v813q9 83 64 83zM461 1715h19q70 0 162 -63l29 -7h18 l74 22q74 -15 74 -74q0 -74 -140 -92h-26q-69 0 -162 63l-29 7h-19l-70 -18h-7q-66 13 -66 66v11q0 55 81 74q29 11 62 11z" />
-<glyph unicode="&#x169;" horiz-adv-x="1131" d="M421 1314h19q70 0 162 -63l29 -7h18l74 22q74 -15 74 -74q0 -74 -140 -92h-26q-69 0 -162 63l-29 7h-19l-70 -18h-7q-66 13 -66 66v11q0 55 81 74q29 11 62 11zM117 1002q70 -18 70 -63v-391q0 -251 142 -336q90 -69 201 -69q214 0 322 219q22 71 22 142v424q14 74 73 74 q69 -17 69 -70v-870q0 -48 -69 -62h-4q-69 12 -69 69v70h-4q-153 -139 -329 -139h-25q-227 0 -395 223q-77 120 -77 296v398q8 85 73 85z" />
-<glyph unicode="&#x16a;" horiz-adv-x="1135" d="M99 1433h15q68 -14 68 -60v-806q0 -260 148 -348q93 -72 208 -72q221 0 333 227q23 71 23 148v840q12 71 68 71h11q68 -13 68 -68v-881q0 -225 -216 -393q-136 -91 -276 -91h-26q-235 0 -409 231q-79 124 -79 306v813q9 83 64 83zM208 1712l33 -4h606l30 4q50 0 64 -80 q0 -52 -54 -80l-57 4h-572l-54 -4q-57 24 -57 80q11 76 61 76v4z" />
-<glyph unicode="&#x16b;" horiz-adv-x="1135" d="M108 1002q70 -18 70 -63v-391q0 -251 142 -336q90 -69 201 -69q214 0 322 219q22 71 22 142v424q14 74 73 74q69 -17 69 -70v-870q0 -48 -69 -62h-4q-69 12 -69 69v70h-4q-153 -139 -329 -139h-25q-227 0 -395 223q-77 120 -77 296v398q8 85 73 85zM252 1299l521 1 q80 -14 80 -71v-12q-9 -70 -76 -70h-538q-64 0 -71 82q13 70 84 70z" />
-<glyph unicode="&#x16c;" horiz-adv-x="1149" d="M341 1800h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72zM99 1433h15q68 -14 68 -60v-806q0 -260 148 -348q93 -72 208 -72q221 0 333 227q23 71 23 148v840 q12 71 68 71h11q68 -13 68 -68v-881q0 -225 -216 -393q-136 -91 -276 -91h-26q-235 0 -409 231q-79 124 -79 306v813q9 83 64 83z" />
-<glyph unicode="&#x16d;" horiz-adv-x="1171" d="M328 1396h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72zM135 1002q70 -18 70 -63v-391q0 -251 142 -336q90 -69 201 -69q214 0 322 219q22 71 22 142v424 q14 74 73 74q69 -17 69 -70v-870q0 -48 -69 -62h-4q-69 12 -69 69v70h-4q-153 -139 -329 -139h-25q-227 0 -395 223q-77 120 -77 296v398q8 85 73 85z" />
-<glyph unicode="&#x16e;" horiz-adv-x="1127" d="M95 1433h15q68 -14 68 -60v-806q0 -260 148 -348q93 -72 208 -72q221 0 333 227q23 71 23 148v840q12 71 68 71h11q68 -13 68 -68v-881q0 -225 -216 -393q-136 -91 -276 -91h-26q-235 0 -409 231q-79 124 -79 306v813q9 83 64 83zM542 1832h15q121 0 174 -147l4 -38v-11 q0 -118 -140 -174l-45 -8q-113 0 -174 114q-19 41 -19 79q0 127 148 181zM474 1643q13 -71 72 -71q72 12 72 68v11q-11 64 -64 64h-12q-57 0 -68 -72z" />
-<glyph unicode="&#x16f;" horiz-adv-x="1180" d="M135 1002q70 -18 70 -63v-391q0 -251 142 -336q90 -69 201 -69q214 0 322 219q22 71 22 142v424q14 74 73 74q69 -17 69 -70v-870q0 -48 -69 -62h-4q-69 12 -69 69v70h-4q-153 -139 -329 -139h-25q-227 0 -395 223q-77 120 -77 296v398q8 85 73 85zM547 1405h15 q121 0 174 -147l4 -38v-11q0 -118 -140 -174l-45 -8q-113 0 -174 114q-19 41 -19 79q0 127 148 181zM479 1216q13 -71 72 -71q72 12 72 68v11q-11 64 -64 64h-12q-57 0 -68 -72z" />
-<glyph unicode="&#x170;" horiz-adv-x="1175" d="M555 1834h4q76 -13 76 -72v-20q0 -21 -168 -240q-18 -20 -36 -20h-8q-33 0 -44 44v8q105 263 128 284q27 16 48 16zM803 1822q80 -16 80 -80q0 -32 -108 -168q-67 -104 -96 -104h-12q-33 0 -44 44q0 17 112 272q35 36 68 36zM121 1433h15q68 -14 68 -60v-806 q0 -260 148 -348q93 -72 208 -72q221 0 333 227q23 71 23 148v840q12 71 68 71h11q68 -13 68 -68v-881q0 -225 -216 -393q-136 -91 -276 -91h-26q-235 0 -409 231q-79 124 -79 306v813q9 83 64 83z" />
-<glyph unicode="&#x171;" horiz-adv-x="1144" d="M515 1403h4q76 -13 76 -72v-20q0 -21 -168 -240q-18 -20 -36 -20h-8q-33 0 -44 44v8q105 263 128 284q27 16 48 16zM763 1391q80 -16 80 -80q0 -32 -108 -168q-67 -104 -96 -104h-12q-33 0 -44 44q0 17 112 272q35 36 68 36zM117 1002q70 -18 70 -63v-391 q0 -251 142 -336q90 -69 201 -69q214 0 322 219q22 71 22 142v424q14 74 73 74q69 -17 69 -70v-870q0 -48 -69 -62h-4q-69 12 -69 69v70h-4q-153 -139 -329 -139h-25q-227 0 -395 223q-77 120 -77 296v398q8 85 73 85z" />
-<glyph unicode="&#x172;" horiz-adv-x="1202" d="M496 3q-201 24 -355 228q-79 124 -79 306v813q9 83 64 83h15q68 -14 68 -60v-806q0 -260 148 -348q93 -72 208 -72q221 0 333 227q23 71 23 148v840q12 71 68 71h11q68 -13 68 -68v-881q0 -225 -216 -393q-107 -71 -216 -87v-95q0 -58 -81 -70q-25 -18 -25 -46 q0 -53 67 -53h102l15 4q70 -16 70 -67v-7q0 -46 -56 -67l-74 4h-36l-56 -4q-71 0 -144 92q-25 48 -25 84v28q0 96 106 155v4z" />
-<glyph unicode="&#x173;" horiz-adv-x="1211" d="M1025 69q2 -6 3 -13v-103q0 -58 -81 -70q-25 -18 -25 -46q0 -53 67 -53h102l15 4q70 -16 70 -67v-7q0 -46 -56 -67l-74 4h-36l-56 -4q-71 0 -144 92q-25 48 -25 84v28q0 96 106 155v4l-2 30q-6 12 -6 29v70h-4q-153 -139 -329 -139h-25q-227 0 -395 223q-77 120 -77 296 v398q8 85 73 85q70 -18 70 -63v-391q0 -251 142 -336q90 -69 201 -69q214 0 322 219q22 71 22 142v424q14 74 73 74q69 -17 69 -70v-863z" />
-<glyph unicode="&#x174;" horiz-adv-x="1778" d="M861 1840h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM112 1436h16q64 0 83 -114l280 -973h8q292 1031 311 1061q25 26 53 26h11q67 0 87 -136q27 -74 277 -955h4 l307 1057q27 34 53 34h15q68 -14 68 -60v-19l-383 -1327q-31 -30 -60 -30h-4q-71 0 -91 140q-246 836 -277 959h-3l-307 -1065q-28 -34 -61 -34h-15q-62 0 -84 144q-325 1106 -352 1220q16 72 64 72z" />
-<glyph unicode="&#x175;" horiz-adv-x="1422" d="M667 1369h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM118 1009q68 0 95 -148l181 -555h3q207 659 221 677q26 22 56 26q66 0 88 -122l188 -581h3q199 631 217 670 q31 33 59 33q74 -15 74 -74l-291 -906q-31 -29 -59 -29h-3q-68 0 -96 144q-177 536 -177 552h-7l-214 -663q-25 -33 -59 -33h-3q-52 0 -74 66l-276 869q15 74 74 74z" />
-<glyph unicode="&#x176;" horiz-adv-x="1167" d="M536 1792h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM104 1433h16q49 0 79 -72l345 -516h4q372 562 387 573q20 15 34 15h23q46 0 64 -72q0 -32 -129 -209 l-307 -458v-611q-9 -83 -64 -83h-16q-49 0 -68 61v621q0 14 -159 251l-269 405l-4 23q16 72 64 72z" />
-<glyph unicode="&#x177;" horiz-adv-x="964" d="M475 1395h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60zM808 1012q69 -13 69 -66v-4q-3 -25 -345 -840q-161 -401 -181 -426q-18 -14 -45 -21q-70 15 -70 60v17 q0 13 157 391v3l-332 810v3q14 69 70 69q59 0 101 -138q227 -538 234 -566h3q274 669 290 687q25 21 49 21z" />
-<glyph unicode="&#x178;" horiz-adv-x="1149" d="M104 1433h16q49 0 79 -72l345 -516h4q372 562 387 573q20 15 34 15h23q46 0 64 -72q0 -32 -129 -209l-307 -458v-611q-9 -83 -64 -83h-16q-49 0 -68 61v621q0 14 -159 251l-269 405l-4 23q16 72 64 72zM395 1687h15q68 -14 68 -60v-19q0 -55 -72 -68q-75 15 -75 76 q16 71 64 71zM685 1687h11q68 -15 68 -64v-11q0 -60 -75 -72q-72 14 -72 72v11q0 49 68 64z" />
-<glyph unicode="&#x179;" horiz-adv-x="1272" d="M701 1807q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM95 1437h1021q55 0 68 -72v-3q0 -29 -83 -126l-842 -1088h853q72 -11 72 -72v-4q-13 -72 -72 -72h-1009q-60 0 -72 80q0 28 182 254l740 956h-846 q-76 15 -76 75q16 72 64 72z" />
-<glyph unicode="&#x17a;" horiz-adv-x="973" d="M568 1389q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM110 1012l37 -4h639l34 4q66 -20 66 -63v-22q0 -23 -85 -115l-532 -668h551q66 -13 66 -66v-12q0 -54 -70 -66h-702q-59 0 -70 78q0 29 151 203l466 587h-495 l-59 -4q-63 22 -63 74q12 70 66 70v4z" />
-<glyph unicode="&#x17b;" horiz-adv-x="1325" d="M640 1797q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6zM108 1437h1021q55 0 68 -72v-3q0 -29 -83 -126l-842 -1088h853q72 -11 72 -72v-4q-13 -72 -72 -72h-1009q-60 0 -72 80q0 28 182 254l740 956h-846q-76 15 -76 75 q16 72 64 72z" />
-<glyph unicode="&#x17c;" horiz-adv-x="1004" d="M482 1357q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6zM106 1012l37 -4h639l34 4q66 -20 66 -63v-22q0 -23 -85 -115l-532 -668h551q66 -13 66 -66v-12q0 -54 -70 -66h-702q-59 0 -70 78q0 29 151 203l466 587h-495l-59 -4 q-63 22 -63 74q12 70 66 70v4z" />
-<glyph unicode="&#x17d;" horiz-adv-x="1294" d="M494 1836h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM112 1437h1021q55 0 68 -72v-3q0 -29 -83 -126l-842 -1088h853q72 -11 72 -72v-4q-13 -72 -72 -72h-1009 q-60 0 -72 80q0 28 182 254l740 956h-846q-76 15 -76 75q16 72 64 72z" />
-<glyph unicode="&#x17e;" horiz-adv-x="978" d="M349 1458h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72zM106 1012l37 -4h639l34 4q66 -20 66 -63v-22q0 -23 -85 -115l-532 -668h551q66 -13 66 -66v-12q0 -54 -70 -66 h-702q-59 0 -70 78q0 29 151 203l466 587h-495l-59 -4q-63 22 -63 74q12 70 66 70v4z" />
-<glyph unicode="&#x17f;" horiz-adv-x="616" d="M385 1437h91q52 0 64 -80q0 -51 -76 -68h-57q-138 0 -182 -152l-3 -79v-53v-145v-750l3 -42q0 -51 -75 -68q-52 0 -76 64l4 46v750l-4 145v68q0 254 223 348z" />
-<glyph unicode="&#x192;" horiz-adv-x="973" d="M704 1424h96q56 0 68 -84q0 -54 -80 -72h-60q-146 0 -192 -160l-4 -84v-56h172l64 4q51 0 68 -76v-12q0 -50 -72 -68h-232v-760l4 -96q-15 -106 -80 -192q-118 -124 -256 -124h-84q-59 0 -72 76q12 80 76 80h52q136 0 192 120q16 41 16 136v760h-208q-56 0 -68 84 q0 40 64 72l80 -4h128v72q0 269 236 368z" />
-<glyph unicode="&#x1fa;" horiz-adv-x="1266" d="M545 1467q11 -61 62 -61q62 10 62 58v10q-9 55 -55 55h-10q-50 0 -59 -62zM603 1096l-159 -410h325v3l-162 407h-4zM673 1322q19 -32 32 -85q457 -1135 461 -1162v-10q0 -54 -72 -65h-4q-66 0 -94 122l-170 422h-442l-208 -522q-30 -22 -53 -22h-7q-72 12 -72 69v4 l128 331q319 791 363 918q-45 24 -75 80q-16 36 -16 68q0 86 78 133q-20 15 -29 55v6q0 30 102 145q34 47 66 47q66 -15 66 -63v-6q0 -28 -73 -109q-19 -29 -37 -48q104 -1 150 -127l3 -33v-9q0 -91 -97 -139z" />
-<glyph unicode="&#x1fb;" horiz-adv-x="1171" d="M638 1798q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM557 1447q105 0 165 -110q18 -39 18 -77q0 -123 -143 -175l-37 -4h-14q-118 0 -169 143l-4 36v11q0 124 151 173zM487 1268v-15q17 -58 59 -58h14q56 0 66 69 q-12 70 -69 70q-70 -12 -70 -66zM542 1004q285 0 451 -278q51 -114 51 -235v-425q0 -54 -70 -66h-3q-48 0 -70 55v4l4 91v4q-162 -154 -348 -154h-30q-255 0 -425 256q-62 124 -62 250q0 280 275 443q117 55 227 55zM183 509v-11q0 -218 220 -329q69 -26 124 -26h30 q182 0 300 183q44 86 44 165v15q0 210 -209 322q-72 33 -150 33h-4q-221 0 -333 -231q-22 -71 -22 -121z" />
-<glyph unicode="&#x1fc;" horiz-adv-x="1615" d="M1029 1830q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM837 1435h595q46 0 64 -72q-15 -75 -76 -75h-500v-568h390q69 -15 69 -61v-19q0 -56 -72 -68h-387v-424h504q58 0 72 -76q0 -56 -76 -72h-575q-58 0 -72 76 v496h-277q-20 -24 -166 -296l-144 -253q-27 -23 -53 -23h-4q-60 0 -72 80q0 22 242 446l493 886q28 23 45 23zM576 720h197v352z" />
-<glyph unicode="&#x1fd;" horiz-adv-x="2042" d="M1082 1363q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM544 1004q263 0 431 -245h4q90 155 277 219q84 22 150 22q279 0 442 -270q54 -113 54 -212v-47q-12 -69 -69 -69h-767v-4q37 -121 139 -190q95 -62 197 -62 q88 0 197 55l19 3q73 -17 73 -73q0 -93 -241 -127l-52 -4q-192 0 -354 150v-81q0 -62 -76 -69h-4q-38 0 -62 58l4 88v11q-161 -153 -347 -153h-29q-255 0 -424 255q-62 123 -62 248q0 280 274 442q117 55 226 55zM186 511v-11q0 -217 219 -328q70 -26 125 -26h29 q181 0 299 183q44 85 44 164v14q0 210 -208 322q-72 33 -150 33h-3q-221 0 -333 -230q-22 -72 -22 -121zM1055 544h698v4q0 96 -117 219q-112 87 -234 87q-187 0 -303 -175q-44 -82 -44 -135z" />
-<glyph unicode="&#x1fe;" horiz-adv-x="1655" d="M876 1825q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM775 1426q267 0 492 -198q149 153 180 153h8q71 -18 71 -71v-7q0 -42 -105 -124l-60 -60q127 -195 127 -410q0 -356 -322 -593q-184 -116 -383 -116h-15 q-232 0 -436 154h-3q-154 -150 -173 -150l-19 -4h-4q-59 0 -71 79q0 36 124 139q4 11 41 37q-165 210 -165 462q0 340 300 574q196 135 413 135zM208 706q0 -195 128 -349l822 773v4q-179 146 -383 146q-281 0 -465 -244q-102 -147 -102 -330zM437 255q156 -109 331 -109h18 q267 0 451 237q105 151 105 330q0 152 -86 304h-4z" />
-<glyph unicode="&#x1ff;" horiz-adv-x="1188" d="M650 1412q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM961 1012h4q58 0 69 -77q0 -29 -102 -127q113 -138 113 -309q0 -281 -266 -441q-114 -58 -222 -58h-29q-137 0 -284 102q-81 -98 -120 -98h-14q-51 0 -62 76 q0 30 98 124q-98 135 -98 295q0 242 215 407q137 91 284 91q146 0 283 -91q86 106 131 106zM194 509v-18q0 -90 50 -182h4l477 492q-72 50 -182 50q-227 0 -331 -236q-18 -58 -18 -106zM830 706l-484 -502q94 -58 190 -58h21q207 0 317 214q25 68 25 131v18q0 108 -69 197z " />
-<glyph unicode="&#x2c6;" horiz-adv-x="1024" d="M513 1431h28q48 0 136 -128q64 -64 64 -100v-12q-15 -72 -72 -72h-12q-45 0 -128 120h-4q-83 -120 -128 -120h-12q-72 15 -72 72v12q0 38 120 168q38 60 80 60z" />
-<glyph unicode="&#x2c7;" horiz-adv-x="1024" d="M358 1430h12q45 0 128 -120h4q83 120 128 120h12q72 -15 72 -72v-12q0 -35 -96 -140q-60 -88 -104 -88h-28q-47 0 -132 124q-68 68 -68 104v12q15 72 72 72z" />
-<glyph unicode="&#x2c9;" horiz-adv-x="1059" d="M309 1322l40 -4h400l36 4q56 0 76 -80q0 -55 -68 -80l-60 4h-364l-64 -4q-68 24 -68 80q13 76 72 76v4z" />
-<glyph unicode="&#x2d8;" horiz-adv-x="1024" d="M301 1365h12q52 0 84 -84q52 -60 120 -60q102 0 148 112q30 32 60 32h8q76 -13 76 -76v-4q0 -82 -156 -192q-75 -28 -132 -28h-8q-192 0 -284 204v24q15 72 72 72z" />
-<glyph unicode="&#x2d9;" horiz-adv-x="1024" d="M539 1362q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6z" />
-<glyph unicode="&#x2da;" horiz-adv-x="1024" d="M517 1447q105 0 165 -110q18 -39 18 -77q0 -123 -143 -175l-37 -4h-14q-118 0 -169 143l-4 36v11q0 124 151 173zM447 1268v-15q17 -58 59 -58h14q56 0 66 69q-12 70 -69 70q-70 -12 -70 -66z" />
-<glyph unicode="&#x2db;" horiz-adv-x="1024" d="M500 47h7q54 0 67 -70v-103q0 -58 -81 -70q-25 -18 -25 -46q0 -53 67 -53h102l15 4q70 -16 70 -67v-7q0 -46 -56 -67l-74 4h-36l-56 -4q-71 0 -144 92q-25 48 -25 84v28q0 96 106 155v4l-4 56q21 60 67 60z" />
-<glyph unicode="&#x2dc;" horiz-adv-x="1024" d="M452 1695q79 0 189 -71l33 -4l76 23h7q72 -12 72 -72v-4q0 -70 -124 -90l-38 -4q-79 0 -181 72l-30 4l-83 -23q-75 14 -75 71v8q0 72 139 87z" />
-<glyph unicode="&#x2dd;" horiz-adv-x="1024" d="M440 1429h4q76 -13 76 -72v-20q0 -21 -168 -240q-18 -20 -36 -20h-8q-33 0 -44 44v8q105 263 128 284q27 16 48 16zM688 1417q80 -16 80 -80q0 -32 -108 -168q-67 -104 -96 -104h-12q-33 0 -44 44q0 17 112 272q35 36 68 36z" />
-<glyph unicode="&#x384;" horiz-adv-x="392" d="M281 1425q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52z" />
-<glyph unicode="&#x385;" horiz-adv-x="797" d="M474 1390q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM182 1309q80 -19 80 -80q-16 -80 -80 -80q-80 16 -80 80q19 80 80 80zM634 1309q80 -19 80 -80q-16 -80 -80 -80q-80 16 -80 80q19 80 80 80z" />
-<glyph unicode="&#x386;" horiz-adv-x="1254" d="M369 1521q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM591 1428q69 0 102 -139q454 -1182 458 -1210v-11q0 -56 -71 -68h-4q-66 0 -94 128l-169 439h-440l-206 -544q-30 -23 -53 -23h-8q-71 13 -71 71v4l128 346 q335 873 364 969q34 38 64 38zM591 1142l-158 -428h323v4l-161 424h-4z" />
-<glyph unicode="&#x387;" horiz-adv-x="405" d="M204 1002q90 0 116 -107v-21q0 -64 -82 -101q-12 -6 -34 -6h-3q-96 0 -116 119q0 76 86 110q12 6 33 6z" />
-<glyph unicode="&#x388;" horiz-adv-x="1347" d="M393 1436l19 -4h740l15 4q65 0 76 -83q-15 -68 -83 -68h-692v-510h454l53 3q51 0 68 -75q0 -49 -61 -76l-75 4h-439v-484h711q52 0 64 -79q-20 -68 -68 -68h-782q-72 13 -72 72v1288q11 72 72 72v4zM219 1460q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4 q-47 0 -62 70v7q0 33 113 161q38 52 74 52z" />
-<glyph unicode="&#x389;" horiz-adv-x="1466" d="M228 1425q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM390 1437h15q68 -14 68 -60v-598h712v587q12 71 68 71h11q68 -13 68 -68v-1301q0 -49 -72 -64h-4q-71 13 -71 72v560h-712v-564q0 -56 -71 -68h-4q-58 0 -72 76 v1274q9 83 64 83z" />
-<glyph unicode="&#x38a;" horiz-adv-x="748" d="M210 1452q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM392 1448l19 -3h142l15 3q76 -16 76 -76q-13 -76 -72 -76h-16v-1147h23q50 0 65 -73v-4q-13 -72 -72 -72h-180q-72 13 -72 72v4q15 73 65 73h23v1147h-16 q-63 0 -72 80v4q0 47 72 68z" />
-<glyph unicode="&#x38c;" horiz-adv-x="1734" d="M219 1448q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM912 1435q363 0 607 -336q110 -191 110 -385q0 -359 -325 -597q-184 -117 -385 -117h-15q-370 0 -604 344q-106 174 -106 377q0 343 302 578q196 136 416 136z M341 710q0 -274 242 -461q151 -102 321 -102h19q268 0 453 238q106 153 106 333q0 309 -283 490q-140 80 -287 80q-283 0 -469 -246q-102 -147 -102 -332z" />
-<glyph unicode="&#x38e;" horiz-adv-x="1457" d="M237 1443q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM439 1433h16q49 0 79 -72l345 -516h4q372 562 387 573q20 15 34 15h23q46 0 64 -72q0 -32 -129 -209l-307 -458v-611q-9 -83 -64 -83h-16q-49 0 -68 61v621 q0 14 -159 251l-269 405l-4 23q16 72 64 72z" />
-<glyph unicode="&#x38f;" horiz-adv-x="1646" d="M781 1437q367 0 613 -340q111 -198 111 -373q0 -339 -263 -568h-4v-4h164q73 -14 73 -64v-16q-15 -68 -69 -68h-492q-60 0 -72 80q19 68 69 68q106 0 289 157q160 187 160 407q0 272 -244 469q-162 103 -320 103h-30q-273 0 -461 -248q-103 -159 -103 -324 q0 -331 305 -514q52 -32 175 -61q46 -19 46 -72q-20 -69 -73 -69h-484q-76 15 -76 76q17 73 73 73h160v3q-93 70 -164 180q-107 186 -107 392q0 336 309 579q199 134 415 134zM204 1439q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161 q38 52 74 52z" />
-<glyph unicode="&#x390;" horiz-adv-x="740" d="M417 1777q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM125 1696q80 -19 80 -80q-16 -80 -80 -80q-80 16 -80 80q19 80 80 80zM577 1696q80 -19 80 -80q-16 -80 -80 -80q-80 16 -80 80q19 80 80 80zM269 1448l19 -3 h142l15 3q76 -16 76 -76q-13 -76 -72 -76h-16v-1147h23q50 0 65 -73v-4q-13 -72 -72 -72h-180q-72 13 -72 72v4q15 73 65 73h23v1147h-16q-63 0 -72 80v4q0 47 72 68z" />
-<glyph unicode="&#x391;" horiz-adv-x="1246" d="M591 1428q69 0 102 -139q454 -1182 458 -1210v-11q0 -56 -71 -68h-4q-66 0 -94 128l-169 439h-440l-206 -544q-30 -23 -53 -23h-8q-71 13 -71 71v4l128 346q335 873 364 969q34 38 64 38zM591 1142l-158 -428h323v4l-161 424h-4z" />
-<glyph unicode="&#x392;" horiz-adv-x="991" d="M125 1432l18 -3h230l15 3q172 0 294 -162q61 -90 61 -196v-11q0 -129 -102 -245q245 -135 245 -392q0 -258 -268 -396q-86 -30 -154 -30h-339q-72 13 -72 72v1285q11 72 72 72v3zM200 1282v-423h139q185 0 238 132q15 38 15 76v11q0 146 -170 200l-79 4h-143zM200 712 v-565h196q216 0 290 124q49 69 49 155v7q0 203 -222 272l-106 7h-207z" />
-<glyph unicode="&#x393;" horiz-adv-x="1030" d="M121 1433h730q68 -14 68 -60v-19q0 -56 -72 -68h-643v-1218q0 -56 -71 -68h-4q-58 0 -72 76v1274q9 83 64 83z" />
-<glyph unicode="&#x394;" horiz-adv-x="1242" d="M595 1432h12q59 0 87 -117q460 -1200 468 -1239v-4q0 -47 -57 -72l-83 4h-842l-80 -4q-60 22 -60 79l499 1323q28 30 56 30zM599 1148l-378 -997h760q-374 995 -382 997z" />
-<glyph unicode="&#x395;" horiz-adv-x="1109" d="M129 1436l19 -4h740l15 4q65 0 76 -83q-15 -68 -83 -68h-692v-510h454l53 3q51 0 68 -75q0 -49 -61 -76l-75 4h-439v-484h711q52 0 64 -79q-20 -68 -68 -68h-782q-72 13 -72 72v1288q11 72 72 72v4z" />
-<glyph unicode="&#x396;" horiz-adv-x="1342" d="M147 1437h1021q55 0 68 -72v-3q0 -29 -83 -126l-842 -1088h853q72 -11 72 -72v-4q-13 -72 -72 -72h-1009q-60 0 -72 80q0 28 182 254l740 956h-846q-76 15 -76 75q16 72 64 72z" />
-<glyph unicode="&#x397;" horiz-adv-x="1223" d="M139 1437h15q68 -14 68 -60v-598h712v587q12 71 68 71h11q68 -13 68 -68v-1301q0 -49 -72 -64h-4q-71 13 -71 72v560h-712v-564q0 -56 -71 -68h-4q-58 0 -72 76v1274q9 83 64 83z" />
-<glyph unicode="&#x398;" horiz-adv-x="1611" d="M786 1431q362 0 606 -335q109 -190 109 -384q0 -358 -324 -595q-184 -117 -384 -117h-15q-368 0 -603 343q-105 174 -105 376q0 342 301 576q196 136 415 136zM217 708q0 -274 241 -459q150 -102 320 -102h19q267 0 452 237q105 152 105 332q0 308 -282 489 q-139 79 -286 79q-283 0 -467 -245q-102 -147 -102 -331zM428 787h715q72 -13 72 -71v-4q-13 -72 -72 -72h-719q-68 15 -68 68v15q0 49 72 64z" />
-<glyph unicode="&#x399;" horiz-adv-x="581" d="M181 1448l19 -3h142l15 3q76 -16 76 -76q-13 -76 -72 -76h-16v-1147h23q50 0 65 -73v-4q-13 -72 -72 -72h-180q-72 13 -72 72v4q15 73 65 73h23v1147h-16q-63 0 -72 80v4q0 47 72 68z" />
-<glyph unicode="&#x39a;" horiz-adv-x="1118" d="M118 1434h3q72 -12 72 -68v-653q700 699 706 699l27 4h7q68 -13 68 -68v-12q0 -37 -79 -102l-465 -468l533 -660l3 -23v-11q0 -56 -71 -68h-4q-45 0 -125 117l-445 540l-155 -159v-434q0 -56 -72 -68h-3q-58 0 -72 75v1284q14 75 72 75z" />
-<glyph unicode="&#x39b;" horiz-adv-x="1232" d="M593 1438h11q60 0 87 -117q463 -1205 471 -1245v-4q-13 -72 -72 -72h-4q-52 0 -76 68q-406 1086 -413 1086l-425 -1124q-31 -30 -61 -30h-4q-60 0 -72 80l501 1328q28 30 57 30z" />
-<glyph unicode="&#x39c;" horiz-adv-x="1479" d="M124 1432h15q59 0 83 -98l480 -1073q19 22 336 748l186 400q22 23 49 23h15q55 0 64 -83v-1273q-14 -76 -72 -76h-4q-71 12 -71 68v941h-4q-423 -960 -438 -983q-29 -26 -57 -26q-66 0 -117 159l-378 846h-4v-937q0 -56 -71 -68h-4q-58 0 -72 76v1273q9 83 64 83z" />
-<glyph unicode="&#x39d;" horiz-adv-x="1329" d="M130 1431h15q48 0 83 -75q56 -63 821 -1051q8 0 8 -11l3 -4h4v1073q13 68 68 68h11q56 0 68 -71v-1285q0 -62 -79 -75q-43 0 -132 132l-787 1005v-1065q0 -56 -72 -68h-3q-58 0 -72 75v1269q9 83 64 83z" />
-<glyph unicode="&#x39e;" horiz-adv-x="1158" d="M108 1432h876q68 -13 68 -68v-15q0 -55 -83 -64h-849q-76 15 -76 75q16 72 64 72zM230 803h636q72 -12 72 -72v-3q-13 -72 -72 -72h-636q-58 0 -72 75q18 72 72 72zM116 148h864q72 -13 72 -68v-12q-13 -68 -68 -68h-868q-58 0 -72 76q18 72 72 72z" />
-<glyph unicode="&#x39f;" horiz-adv-x="1620" d="M793 1435q363 0 607 -336q110 -191 110 -385q0 -359 -325 -597q-184 -117 -385 -117h-15q-370 0 -604 344q-106 174 -106 377q0 343 302 578q196 136 416 136zM222 710q0 -274 242 -461q151 -102 321 -102h19q268 0 453 238q106 153 106 333q0 309 -283 490 q-140 80 -287 80q-283 0 -469 -246q-102 -147 -102 -332z" />
-<glyph unicode="&#x3a0;" horiz-adv-x="1184" d="M130 1431h872q68 -13 68 -68v-1299q0 -49 -72 -64h-3q-72 13 -72 72v1211h-710v-1215q0 -56 -72 -68h-3q-58 0 -72 75v1272q9 84 64 84z" />
-<glyph unicode="&#x3a1;" horiz-adv-x="946" d="M121 1438h346q202 0 345 -209q53 -107 53 -193v-27q0 -189 -171 -326q-116 -80 -227 -80h-262v-535q0 -55 -72 -68h-4q-58 0 -72 76v1278q9 84 64 84zM205 1290v-539h235q190 0 262 182q15 38 15 91q0 167 -171 247q-42 19 -98 19h-243z" />
-<glyph unicode="&#x3a3;" horiz-adv-x="1124" d="M131 1315h804q62 -12 62 -63v-14q0 -50 -76 -59h-630q411 -470 432 -501l3 -20v-11q0 -33 -77 -104l-347 -404v-3h629q66 -12 66 -63v-10q-12 -63 -62 -63h-797q-53 0 -66 70q0 29 77 97l420 487l-487 560q-10 18 -10 35q15 66 59 66z" />
-<glyph unicode="&#x3a4;" horiz-adv-x="1262" d="M129 1436h933q68 -13 68 -68v-15q0 -55 -83 -64h-376v-1221q0 -56 -72 -68h-3q-58 0 -72 76v1213h-383q-76 15 -76 75q16 72 64 72z" />
-<glyph unicode="&#x3a5;" horiz-adv-x="1237" d="M142 1433h16q49 0 79 -72l345 -516h4q372 562 387 573q20 15 34 15h23q46 0 64 -72q0 -32 -129 -209l-307 -458v-611q-9 -83 -64 -83h-16q-49 0 -68 61v621q0 14 -159 251l-269 405l-4 23q16 72 64 72z" />
-<glyph unicode="&#x3a6;" horiz-adv-x="1629" d="M773 1439h11q69 -13 69 -68v-76q184 -14 376 -122q273 -192 273 -455q0 -247 -251 -433q-114 -87 -338 -133q-60 -3 -60 -11v-76q0 -50 -72 -65h-4q-72 13 -72 72v76h-4q-139 0 -346 106q-296 189 -296 468q0 264 277 451q116 85 369 122v72q12 72 68 72zM207 722 q0 -262 315 -411q123 -41 183 -41v903q-186 -21 -335 -133q-163 -146 -163 -318zM853 1173v-903h3q147 0 338 133q156 144 156 300v34q0 209 -247 360q-87 52 -250 76z" />
-<glyph unicode="&#x3a7;" horiz-adv-x="1338" d="M131 1437h16q44 0 72 -56l425 -543l458 588q20 11 38 11h12q55 0 68 -72v-3q0 -33 -102 -152l-383 -493l477 -611l8 -30v-4q-13 -72 -72 -72h-4q-49 0 -83 72l-417 531l-459 -588q-20 -15 -42 -15h-4q-72 13 -72 72v11q0 25 163 224l322 417q-470 596 -481 619l-4 22 q16 72 64 72z" />
-<glyph unicode="&#x3a8;" horiz-adv-x="1342" d="M123 1437h16q68 -14 68 -61v-314q11 -134 42 -205q86 -167 242 -220l68 -19v736q10 83 65 83h15q68 -14 68 -61v-758h4q103 6 243 133q110 131 110 333v285q13 68 68 68h11q56 0 69 -72v-334q0 -325 -323 -515q-138 -53 -182 -53v-395q0 -55 -72 -68h-3q-58 0 -73 76v387 q-87 7 -231 83q-269 187 -269 508v300q9 83 64 83z" />
-<glyph unicode="&#x3a9;" horiz-adv-x="1658" d="M781 1437q367 0 613 -340q111 -198 111 -373q0 -339 -263 -568h-4v-4h164q73 -14 73 -64v-16q-15 -68 -69 -68h-492q-60 0 -72 80q19 68 69 68q106 0 289 157q160 187 160 407q0 272 -244 469q-162 103 -320 103h-30q-273 0 -461 -248q-103 -159 -103 -324 q0 -331 305 -514q52 -32 175 -61q46 -19 46 -72q-20 -69 -73 -69h-484q-76 15 -76 76q17 73 73 73h160v3q-93 70 -164 180q-107 186 -107 392q0 336 309 579q199 134 415 134z" />
-<glyph unicode="&#x3aa;" horiz-adv-x="648" d="M144 1683h15q68 -14 68 -60v-19q0 -55 -72 -68q-75 15 -75 76q16 71 64 71zM434 1683h11q68 -15 68 -64v-11q0 -60 -75 -72q-72 14 -72 72v11q0 49 68 64zM212 1431l19 -4h139l15 4q75 -16 75 -76q-13 -75 -71 -75h-15v-1133h22q50 0 64 -72v-3q-12 -72 -71 -72h-177 q-72 13 -72 72v3q15 72 64 72h23v1133h-15q-63 0 -72 79v4q0 46 72 68z" />
-<glyph unicode="&#x3ab;" horiz-adv-x="1216" d="M121 1433h16q49 0 79 -72l345 -516h4q372 562 387 573q20 15 34 15h23q46 0 64 -72q0 -32 -129 -209l-307 -458v-611q-9 -83 -64 -83h-16q-49 0 -68 61v621q0 14 -159 251l-269 405l-4 23q16 72 64 72zM412 1687h15q68 -14 68 -60v-19q0 -55 -72 -68q-75 15 -75 76 q16 71 64 71zM702 1687h11q68 -15 68 -64v-11q0 -60 -75 -72q-72 14 -72 72v11q0 49 68 64z" />
-<glyph unicode="&#x3ac;" horiz-adv-x="1414" d="M574 1015q256 0 426 -241l30 -59q15 24 104 263q27 37 63 37q74 -14 74 -74q-4 -23 -159 -433q159 -415 159 -434q-17 -74 -74 -74q-68 0 -108 159l-51 137h-8q-49 -119 -167 -200q-125 -96 -296 -96h-15q-205 0 -382 193q-107 152 -107 315q0 274 263 444q130 63 248 63 zM208 508q0 -219 218 -334q78 -29 152 -29q209 0 326 218l52 145q-64 221 -174 292q-95 67 -200 67h-19q-196 0 -311 -189q-44 -90 -44 -170zM673 1420q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52z" />
-<glyph unicode="&#x3ad;" horiz-adv-x="900" d="M372 1017h38q161 0 317 -164q26 -27 26 -54v-8q0 -59 -86 -72q-47 0 -111 84q-96 65 -159 65h-21q-93 0 -142 -111v-50q0 -71 108 -114q16 -8 47 -8h68q82 -13 82 -73v-7q0 -69 -112 -69q-126 0 -171 -92l-13 -53q27 -142 159 -142h4q108 0 223 134q29 15 51 15 q74 0 86 -80v-4q-29 -87 -180 -168q-90 -46 -180 -46h-17q-185 0 -292 184q-21 62 -21 110q0 115 103 211q-116 99 -116 225q0 190 240 279zM513 1416q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52z" />
-<glyph unicode="&#x3ae;" horiz-adv-x="1191" d="M132 1000q70 -18 70 -62v-81q160 143 349 143q206 0 367 -172q117 -145 117 -305v-881q0 -51 -77 -62q-66 19 -66 70v825q0 276 -239 364q-57 14 -102 14h-11q-200 0 -309 -205q-29 -64 -29 -202v-385q0 -54 -70 -66h-3q-56 0 -70 73v848q8 84 73 84zM627 1399 q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52z" />
-<glyph unicode="&#x3af;" horiz-adv-x="467" d="M203 1008q70 -18 70 -63v-879q0 -54 -70 -66h-4q-56 0 -70 74v849q9 85 74 85zM277 1391q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52z" />
-<glyph unicode="&#x3b0;" horiz-adv-x="1203" d="M157 1004q70 -18 70 -62v-392q0 -252 143 -337q90 -70 201 -70q214 0 323 220q22 71 22 143v425q14 73 73 73q70 -16 70 -70v-465q0 -218 -209 -381q-132 -88 -268 -88h-25q-227 0 -396 224q-77 120 -77 296v400q8 84 73 84zM638 1390q73 -17 73 -70v-7q0 -31 -81 -121 q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52zM346 1309q80 -19 80 -80q-16 -80 -80 -80q-80 16 -80 80q19 80 80 80zM798 1309q80 -19 80 -80q-16 -80 -80 -80q-80 16 -80 80q19 80 80 80z" />
-<glyph unicode="&#x3b1;" horiz-adv-x="1414" d="M587 1015q256 0 426 -241l30 -59q15 24 104 263q27 37 63 37q74 -14 74 -74q-4 -23 -159 -433q159 -415 159 -434q-17 -74 -74 -74q-68 0 -108 159l-51 137h-8q-49 -119 -167 -200q-125 -96 -296 -96h-15q-205 0 -382 193q-107 152 -107 315q0 274 263 444q130 63 248 63 zM221 508q0 -219 218 -334q78 -29 152 -29q209 0 326 218l52 145q-64 221 -174 292q-95 67 -200 67h-19q-196 0 -311 -189q-44 -90 -44 -170z" />
-<glyph unicode="&#x3b2;" horiz-adv-x="999" d="M451 1434h4q236 0 357 -238q27 -68 27 -137v-15q0 -157 -138 -287v-4q191 -126 191 -345q0 -230 -237 -367q-99 -38 -181 -38q-127 0 -256 91v-441q-2 -75 -70.5 -77.5t-79.5 64.5v79v629v132v591q0 192 207 322q90 41 176 41zM218 999v-598q0 -118 111 -201 q65 -45 149 -45q187 0 253 193l8 53v15q0 183 -203 250l-54 3h-130q-73 12 -73 72v16q0 47 69 64h65q197 0 257 144q15 47 15 79v19q0 155 -184 216l-50 4q-166 0 -226 -178z" />
-<glyph unicode="&#x3b3;" horiz-adv-x="1057" d="M168 1008q64 0 104 -142l243 -601h7q280 705 295 721q34 21 53 22q74 -15 74 -75q0 -19 -347 -870l-7 -30v-399q0 -59 -75 -71q-71 14 -71 71v411q0 22 -347 862l-4 26q15 75 75 75z" />
-<glyph unicode="&#x3b4;" horiz-adv-x="1233" d="M173 1435l37 -3h707q75 -15 75 -72v-8q-13 -68 -68 -68v-3l-26 3h-491l513 -377q178 -171 178 -389q0 -291 -276 -458q-119 -60 -230 -60h-30q-209 0 -389 196q-110 156 -110 322q0 279 264 449q124 60 174 60l-378 284q-18 26 -18 49q12 72 68 72v3zM214 529v-19 q0 -207 200 -321q73 -38 155 -38h23q215 0 328 223q27 70 27 136v19q0 172 -159 291q-93 64 -211 64q-236 0 -344 -246q-19 -60 -19 -109z" />
-<glyph unicode="&#x3b5;" horiz-adv-x="896" d="M372 1017h38q161 0 317 -164q26 -27 26 -54v-8q0 -59 -86 -72q-47 0 -111 84q-96 65 -159 65h-21q-93 0 -142 -111v-50q0 -71 108 -114q16 -8 47 -8h68q82 -13 82 -73v-7q0 -69 -112 -69q-126 0 -171 -92l-13 -53q27 -142 159 -142h4q108 0 223 134q29 15 51 15 q74 0 86 -80v-4q-29 -87 -180 -168q-90 -46 -180 -46h-17q-185 0 -292 184q-21 62 -21 110q0 115 103 211q-116 99 -116 225q0 190 240 279z" />
-<glyph unicode="&#x3b6;" horiz-adv-x="1052" d="M274 1435h585q69 -14 69 -60v-19q0 -44 -72 -80q-441 -391 -491 -445q-91 -120 -91 -266q0 -235 221 -368q90 -54 243 -54q126 -31 182 -106q61 -82 61 -175v-4q0 -201 -224 -277h-8q-72 15 -72 65v15q0 55 91 80q69 45 69 121q0 86 -88 126l-38 11l-30 -4 q-236 0 -430 213q-125 170 -125 338v42q0 264 274 479l247 220h-365q-76 14 -76 72v4q12 72 68 72z" />
-<glyph unicode="&#x3b7;" horiz-adv-x="1178" d="M132 1000q70 -18 70 -62v-81q160 143 349 143q206 0 367 -172q117 -145 117 -305v-881q0 -51 -77 -62q-66 19 -66 70v825q0 276 -239 364q-57 14 -102 14h-11q-200 0 -309 -205q-29 -64 -29 -202v-385q0 -54 -70 -66h-3q-56 0 -70 73v848q8 84 73 84z" />
-<glyph unicode="&#x3b8;" horiz-adv-x="1158" d="M558 1430q246 0 376 -263q72 -220 72 -407v-86q0 -230 -94 -463q-137 -211 -346 -211h-12q-227 0 -357 241q-83 212 -83 470v12q0 274 98 496q140 211 346 211zM249 790h622q0 163 -80 362q-95 135 -229 135q-156 0 -241 -158q-62 -169 -64 -282zM249 644q4 -147 72 -350 q91 -151 230 -151h11q240 0 290 343q19 106 19 158h-622z" />
-<glyph unicode="&#x3b9;" horiz-adv-x="442" d="M191 1008q70 -18 70 -63v-879q0 -54 -70 -66h-4q-56 0 -70 74v849q9 85 74 85z" />
-<glyph unicode="&#x3ba;" horiz-adv-x="1086" d="M140 1073l21 1q56 -14 60 -81v-365q535 354 624 405h19q60 0 72 -79q0 -46 -121 -110q-294 -199 -307 -201v-3l424 -538l4 -23v-3q-13 -72 -72 -72h-7q-44 0 -133 128l-341 424h-3l-159 -102v-386q0 -56 -72 -68h-4q-54 0 -72 68v927q12 65 67 78z" />
-<glyph unicode="&#x3bb;" horiz-adv-x="1120" d="M413 1367l601 -1260q13 -100 -53 -104.5t-99 52.5l-331 689h-5q-315 -674 -348 -718q-40 -51 -102.5 -21.5t-14.5 138.5l236 498l140 295l-169 365q-31 103 44 121.5t101 -55.5z" />
-<glyph unicode="&#x3bc;" horiz-adv-x="1199" d="M144 1004q70 -18 70 -62v-393q0 -252 143 -338q90 -69 202 -69q214 0 323 220q22 71 22 143v426q14 73 73 73q70 -16 70 -70v-873q0 -48 -70 -62h-3q-70 12 -70 69v70h-4q-153 -139 -330 -139h-26q-172 0 -330 143v-496q0 -46 -73 -62q-55 0 -70 77v1259q8 84 73 84z" />
-<glyph unicode="&#x3bd;" horiz-adv-x="1220" d="M156 1029h7q59 0 102 -124l322 -661q350 742 372 766q26 19 49 19q75 -14 75 -71v-4q0 -19 -165 -361l-278 -570q-30 -23 -53 -23h-3q-64 0 -113 143q-363 742 -383 800v18q13 68 68 68z" />
-<glyph unicode="&#x3be;" horiz-adv-x="951" d="M407 1433h182q73 -13 73 -72v-4q-13 -73 -73 -73h-167q-142 0 -183 -129l-8 -42q26 -175 176 -175h3l92 19q72 -18 72 -65v-23q0 -57 -114 -76q-210 -107 -210 -300v-27q0 -189 198 -293q34 -22 214 -38q209 -82 209 -274v-4q0 -201 -225 -278h-7q-73 15 -73 65v15 q0 56 92 80q68 46 68 122q-23 137 -137 137l-11 -4q-240 0 -407 232q-73 134 -73 251q0 194 152 354q-167 98 -167 286q0 184 194 289q59 27 130 27z" />
-<glyph unicode="&#x3bf;" horiz-adv-x="1245" d="M586 1004q194 0 352 -147q150 -157 150 -355q0 -282 -267 -443q-116 -59 -224 -59h-29q-203 0 -378 191q-106 150 -106 311q0 244 216 410q139 92 286 92zM231 513v-18q0 -201 194 -312q70 -36 150 -36h22q208 0 319 216q25 68 25 132v18q0 167 -153 282q-91 62 -206 62 q-228 0 -333 -238q-18 -58 -18 -106z" />
-<glyph unicode="&#x3c0;" horiz-adv-x="1165" d="M133 1009l37 -3h770l41 3q66 -22 66 -66v-11q0 -49 -63 -70l-59 4h-18v-800q0 -54 -70 -66h-4q-56 0 -70 74v792h-412v-803q0 -49 -70 -63h-4q-70 12 -70 70v796h-18l-59 -4q-63 22 -63 74q12 70 66 70v3z" />
-<glyph unicode="&#x3c1;" horiz-adv-x="1187" d="M566 1020q196 0 355 -148q152 -160 152 -359q0 -285 -270 -448q-117 -59 -226 -59h-30q-176 0 -344 152v-511q0 -47 -74 -63q-53 0 -70 74v822q0 384 363 518q45 14 144 22zM207 524v-19q0 -202 196 -314q71 -37 152 -37h22q211 0 322 218q26 69 26 133v19 q0 169 -155 285q-92 63 -208 63q-230 0 -336 -241q-19 -59 -19 -107z" />
-<glyph unicode="&#x3c2;" horiz-adv-x="997" d="M584 1018q172 0 172 -84v-20q-18 -64 -72 -64h-12l-84 12q-226 0 -332 -228q-16 -39 -24 -128q0 -223 236 -332q59 -15 200 -28q220 -86 220 -288v-4q0 -212 -236 -292h-8q-76 15 -76 68v16q0 59 96 84q72 48 72 128q0 100 -112 140l-24 4l-12 -4q-286 0 -452 276 q-56 111 -56 208v44q0 256 260 428q133 64 244 64z" />
-<glyph unicode="&#x3c3;" horiz-adv-x="1355" d="M540 1006l80 -4h518l33 4q66 -20 66 -63v-22q0 -39 -59 -62l-62 4h-209q154 -164 154 -360q0 -254 -231 -422q-133 -81 -261 -81h-29q-214 0 -382 198q-103 143 -103 290v33q0 229 228 404q148 81 257 81zM198 503q0 -220 224 -334q73 -22 118 -22h33q178 0 293 176 q48 84 48 187q0 193 -191 309q-79 40 -172 40q-193 0 -309 -187q-44 -89 -44 -169z" />
-<glyph unicode="&#x3c4;" horiz-adv-x="1187" d="M146 1012l37 -4h780l33 4q66 -19 66 -70v-8q0 -47 -59 -70l-62 4h-296v-794q-14 -74 -70 -74h-4q-70 12 -70 66v802h-299l-59 -4q-63 23 -63 74q12 70 66 70v4z" />
-<glyph unicode="&#x3c5;" horiz-adv-x="1216" d="M157 1004q70 -18 70 -62v-392q0 -252 143 -337q90 -70 201 -70q214 0 323 220q22 71 22 143v425q14 73 73 73q70 -16 70 -70v-465q0 -218 -209 -381q-132 -88 -268 -88h-25q-227 0 -396 224q-77 120 -77 296v400q8 84 73 84z" />
-<glyph unicode="&#x3c6;" horiz-adv-x="1213" d="M702 1011h30q146 0 289 -220q70 -127 70 -254q0 -307 -293 -478q-122 -50 -173 -50v-362q0 -64 -81 -77q-70 19 -70 69v374q-103 12 -239 104q-200 176 -200 424q0 247 227 424q23 15 43 15h11q70 -13 70 -69v-16q0 -34 -77 -84q-120 -127 -120 -255v-42q0 -193 200 -316 l85 -31v613q0 142 166 219zM625 757v-594h3q93 7 216 116q93 121 93 235v42q0 170 -178 297l-38 8q-67 0 -93 -70z" />
-<glyph unicode="&#x3c7;" horiz-adv-x="1237" d="M187 1008q53 0 112 -119l297 -464h7q312 498 364 564q21 16 45 19q74 -15 74 -74q0 -34 -182 -301l-215 -342q0 -15 319 -505q78 -119 78 -145q-16 -74 -71 -74q-58 0 -115 119q-49 68 -297 464h-7q-336 -538 -364 -564q-19 -15 -48 -19q-56 0 -71 78v4q11 40 282 449 q25 51 119 186l-401 635v15q15 74 74 74z" />
-<glyph unicode="&#x3c8;" horiz-adv-x="1376" d="M161 1019h4q72 -11 72 -73v-303q0 -259 131 -368q71 -80 203 -111l19 -4v771q9 84 65 84h16q69 -14 69 -61v-794h3q103 6 234 123q119 122 119 330v333q13 73 73 73h4q76 0 76 -111v-326q0 -352 -348 -537q-119 -42 -161 -42v-318q0 -56 -73 -69h-4q-59 0 -73 77v310 q-96 7 -249 92q-257 192 -257 506v334q13 84 77 84z" />
-<glyph unicode="&#x3c9;" horiz-adv-x="1321" d="M302 1016h7q68 -12 68 -69v-4q0 -13 -83 -184q-86 -225 -86 -416v-29q0 -116 130 -162l39 -7q132 0 174 144l4 87v318l-4 40q22 65 65 65h11q60 0 68 -83v-373l4 -32l-4 -11q0 -91 120 -152l54 -7q124 0 170 137l3 36v29q0 268 -169 582v18q12 69 68 69h4q57 0 105 -123 q137 -285 137 -575q0 -193 -199 -292q-55 -22 -108 -22h-22q-129 0 -238 116q-96 -112 -232 -112h-14q-196 0 -293 209q-18 59 -18 101q0 351 188 676q24 26 51 26z" />
-<glyph unicode="&#x3ca;" horiz-adv-x="589" d="M296 1008q70 -18 70 -63v-879q0 -54 -70 -66h-4q-56 0 -70 74v849q9 85 74 85zM138 1236h15q68 -14 68 -60v-19q0 -55 -72 -68q-75 15 -75 76q16 71 64 71zM428 1236h11q68 -15 68 -64v-11q0 -60 -75 -72q-72 14 -72 72v11q0 49 68 64z" />
-<glyph unicode="&#x3cb;" horiz-adv-x="1208" d="M157 1004q70 -18 70 -62v-392q0 -252 143 -337q90 -70 201 -70q214 0 323 220q22 71 22 143v425q14 73 73 73q70 -16 70 -70v-465q0 -218 -209 -381q-132 -88 -268 -88h-25q-227 0 -396 224q-77 120 -77 296v400q8 84 73 84zM407 1271h15q68 -14 68 -60v-19 q0 -55 -72 -68q-75 15 -75 76q16 71 64 71zM697 1271h11q68 -15 68 -64v-11q0 -60 -75 -72q-72 14 -72 72v11q0 49 68 64z" />
-<glyph unicode="&#x3cc;" horiz-adv-x="1229" d="M586 1004q194 0 352 -147q150 -157 150 -355q0 -282 -267 -443q-116 -59 -224 -59h-29q-203 0 -378 191q-106 150 -106 311q0 244 216 410q139 92 286 92zM231 513v-18q0 -201 194 -312q70 -36 150 -36h22q208 0 319 216q25 68 25 132v18q0 167 -153 282q-91 62 -206 62 q-228 0 -333 -238q-18 -58 -18 -106zM621 1387q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52z" />
-<glyph unicode="&#x3cd;" horiz-adv-x="1178" d="M157 1004q70 -18 70 -62v-392q0 -252 143 -337q90 -70 201 -70q214 0 323 220q22 71 22 143v425q14 73 73 73q70 -16 70 -70v-465q0 -218 -209 -381q-132 -88 -268 -88h-25q-227 0 -396 224q-77 120 -77 296v400q8 84 73 84zM626 1413q73 -17 73 -70v-7q0 -31 -81 -121 q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52z" />
-<glyph unicode="&#x3ce;" horiz-adv-x="1309" d="M302 1016h7q68 -12 68 -69v-4q0 -13 -83 -184q-86 -225 -86 -416v-29q0 -116 130 -162l39 -7q132 0 174 144l4 87v318l-4 40q22 65 65 65h11q60 0 68 -83v-373l4 -32l-4 -11q0 -91 120 -152l54 -7q124 0 170 137l3 36v29q0 268 -169 582v18q12 69 68 69h4q57 0 105 -123 q137 -285 137 -575q0 -193 -199 -292q-55 -22 -108 -22h-22q-129 0 -238 116q-96 -112 -232 -112h-14q-196 0 -293 209q-18 59 -18 101q0 351 188 676q24 26 51 26zM706 1400q73 -17 73 -70v-7q0 -31 -81 -121q-60 -92 -113 -92h-4q-47 0 -62 70v7q0 33 113 161q38 52 74 52 z" />
-<glyph unicode="&#x2000;" horiz-adv-x="931" />
-<glyph unicode="&#x2001;" horiz-adv-x="1863" />
-<glyph unicode="&#x2002;" horiz-adv-x="931" />
-<glyph unicode="&#x2003;" horiz-adv-x="1863" />
-<glyph unicode="&#x2004;" horiz-adv-x="621" />
-<glyph unicode="&#x2005;" horiz-adv-x="465" />
-<glyph unicode="&#x2006;" horiz-adv-x="310" />
-<glyph unicode="&#x2007;" horiz-adv-x="310" />
-<glyph unicode="&#x2008;" horiz-adv-x="232" />
-<glyph unicode="&#x2009;" horiz-adv-x="372" />
-<glyph unicode="&#x200a;" horiz-adv-x="103" />
-<glyph unicode="&#x2010;" horiz-adv-x="670" d="M144 648h400q59 0 76 -80q-18 -76 -76 -76h-400q-65 0 -76 84q20 72 76 72z" />
-<glyph unicode="&#x2011;" horiz-adv-x="670" d="M144 648h400q59 0 76 -80q-18 -76 -76 -76h-400q-65 0 -76 84q20 72 76 72z" />
-<glyph unicode="&#x2013;" horiz-adv-x="1108" d="M156 512l40 -4h720l36 4q59 0 76 -80q0 -52 -64 -80l-68 4h-680l-64 -4q-68 24 -68 80q13 76 72 76v4z" />
-<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M72 580l40 -4h1824l36 4q59 0 76 -80q0 -52 -64 -80l-68 4h-1784l-64 -4q-68 24 -68 80q13 76 72 76v4z" />
-<glyph unicode="&#x2015;" horiz-adv-x="2007" d="M165 619l40 -4h1600l36 4q72 -20 72 -76v-8q0 -51 -64 -76l-68 4h-1556l-64 -4q-68 24 -68 80q13 76 72 76v4z" />
-<glyph unicode="&#x2017;" horiz-adv-x="951" d="M71 -29h885q74 -13 74 -70v-12q-14 -70 -70 -70h-889q-63 0 -74 82q20 70 74 70z" />
-<glyph unicode="&#x2018;" horiz-adv-x="557" d="M364 1567q28 -8 28 -32v-8q-59 -141 -60 -244q0 -60 48 -140l4 -20q0 -64 -84 -80q-96 0 -124 252q0 134 144 256z" />
-<glyph unicode="&#x2019;" horiz-adv-x="557" d="M261 1558h28q83 0 112 -236v-20q0 -129 -144 -248q-29 -16 -44 -16q-18 7 -28 24v12q60 144 60 236v12q0 62 -48 144v20q15 72 64 72z" />
-<glyph unicode="&#x201a;" horiz-adv-x="557" d="M256 220h28q83 0 112 -236v-20q0 -129 -144 -248q-29 -16 -44 -16q-18 7 -28 24v12q60 144 60 236v12q0 62 -48 144v20q15 72 64 72z" />
-<glyph unicode="&#x201b;" horiz-adv-x="450" d="M313 1476v-20q-49 -82 -49 -144v-12q0 -92 61 -236v-12q-10 -17 -28 -24q-15 0 -45 16q-145 119 -145 248v20q29 236 113 236h28q50 0 65 -72z" />
-<glyph unicode="&#x201c;" horiz-adv-x="910" d="M412 1588q28 -8 28 -32v-8q-59 -141 -60 -244q0 -60 48 -140l4 -20q0 -64 -84 -80q-96 0 -124 252q0 134 144 256zM700 1580q28 -12 28 -36q-64 -142 -64 -244q0 -61 52 -152v-12q-14 -76 -72 -76h-16q-82 0 -116 204v68q0 107 136 228q28 20 52 20z" />
-<glyph unicode="&#x201d;" horiz-adv-x="910" d="M296 1581h28q83 0 112 -236v-20q0 -129 -144 -248q-29 -16 -44 -16q-18 7 -28 24v12q60 144 60 236v12q0 62 -48 144v20q15 72 64 72zM600 1585h12q94 0 120 -244v-8q0 -132 -144 -252l-40 -16q-32 0 -32 32v4q60 141 60 248q0 62 -48 140v32q18 64 72 64z" />
-<glyph unicode="&#x201e;" horiz-adv-x="910" d="M278 235h28q83 0 112 -236v-20q0 -129 -144 -248q-29 -16 -44 -16q-18 7 -28 24v12q60 144 60 236v12q0 62 -48 144v20q15 72 64 72zM582 239h12q94 0 120 -244v-8q0 -132 -144 -252l-40 -16q-32 0 -32 32v4q60 141 60 248q0 62 -48 140v32q18 64 72 64z" />
-<glyph unicode="&#x2020;" d="M509 1441h12q59 0 72 -76v-288h192l36 4q56 0 76 -80q0 -55 -68 -80l-60 4h-176v-1224q0 -67 -84 -80q-72 19 -72 72v1232h-172l-64 -4q-68 24 -68 80q13 76 72 76v4l40 -4h192v292q14 72 72 72z" />
-<glyph unicode="&#x2021;" d="M512 1441h12q59 0 72 -76v-288h192l36 4q56 0 76 -80q0 -55 -68 -80l-60 4h-176v-784h236q49 0 68 -76q-16 -80 -80 -80h-224v-284q0 -67 -84 -80q-72 19 -72 72v292h-224q-80 16 -80 80q17 76 68 76h236v784h-172l-64 -4q-68 24 -68 80q13 76 72 76v4l40 -4h192v292 q14 72 72 72z" />
-<glyph unicode="&#x2022;" horiz-adv-x="1024" d="M216 718q0 123 87 209t210 86q122 0 208.5 -86.5t86.5 -208.5t-87.5 -209.5t-209.5 -87.5q-123 0 -209 87t-86 210z" />
-<glyph unicode="&#x2026;" horiz-adv-x="2048" d="M1633 274q105 0 135 -125v-24q0 -75 -96 -118q-14 -7 -39 -7h-4q-112 0 -135 139q0 88 100 128q14 7 39 7zM942 270q105 0 135 -125v-24q0 -75 -96 -118q-14 -7 -39 -7h-4q-112 0 -135 139q0 88 100 128q14 7 39 7zM269 274q105 0 135 -125v-24q0 -75 -96 -118 q-14 -7 -39 -7h-4q-112 0 -135 139q0 88 100 128q14 7 39 7z" />
-<glyph unicode="&#x202f;" horiz-adv-x="372" />
-<glyph unicode="&#x2030;" horiz-adv-x="2494" d="M499 1436h19q167 0 284 -152q68 -100 68 -205q0 -233 -242 -344q-69 -19 -114 -19h-7q-210 0 -322 204q-38 77 -38 156q0 236 250 344q51 16 102 16zM1333 1436h11q68 -14 68 -69v-15q0 -22 -140 -201l-860 -1136q-29 -15 -45 -15h-4q-72 15 -72 64v16q0 31 106 159 l894 1181q23 16 42 16zM295 1079v-7q0 -150 166 -205l38 -3h19q147 0 201 170l4 42q0 154 -163 208l-49 8q-152 0 -209 -159zM1196 723q211 0 333 -219q27 -80 27 -140v-12q0 -211 -223 -325q-69 -27 -137 -27h-7q-184 0 -303 178q-50 86 -50 170v23q0 190 190 307 q91 45 170 45zM980 364q0 -150 156 -209l53 -7h15q143 0 200 163l4 34v26q0 149 -174 201l-38 4q-159 0 -212 -178zM1989 728q211 0 333 -219q27 -80 27 -140v-12q0 -211 -223 -325q-69 -27 -137 -27h-7q-184 0 -303 178q-50 86 -50 170v23q0 190 190 307q91 45 170 45z M1773 369q0 -150 156 -209l53 -7h15q143 0 200 163l4 34v26q0 149 -174 201l-38 4q-159 0 -212 -178z" />
-<glyph unicode="&#x2032;" horiz-adv-x="455" d="M276 1429h4q76 -13 76 -72v-20q0 -21 -168 -240q-18 -20 -36 -20h-8q-33 0 -44 44v8q105 263 128 284q27 16 48 16z" />
-<glyph unicode="&#x2033;" horiz-adv-x="673" d="M284 1429h4q76 -13 76 -72v-20q0 -21 -168 -240q-18 -20 -36 -20h-8q-33 0 -44 44v8q105 263 128 284q27 16 48 16zM532 1417q80 -16 80 -80q0 -32 -108 -168q-67 -104 -96 -104h-12q-33 0 -44 44q0 17 112 272q35 36 68 36z" />
-<glyph unicode="&#x2039;" horiz-adv-x="631" d="M396 683h8q76 -12 76 -76v-4q0 -52 -116 -128l-4 -4v-4q120 -82 120 -132v-4q-13 -76 -72 -76h-20q-30 0 -212 164l-8 28v44q0 38 148 144q44 48 80 48z" />
-<glyph unicode="&#x203a;" horiz-adv-x="631" d="M172 679q38 0 168 -120q64 -39 64 -76v-36q0 -46 -112 -124q-80 -76 -120 -76h-4q-76 14 -76 76v4q0 51 112 124l8 12q-120 84 -120 132v4q16 80 80 80z" />
-<glyph unicode="&#x203c;" horiz-adv-x="850" d="M618 1442h12q60 0 73 -69v-955q-17 -72 -77 -72q-81 12 -81 69v962q14 65 73 65zM609 206h8q103 -15 103 -92v-22q0 -71 -95 -92h-12q-79 0 -99 103q21 103 95 103zM214 1442h12q60 0 73 -69v-955q-17 -72 -77 -72q-81 12 -81 69v962q14 65 73 65zM205 206h8 q103 -15 103 -92v-22q0 -71 -95 -92h-12q-79 0 -99 103q21 103 95 103z" />
-<glyph unicode="&#x203e;" horiz-adv-x="837" d="M186 1362l40 -4h400l36 4q56 0 76 -80q0 -55 -68 -80l-60 4h-364l-64 -4q-68 24 -68 80q13 76 72 76v4z" />
-<glyph unicode="&#x2044;" horiz-adv-x="462" d="M635 1453h12q59 0 72 -76v-4q0 -33 -116 -172q-971 -1260 -984 -1268l-32 -12h-16q-52 0 -72 64v20q0 34 116 172l976 1260q21 16 44 16z" />
-<glyph unicode="&#x2215;" horiz-adv-x="462" d="M635 1453h12q59 0 72 -76v-4q0 -33 -116 -172q-971 -1260 -984 -1268l-32 -12h-16q-52 0 -72 64v20q0 34 116 172l976 1260q21 16 44 16z" />
-<glyph unicode="&#x205f;" horiz-adv-x="465" />
-<glyph unicode="&#x207f;" horiz-adv-x="787" d="M122 1065q42 -11 42 -38v-49q96 87 210 87q124 0 221 -104q70 -87 70 -183v-281q0 -29 -42 -37h-2q-42 8 -42 42v247q0 166 -143 219q-35 9 -62 9h-7q-120 0 -186 -124q-17 -38 -17 -122v-231q0 -33 -42 -40h-2q-34 0 -42 44v510q5 51 44 51z" />
-<glyph unicode="&#x20a3;" horiz-adv-x="1127" d="M250 1437l18 -4h719l15 4q62 0 73 -83q-15 -68 -81 -68h-671v-511h440l51 4q50 0 66 -76q0 -49 -58 -75l-74 4h-425v-258h121l33 4q54 0 70 -75q0 -50 -59 -76l-62 4h-103v-136l4 -23q-16 -72 -70 -72h-7q-70 13 -70 72v159h-99l-59 -4q-62 20 -62 72v7q0 51 62 72l37 -4 h121v987q11 72 70 72v4z" />
-<glyph unicode="&#x20a4;" horiz-adv-x="946" d="M439 1428h38q177 0 301 -166l4 -26q-17 -76 -75 -76q-35 0 -98 72q-64 49 -132 49h-23q-149 0 -211 -177l-3 -49q0 -59 75 -200l30 -64h256q76 -15 76 -75q-16 -72 -64 -72h-208l8 -56h188q72 -13 72 -72v-4q-13 -71 -72 -71h-188q-7 0 -23 -72l-98 -222h381q6 0 41 79 q31 30 61 30q75 -15 75 -75q0 -27 -72 -158q-26 -23 -52 -23h-554q-58 0 -72 75q2 20 143 328l12 38h-147q-68 13 -68 68v11q0 55 72 68h154l-11 56h-143q-72 14 -72 72q15 75 75 75h68q-90 157 -90 268q0 225 237 346q74 23 109 23z" />
-<glyph unicode="&#x20a7;" horiz-adv-x="2028" d="M148 1290v-539h235q190 0 262 182q15 38 15 91q0 167 -171 247q-42 19 -98 19h-243zM1293 933q20 15 43 29q112 59 222 59q257 0 404 -233l3 -29v-4q0 -59 -74 -70q-49 0 -100 85q-103 100 -233 100q-171 0 -270 -163l-3 -19q0 -49 111 -59q426 -103 466 -118 q107 -70 107 -178v-3q0 -154 -226 -282q-97 -44 -207 -44q-118 0 -218 58q-13 -62 -68 -62h-77q-175 0 -260 191q-15 47 -15 110v561h-119q-41 -98 -142 -179q-116 -80 -227 -80h-262v-535q0 -55 -72 -68h-4q-58 0 -72 76v1278q9 84 64 84h346q202 0 345 -209 q53 -107 53 -193v-35h90v308q9 81 63 81h14q66 -14 66 -59v-330h151l33 4q50 0 68 -72zM1216 143q-32 32 -61 72q-15 22 -15 41v22q0 54 82 63q35 0 100 -93q99 -92 229 -92q156 0 259 148l7 22v4q0 48 -66 55q-497 111 -526 137q-92 70 -92 170q0 86 76 168l-32 2h-136 v-539q0 -141 92 -173z" />
-<glyph unicode="&#x20ac;" horiz-adv-x="1193" d="M725 1457q226 0 422 -138q15 -29 15 -46v-7q0 -65 -81 -73h-3l-135 69q-133 42 -218 42q-264 0 -460 -234q-43 -65 -73 -138h744q73 -12 73 -73v-4q-13 -73 -73 -73h-779l-4 -53l4 -58h779q73 -11 73 -73v-4q-13 -72 -73 -72h-744q89 -220 299 -319q117 -50 226 -50h12 q168 0 341 108h23q69 -15 69 -69v-12q0 -81 -257 -157q-80 -23 -169 -23h-19q-360 0 -602 334q-115 193 -115 395q0 378 345 617q185 111 380 111z" />
-<glyph unicode="&#x2105;" horiz-adv-x="1768" d="M1344 1430h12q55 0 68 -72v-3q0 -34 -125 -178q-95 -133 -894 -1162q-25 -15 -49 -15q-68 19 -68 64v23q0 23 143 200q807 1052 872 1128q20 15 41 15zM411 1430q138 0 251 -104q8 -14 8 -27v-2q-9 -50 -50 -50h-3q-19 0 -84 50q-58 29 -115 29h-15q-153 0 -231 -160 q-18 -54 -18 -97q0 -155 160 -236q48 -18 102 -18q90 0 178 73l21 5h8q38 0 47 -49v-2q0 -54 -168 -119q-57 -10 -84 -10h-21q-144 0 -269 136q-76 108 -76 223q0 174 154 293q99 65 205 65zM1316 709q135 0 246 -103q105 -110 105 -248q0 -198 -187 -311q-81 -41 -157 -41 h-21q-141 0 -263 134q-75 105 -75 218q0 171 151 287q97 64 201 64zM1067 365v-13q0 -140 136 -218q49 -25 105 -25h15q146 0 224 151q17 48 17 92v13q0 117 -107 198q-64 43 -144 43q-160 0 -234 -167q-12 -40 -12 -74z" />
-<glyph unicode="&#x2113;" horiz-adv-x="846" d="M534 1432q173 0 241 -184l8 -53v-19q0 -91 -124 -245l-219 -328v-362q0 -90 64 -90h19q62 26 79 26q51 0 68 -75q-23 -102 -166 -102q-137 0 -203 158l-8 72v151q-73 -117 -117 -117h-7q-60 0 -72 79q0 25 188 290l8 15v520q0 196 192 257zM440 871q192 268 192 297v34 q0 61 -94 80h-4q-78 0 -94 -106v-305z" />
-<glyph unicode="&#x2116;" horiz-adv-x="2271" d="M64 1431h15q48 0 83 -75q56 -63 821 -1051q8 0 8 -11l3 -4h4v1073q13 68 68 68h11q56 0 68 -71v-1285q0 -62 -79 -75q-43 0 -132 132l-787 1005v-1065q0 -56 -72 -68h-3q-58 0 -72 75v1269q9 83 64 83zM1287 419l40 -4h720l36 4q59 0 76 -80q0 -52 -64 -80l-68 4h-680 l-64 -4q-68 24 -68 80q13 76 72 76v4zM1682 1276q153 0 278 -116q118 -124 118 -280q0 -223 -211 -350q-91 -46 -176 -46h-24q-159 0 -297 150q-84 119 -84 246q0 193 170 324q109 72 226 72zM1402 889v-14q0 -159 153 -246q55 -29 118 -29h18q164 0 251 170q20 54 20 105 v14q0 132 -121 222q-71 49 -162 49q-180 0 -263 -187q-14 -46 -14 -84z" />
-<glyph unicode="&#x2122;" horiz-adv-x="1497" d="M184 1441h435q32 -6 32 -32v-7q0 -25 -39 -30h-175v-569q0 -26 -34 -32h-1q-27 0 -34 35v566h-179q-35 7 -35 36q8 33 30 33zM791 1440h8q27 0 39 -46l227 -509q9 11 159 355l88 189q11 11 23 11h8q26 0 30 -39v-603q-7 -36 -34 -36h-2q-34 6 -34 32v446h-2 q-200 -455 -207 -465q-14 -13 -27 -13q-31 0 -55 75l-179 401h-2v-444q0 -26 -34 -32h-2q-27 0 -34 36v603q4 39 30 39z" />
-<glyph unicode="&#x2126;" horiz-adv-x="1709" d="M819 1437q367 0 613 -340q111 -198 111 -373q0 -339 -263 -568h-4v-4h164q73 -14 73 -64v-16q-15 -68 -69 -68h-492q-60 0 -72 80q19 68 69 68q106 0 289 157q160 187 160 407q0 272 -244 469q-162 103 -320 103h-30q-273 0 -461 -248q-103 -159 -103 -324 q0 -331 305 -514q52 -32 175 -61q46 -19 46 -72q-20 -69 -73 -69h-484q-76 15 -76 76q17 73 73 73h160v3q-93 70 -164 180q-107 186 -107 392q0 336 309 579q199 134 415 134z" />
-<glyph unicode="&#x212e;" horiz-adv-x="1174" d="M566 1004q290 0 451 -275q55 -108 55 -234v-19q-13 -73 -70 -73h-773q44 -146 187 -223q84 -33 158 -33q84 0 194 55h22q66 -13 66 -66v-11q0 -91 -264 -125h-26q-270 0 -432 253q-66 120 -66 249q0 276 260 440q127 62 238 62zM218 546h704q0 75 -88 194 q-121 114 -238 114h-41q-176 0 -289 -172q-40 -69 -48 -136z" />
-<glyph unicode="&#x215b;" horiz-adv-x="1498" d="M1193 1442h12q56 0 68 -72v-4q0 -34 -125 -179q-96 -134 -902 -1172q-25 -15 -50 -15q-68 19 -68 65v23q0 23 145 201q813 1061 878 1138q20 15 42 15zM326 1434q25 0 45 -34l-3 -57v-654l3 -35q-13 -41 -45 -41q-26 0 -42 30v685l-65 -15h-19q-30 16 -30 41q0 48 110 65 q0 5 46 15zM1161 806q96 0 163 -86q39 -52 39 -114v-11q0 -85 -77 -154q111 -80 111 -202q0 -121 -111 -202q-62 -41 -130 -41h-11q-116 0 -200 115q-36 66 -36 128q0 126 119 211q-48 37 -64 102q-6 16 -6 43v11q0 107 102 172q52 28 101 28zM1041 597q0 -80 96 -113l24 -2 q83 0 114 89l5 30q0 88 -94 117l-28 2q-81 0 -113 -87zM992 241q0 -113 117 -156q16 -6 47 -6q106 0 152 117l4 32v22q0 90 -105 140q-29 9 -53 9q-114 0 -156 -118z" />
-<glyph unicode="&#x215c;" horiz-adv-x="1523" d="M1235 1442h12q56 0 68 -72v-4q0 -34 -125 -179q-96 -134 -902 -1172q-25 -15 -50 -15q-68 19 -68 65v23q0 23 145 201q813 1061 878 1138q20 15 42 15zM1203 806q96 0 163 -86q39 -52 39 -114v-11q0 -85 -77 -154q111 -80 111 -202q0 -121 -111 -202q-62 -41 -130 -41 h-11q-116 0 -200 115q-36 66 -36 128q0 126 119 211q-48 37 -64 102q-6 16 -6 43v11q0 107 102 172q52 28 101 28zM1083 597q0 -80 96 -113l24 -2q83 0 114 89l5 30q0 88 -94 117l-28 2q-81 0 -113 -87zM1034 241q0 -113 117 -156q16 -6 47 -6q106 0 152 117l4 32v22 q0 90 -105 140q-29 9 -53 9q-114 0 -156 -118zM327 1518q124 0 188 -129q15 -35 15 -64v-22q0 -83 -75 -155q109 -76 109 -204q0 -176 -196 -241l-53 -4h-7q-166 0 -234 196l-4 53q0 20 30 38h19q39 0 45 -83q44 -117 147 -117h12q112 0 151 132l4 30q0 109 -129 155 q-68 0 -68 49q10 41 61 41q76 0 102 106v26q0 71 -99 106h-22q-85 0 -117 -98v-34q-16 -30 -38 -30h-11q-38 7 -38 37v8q0 143 162 200z" />
-<glyph unicode="&#x215d;" horiz-adv-x="1569" d="M1294 1442h12q56 0 68 -72v-4q0 -34 -125 -179q-96 -134 -902 -1172q-25 -15 -50 -15q-68 19 -68 65v23q0 23 145 201q813 1061 878 1138q20 15 42 15zM1262 806q96 0 163 -86q39 -52 39 -114v-11q0 -85 -77 -154q111 -80 111 -202q0 -121 -111 -202q-62 -41 -130 -41 h-11q-116 0 -200 115q-36 66 -36 128q0 126 119 211q-48 37 -64 102q-6 16 -6 43v11q0 107 102 172q52 28 101 28zM1142 597q0 -80 96 -113l24 -2q83 0 114 89l5 30q0 88 -94 117l-28 2q-81 0 -113 -87zM1093 241q0 -113 117 -156q16 -6 47 -6q106 0 152 117l4 32v22 q0 90 -105 140q-29 9 -53 9q-114 0 -156 -118zM142 1437l21 -2h322q33 0 42 -44q0 -32 -45 -42h-292v-211h120q141 0 220 -145q25 -60 25 -105q0 -129 -123 -214q-63 -35 -124 -35h-7q-146 0 -227 151q-20 57 -20 96q15 39 44 39q46 0 46 -74q27 -81 85 -109q45 -18 74 -18 q110 0 155 111q9 23 9 53q0 119 -126 160l-51 4h-146q-29 0 -40 35v313q0 23 38 37z" />
-<glyph unicode="&#x215e;" horiz-adv-x="1494" d="M1185 1442h12q56 0 68 -72v-4q0 -34 -125 -179q-96 -134 -902 -1172q-25 -15 -50 -15q-68 19 -68 65v23q0 23 145 201q813 1061 878 1138q20 15 42 15zM1153 806q96 0 163 -86q39 -52 39 -114v-11q0 -85 -77 -154q111 -80 111 -202q0 -121 -111 -202q-62 -41 -130 -41 h-11q-116 0 -200 115q-36 66 -36 128q0 126 119 211q-48 37 -64 102q-6 16 -6 43v11q0 107 102 172q52 28 101 28zM1033 597q0 -80 96 -113l24 -2q83 0 114 89l5 30q0 88 -94 117l-28 2q-81 0 -113 -87zM984 241q0 -113 117 -156q16 -6 47 -6q106 0 152 117l4 32v22 q0 90 -105 140q-29 9 -53 9q-114 0 -156 -118zM143 1429h414q39 -8 39 -34v-11q0 -11 -22 -43l-403 -715q-16 -11 -28 -11h-2q-41 8 -41 41v7q6 20 376 671l4 11h-330q-44 9 -44 43q9 41 37 41z" />
-<glyph unicode="&#x2190;" horiz-adv-x="1923" d="M577 1009q67 -12 67 -67v-7q0 -48 -144 -123l-99 -60v-4h1382q67 -14 67 -67q-14 -70 -67 -70h-1382l229 -148q14 -27 14 -43v-7q-12 -63 -63 -63h-18q-34 9 -419 257q-60 20 -60 71q0 53 120 109q339 222 366 222h7z" />
-<glyph unicode="&#x2191;" horiz-adv-x="833" d="M414 1438q52 0 109 -120q221 -340 221 -365v-10q-13 -63 -63 -63h-18q-38 0 -94 108l-85 130v-1375q0 -51 -66 -63h-4q-66 12 -66 67v1375h-4q-136 -239 -165 -239l-17 -3h-18q-56 17 -56 56v17q0 23 95 169l179 291q19 19 52 25z" />
-<glyph unicode="&#x2192;" horiz-adv-x="1910" d="M1339 1009q32 0 300 -176q151 -87 183 -120l7 -25v-21q0 -38 -74 -70q-386 -247 -405 -247h-14q-64 12 -64 63v15q0 43 166 130l77 53h-1381q-56 0 -67 74q17 63 63 63h1385v4q-204 119 -236 151l-7 32v14q0 46 67 60z" />
-<glyph unicode="&#x2193;" horiz-adv-x="808" d="M400 1444q47 0 70 -59l-3 -60v-1317l149 230q24 14 42 14h4q66 -12 66 -67v-7q0 -22 -94 -167l-181 -293q-25 -21 -49 -21h-4q-50 0 -104 115q-217 334 -220 359v18q0 51 66 63h4q50 0 94 -98l94 -143v1314l-3 56q0 45 69 63z" />
-<glyph unicode="&#x2194;" horiz-adv-x="1961" d="M1378 1001h4q30 0 273 -161q180 -107 203 -129l10 -39q0 -49 -70 -77q-370 -236 -406 -248h-24q-56 18 -56 56v17q0 48 129 112q5 9 112 70v4h-1157v-4q199 -117 238 -154q10 -18 10 -35v-7q0 -54 -70 -66q-25 0 -318 189q-157 90 -165 115l-3 25v3q0 48 73 77 q362 233 406 248h7q70 -11 70 -66v-7q0 -48 -105 -98q-119 -80 -129 -80v-4h1140q-197 124 -228 151l-10 28v17q0 51 66 63z" />
-<glyph unicode="&#x2195;" horiz-adv-x="825" d="M397 1432h7q48 0 76 -72q239 -375 245 -401v-7q-14 -69 -69 -69q-54 0 -100 104l-83 124v-1118l134 211q27 24 52 24q69 -14 69 -69q0 -29 -141 -245q-127 -209 -149 -228l-31 -6h-10q-46 0 -83 89q-235 360 -235 387v3q14 69 69 69q51 0 104 -107l83 -134h3v1145h-3 q-117 -199 -152 -238l-38 -11q-60 0 -69 73v3q14 44 255 418q22 55 66 55z" />
-<glyph unicode="&#x21a8;" horiz-adv-x="879" d="M426 1432h7q48 0 76 -72q239 -375 245 -401v-7q-14 -69 -69 -69q-54 0 -100 104l-83 124v-1118l134 211q27 24 52 24q69 -14 69 -69q0 -29 -141 -245q-127 -209 -149 -228l-31 -6h-10q-46 0 -83 89q-235 360 -235 387v3q14 69 69 69q51 0 104 -107l83 -134h3v1145h-3 q-117 -199 -152 -238l-38 -11q-60 0 -69 73v3q14 44 255 418q22 55 66 55z" />
-<glyph unicode="&#x2202;" horiz-adv-x="1131" d="M117 1432q548 0 813 -468q105 -170 105 -499q0 -162 -155 -329q-156 -136 -333 -136h-23q-239 0 -410 236q-74 132 -74 263q0 265 252 430q120 66 247 66q120 0 240 -62v4q-126 219 -414 317q-116 31 -205 31l-46 -4q-50 0 -66 70v12q13 69 69 69zM183 499 q0 -216 213 -325q72 -31 143 -31q212 0 322 209q31 71 31 151q0 209 -217 322q-82 27 -136 27q-209 0 -321 -205q-35 -81 -35 -148z" />
-<glyph unicode="&#x2206;" horiz-adv-x="1144" d="M564 1443h12q61 0 84 -115q476 -1227 476 -1247v-12q0 -56 -73 -69h-990q-61 0 -73 81l507 1331q28 31 57 31zM568 1148l-380 -998h764l-380 998h-4z" />
-<glyph unicode="&#x220f;" horiz-adv-x="1378" d="M151 1443h1001q76 -14 76 -72v-4q-15 -72 -64 -72h-80v-1570h68q76 -15 76 -76q-13 -72 -68 -72v-4l-27 4h-102l-19 -4l-23 4h-102l-23 -4q-57 0 -72 80v3q0 52 76 69h68v1570h-569v-1570h68q76 -15 76 -76q-12 -72 -68 -72v-4l-27 4h-102l-19 -4l-23 4h-102l-23 -4 q-57 0 -72 80v3q0 52 76 69h68v1570h-80q-52 0 -64 80q0 51 76 68z" />
-<glyph unicode="&#x2211;" horiz-adv-x="1206" d="M137 1427h853q68 -14 68 -60v-19q0 -55 -71 -67h-685l617 -752l4 -27v-11q0 -28 -161 -209l-449 -550h681q75 -14 75 -64v-22q0 -42 -67 -64l-27 4h-796l-23 -4q-71 19 -71 64v22q0 28 161 210l505 617v4l-674 823l-7 30v11q0 49 67 64z" />
-<glyph unicode="&#x2212;" horiz-adv-x="1092" d="M162 771l40 -4h720l36 4q59 0 76 -80q0 -52 -64 -80l-68 4h-680l-64 -4q-68 24 -68 80q13 76 72 76v4z" />
-<glyph unicode="&#x221a;" horiz-adv-x="1127" d="M931 1578l38 -3h91l34 3q68 -19 68 -72v-7q0 -52 -64 -72l-61 4h-45q-8 0 -693 -1382q-23 -49 -68 -49h-4q-59 0 -106 125q-121 201 -121 235v7q0 53 79 68q51 0 95 -106l49 -91h4q643 1299 662 1321z" />
-<glyph unicode="&#x221e;" horiz-adv-x="1313" d="M408 983q136 0 251 -112q119 112 259 112q212 0 323 -237l13 -103v-4q0 -241 -264 -332l-76 -8q-140 0 -255 111q-112 -111 -255 -111q-225 0 -327 246l-13 98q0 225 246 327zM738 626q0 -114 151 -171h68q96 0 156 130l10 62q0 130 -151 187h-67q-115 0 -167 -161v-47z M194 622q0 -114 151 -171h68q96 0 156 130l10 62q0 130 -151 187h-67q-115 0 -167 -161v-47z" />
-<glyph unicode="&#x221f;" horiz-adv-x="1431" d="M157 1250q70 -18 70 -62v-1045h1038q59 0 69 -77q-19 -66 -69 -66h-1112q-55 0 -69 73v1093q8 84 73 84z" />
-<glyph unicode="&#x2229;" horiz-adv-x="1221" d="M579 1437q289 0 454 -284q49 -114 49 -208v-881q0 -49 -72 -64h-4q-71 15 -71 64v798q0 232 -103 314q-102 110 -253 110q-228 0 -329 -227q-27 -46 -27 -197v-794q0 -56 -71 -68h-4q-72 13 -72 72v873q0 248 242 420q134 72 261 72z" />
-<glyph unicode="&#x222b;" horiz-adv-x="920" d="M694 1657h15q135 0 198 -148v-7q-11 -71 -67 -71h-7q-44 0 -78 67q-18 14 -53 21q-82 0 -82 -127l-181 -1488q-73 -145 -198 -145h-18q-142 0 -205 170v4q15 67 60 67h18q47 0 74 -78q32 -25 57 -25h11q78 0 78 138l177 1474q70 148 201 148z" />
-<glyph unicode="&#x2248;" d="M325 1026h4q51 0 352 -84h28q47 0 112 64l32 8q68 -16 68 -60v-16q0 -58 -140 -120l-76 -12h-8q-49 0 -352 84h-24q-48 0 -104 -56q-22 -16 -44 -16q-68 13 -68 68v12q0 57 160 120zM345 726q41 0 352 -84h32q39 0 116 68l24 4q68 -14 68 -68v-8q0 -61 -152 -124l-60 -8 h-28q-30 0 -340 84h-8q-62 0 -116 -56q-21 -16 -44 -16q-68 14 -68 60v16q0 43 76 84q69 48 148 48z" />
-<glyph unicode="&#x2260;" horiz-adv-x="1028" d="M444 677h-232q-65 0 -76 84q20 72 76 72h232v119q0 52 66 61h4q66 -9 66 -65v-115h244q59 0 76 -80q-18 -76 -76 -76h-244v-176h240q80 -16 80 -80q-16 -76 -76 -76h-244v-118q-10 -69 -66 -69h-7q-63 10 -63 67v120h-240q-56 0 -68 84q0 54 80 72h228v176z" />
-<glyph unicode="&#x2261;" horiz-adv-x="1161" d="M151 281l40 -4h720l36 4q59 0 76 -80q0 -52 -64 -80l-68 4h-680l-64 -4q-68 24 -68 80q13 76 72 76v4zM156 1060l40 -4h720l36 4q59 0 76 -80q0 -52 -64 -80l-68 4h-680l-64 -4q-68 24 -68 80q13 76 72 76v4zM156 672l40 -4h720l36 4q59 0 76 -80q0 -52 -64 -80l-68 4 h-680l-64 -4q-68 24 -68 80q13 76 72 76v4z" />
-<glyph unicode="&#x2264;" d="M813 1156q76 -16 76 -76v-8q0 -55 -96 -100l-464 -288l540 -344q20 -22 20 -48v-12q0 -61 -80 -72q-32 0 -144 76l-548 344q-20 28 -20 52q0 60 148 132q537 344 556 344h12zM157 156h668q53 0 64 -72v-12q-13 -72 -60 -72h-664q-59 0 -68 80q13 76 60 76z" />
-<glyph unicode="&#x2265;" d="M190 1161q34 0 316 -188q350 -209 384 -244q12 -20 12 -40v-16q0 -44 -120 -104q-556 -352 -568 -352l-28 -4q-76 12 -76 76v4q0 61 136 124l424 268v4q-503 307 -540 340q-20 23 -20 60q0 53 80 72zM170 161h668q52 0 64 -68v-16q-13 -72 -60 -72h-672q-48 0 -60 80 q12 76 60 76z" />
-<glyph unicode="&#xf001;" horiz-adv-x="1021" d="M590 1436q186 0 298 -189l15 -53q0 -56 -75 -72q-55 0 -95 95q-66 68 -147 68q-115 0 -170 -129l-12 -86v-69h163l60 4q48 0 65 -72v-11q0 -47 -68 -64h-220v-748l4 -42q0 -51 -75 -68q-52 0 -76 64l4 46v748h-197q-52 0 -64 79q0 38 60 68l76 -4h121v72q0 246 212 337 q37 19 121 26zM831 1039q76 -15 76 -75v-888q-13 -72 -72 -72h-4q-71 14 -71 64v899q15 72 71 72z" />
-<glyph unicode="&#xfb01;" horiz-adv-x="1021" d="M590 1436q186 0 298 -189l15 -53q0 -56 -75 -72q-55 0 -95 95q-66 68 -147 68q-115 0 -170 -129l-12 -86v-69h163l60 4q48 0 65 -72v-11q0 -47 -68 -64h-220v-748l4 -42q0 -51 -75 -68q-52 0 -76 64l4 46v748h-197q-52 0 -64 79q0 38 60 68l76 -4h121v72q0 246 212 337 q37 19 121 26zM831 1039q76 -15 76 -75v-888q-13 -72 -72 -72h-4q-71 14 -71 64v899q15 72 71 72z" />
-<glyph unicode="&#xf002;" horiz-adv-x="1081" d="M592 1443q188 0 300 -190l16 -42l-4 -45v-1014h79q50 0 65 -72v-4q-13 -72 -72 -72h-148q-58 0 -72 76v1101q-34 98 -167 110q-115 0 -171 -129l-12 -87v-69h164l60 4q49 0 65 -72v-12q0 -47 -68 -64h-221v-752l4 -42q0 -51 -76 -68q-52 0 -76 65l4 45v752h-197 q-53 0 -65 80q0 38 61 68l76 -4h121v72q0 248 213 338q38 19 121 27z" />
-<glyph unicode="&#xfb02;" horiz-adv-x="1081" d="M592 1443q188 0 300 -190l16 -42l-4 -45v-1014h79q50 0 65 -72v-4q-13 -72 -72 -72h-148q-58 0 -72 76v1101q-34 98 -167 110q-115 0 -171 -129l-12 -87v-69h164l60 4q49 0 65 -72v-12q0 -47 -68 -64h-221v-752l4 -42q0 -51 -76 -68q-52 0 -76 65l4 45v752h-197 q-53 0 -65 80q0 38 61 68l76 -4h121v72q0 248 213 338q38 19 121 27z" />
-<glyph horiz-adv-x="0" />
-</font>
-</defs></svg> 
\ No newline at end of file
diff --git a/hubs/static/css/fonts/Comfortaa_Regular-webfont.ttf b/hubs/static/css/fonts/Comfortaa_Regular-webfont.ttf
deleted file mode 100644
index b3f207e..0000000
Binary files a/hubs/static/css/fonts/Comfortaa_Regular-webfont.ttf and /dev/null differ
diff --git a/hubs/static/css/fonts/Comfortaa_Regular-webfont.woff b/hubs/static/css/fonts/Comfortaa_Regular-webfont.woff
deleted file mode 100644
index 59c5767..0000000
Binary files a/hubs/static/css/fonts/Comfortaa_Regular-webfont.woff and /dev/null differ
diff --git a/hubs/static/css/fonts/Comfortaa_Thin-webfont.eot b/hubs/static/css/fonts/Comfortaa_Thin-webfont.eot
deleted file mode 100644
index 46a6295..0000000
Binary files a/hubs/static/css/fonts/Comfortaa_Thin-webfont.eot and /dev/null differ
diff --git a/hubs/static/css/fonts/Comfortaa_Thin-webfont.svg b/hubs/static/css/fonts/Comfortaa_Thin-webfont.svg
deleted file mode 100644
index e099110..0000000
--- a/hubs/static/css/fonts/Comfortaa_Thin-webfont.svg
+++ /dev/null
@@ -1,505 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata>
-This is a custom SVG webfont generated by Font Squirrel.
-Designer    : Johan Aakerlund - aajohan
-Foundry     : Johan Aakerlund
-</metadata>
-<defs>
-<font id="webfontReo2lGxG" horiz-adv-x="1014" >
-<font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="508" />
-<glyph unicode=" "  horiz-adv-x="508" />
-<glyph unicode="&#x09;" horiz-adv-x="508" />
-<glyph unicode="&#xa0;" horiz-adv-x="508" />
-<glyph unicode="!" horiz-adv-x="511" d="M189 1417h12q39 0 48 -46v-950q-12 -50 -51 -50q-57 9 -57 44v959q9 43 48 43zM180 181h6q80 -12 80 -67v-22q0 -51 -73 -67h-9q-59 0 -74 78q16 78 70 78z" />
-<glyph unicode="&#x22;" horiz-adv-x="557" d="M131 1534q54 -14 54 -42q-20 -288 -31 -288l-28 -8q-22 0 -27 101l-20 181q11 56 52 56zM384 1534q30 0 44 -53q-26 -269 -28 -269q-17 -16 -22 -16h-4q-31 0 -31 112l-20 184q0 32 61 42z" />
-<glyph unicode="#" horiz-adv-x="1336" d="M968 1406q46 -13 46 -39v-11q0 -26 -82 -414h142l34 4q34 0 44 -51q-9 -50 -49 -50h-191l-46 -242h168q63 -6 63 -49q-10 -48 -72 -48v2l9 -2h-190q-86 -436 -98 -461q-17 -22 -39 -22h-5q-45 9 -45 43v1l89 439h-246q-31 0 -78 -266q-38 -189 -45 -193q-20 -28 -41 -28 q-53 11 -53 48l89 439h-135l-22 -4q-34 0 -45 56v2q0 31 53 43h173l47 242h-164q-52 10 -52 48q8 49 67 49v1l12 -1h158q82 438 86 438q28 22 48 22q39 0 46 -49l-80 -411h270q82 430 92 443q20 21 42 21zM543 845l-47 -242h270l46 242h-269z" />
-<glyph unicode="$" d="M452 1627h20q29 0 40 -51v-148q107 -8 216 -107q36 -35 36 -48v-23q0 -29 -51 -37q-17 0 -77 66q-38 32 -124 59v-511q184 -68 255 -201q55 -103 55 -196q0 -262 -269 -379l-41 -7v-145q-13 -52 -46 -52q-54 11 -54 49v104q0 28 -108 43q-163 56 -231 167l-2 14 q9 49 49 49q28 0 91 -79q95 -62 201 -70v625q-142 44 -188 111q-95 98 -95 223v28q0 175 181 283q57 28 102 28v161q13 44 40 44zM226 1091v-31q0 -139 186 -240v496q-186 -91 -186 -225zM512 714v-581h35q174 102 174 257v39q0 157 -209 285z" />
-<glyph unicode="%" horiz-adv-x="1610" d="M427 1411h19q155 0 264 -142q63 -93 63 -190q0 -217 -226 -320q-63 -18 -105 -18h-7q-195 0 -300 191q-35 71 -35 144q0 220 234 321q46 14 93 14zM1261 1411h8q46 -9 46 -44v-15q0 -13 -135 -186l-857 -1131q-18 -10 -28 -10h-1q-50 10 -50 39v16q0 22 101 143l892 1179 q13 9 24 9zM198 1081v-9q0 -168 186 -230l42 -3h20q165 0 226 190l4 46q0 173 -182 233l-53 9q-172 0 -235 -178zM1124 698q196 0 310 -204q25 -74 25 -130v-12q0 -196 -208 -302q-64 -25 -127 -25h-7q-171 0 -282 166q-46 80 -46 157v23q0 176 177 285q85 42 158 42z M883 365q0 -168 175 -234l57 -8h17q161 0 225 182l4 39v27q0 168 -194 226l-42 4q-179 0 -238 -198z" />
-<glyph unicode="&#x26;" horiz-adv-x="1457" d="M465 1408h19q177 0 261 -195q10 -43 10 -75v-19q0 -134 -147 -252l-56 -60l347 -347h24l161 162q18 13 33 13q48 0 55 -60q0 -30 -126 -140l-58 -64l232 -233q9 -11 9 -24v-9q-10 -50 -47 -50h-11q-31 0 -123 106l-140 137q-226 -246 -288 -246q-66 -27 -128 -27 q-206 0 -327 206q-35 83 -35 160q0 182 204 349l64 69q-196 183 -196 282q-8 0 -8 43q0 171 185 261q48 13 86 13zM304 1152v-33q0 -89 160 -223h22q164 142 164 223v15q0 112 -133 165l-43 4q-109 0 -162 -116zM239 400v-21q0 -164 186 -236l61 -9q145 0 271 160l77 78 l-347 347h-23q-221 -196 -221 -288z" />
-<glyph unicode="'" horiz-adv-x="346" d="M144 1521q54 -14 54 -42q-20 -288 -31 -288l-28 -8q-22 0 -27 101l-20 181q11 56 52 56z" />
-<glyph unicode="(" horiz-adv-x="758" d="M578 1571h9q46 -9 46 -43v-7l-74 -199q-133 -358 -133 -733q0 -468 208 -923l2 -8q-9 -51 -47 -51h-7q-46 0 -80 121q-175 406 -175 865q0 492 218 962q17 16 33 16z" />
-<glyph unicode=")" horiz-adv-x="758" d="M114 1575h15q35 0 73 -122q174 -415 174 -857q0 -521 -223 -976q-17 -11 -31 -11h-8q-38 0 -47 49l79 196q131 373 131 738q0 458 -208 924l-2 8q9 51 47 51z" />
-<glyph unicode="*" horiz-adv-x="1024" d="M497 1533q51 -13 51 -50v-4l-52 -168v-33h36l162 101l15 3q51 -11 51 -51v-12q0 -25 -40 -43l-119 4h-142l201 -164l8 -22v-15q0 -38 -53 -47q-49 0 -62 93l-38 115h-41l-52 -178q-20 -30 -46 -30q-54 12 -54 43v16q0 33 81 79l130 110h-72l-191 -4q-40 16 -40 51v4 q0 40 57 51q19 0 121 -76l86 -43v48l-52 168v4q0 39 55 50z" />
-<glyph unicode="+" d="M487 1092h12q38 0 47 -53v-247h236q68 -6 68 -53q-11 -53 -76 -53v1l7 -1h-235v-251q-10 -53 -51 -53h-2q-53 11 -53 43v261h-231l-24 -4q-37 0 -49 61v2q0 34 58 47h246v251q10 49 47 49z" />
-<glyph unicode="," horiz-adv-x="557" d="M229 257h13q114 -23 114 -121l-6 6l6 6v-16l8 -56v-14q0 -169 -171 -254q-32 -21 -48 -21q-21 0 -27 37q0 25 68 38q50 29 97 92l32 88l-86 -15q-123 21 -123 119v4q0 65 89 101q12 6 34 6z" />
-<glyph unicode="-" horiz-adv-x="670" d="M119 623h400q38 0 50 -55q-12 -51 -50 -51h-400q-44 0 -51 57q14 49 51 49z" />
-<glyph unicode="&#xad;" horiz-adv-x="670" d="M119 623h400q38 0 50 -55q-12 -51 -50 -51h-400q-44 0 -51 57q14 49 51 49z" />
-<glyph unicode="." horiz-adv-x="557" d="M244 249q85 0 110 -103v-21q0 -59 -82 -95q-9 -5 -28 -5h-4q-91 0 -110 116q0 69 85 103q10 5 29 5z" />
-<glyph unicode="/" horiz-adv-x="770" d="M601 1492q53 -9 53 -47v-16q-503 -1384 -553 -1506q-19 -21 -38 -21h-8q-41 0 -51 55q3 21 552 1510q24 25 45 25z" />
-<glyph unicode="0" horiz-adv-x="989" d="M421 1412q231 0 355 -249q70 -216 70 -399v-87q0 -226 -92 -453q-129 -199 -325 -199h-12q-213 0 -336 228q-81 207 -81 462v11q0 271 95 487q132 199 326 199zM86 737v-41q0 -267 99 -453q101 -124 229 -124h11q278 0 324 414q11 63 15 189q0 224 -78 431 q-103 165 -261 165q-192 0 -281 -209q-58 -194 -58 -372z" />
-<glyph unicode="1" horiz-adv-x="568" d="M284 1412h5q46 -10 46 -40v-1298q-9 -49 -47 -49h-1q-50 10 -50 39v1233q-131 -44 -158 -44t-39 47v16q0 36 133 63z" />
-<glyph unicode="2" horiz-adv-x="976" d="M406 1411q192 0 335 -172q74 -112 74 -234q0 -186 -186 -361l-456 -522h618q35 0 43 -48q-7 -49 -47 -49h-731q-48 9 -48 47v4q0 25 64 85l588 670q54 77 54 174q0 209 -217 292q-37 12 -84 12h-11q-201 0 -289 -213q-12 -45 -16 -99q-17 -35 -43 -35h-5q-49 9 -49 43 q0 213 203 349q108 57 203 57z" />
-<glyph unicode="3" horiz-adv-x="955" d="M421 1407q155 0 269 -141q63 -85 63 -188v-15q0 -145 -151 -277q211 -153 211 -356q0 -210 -199 -349q-102 -56 -202 -56h-11q-237 0 -369 245q-32 90 -32 163q0 32 56 43q33 0 41 -52q0 -175 185 -277q68 -25 130 -25q185 0 279 192q21 59 21 101v30q0 175 -194 272 l-121 26q-24 18 -24 41v4q0 46 77 46q86 0 175 110q34 71 34 130q0 137 -133 210q-49 26 -110 26q-157 0 -224 -170q-10 -90 -13 -90q-27 -30 -39 -30q-53 12 -53 39v19q0 182 183 291q69 34 151 38z" />
-<glyph unicode="4" horiz-adv-x="1103" d="M693 1400h23q23 0 39 -42l-4 -33v-778h143l34 3q32 0 45 -53q0 -31 -43 -47l-51 4h-128v-390q0 -29 -49 -39h1q-49 9 -49 46v383h-533l-85 -4q-36 15 -36 43v15q0 14 31 38q605 787 637 838q15 16 25 16zM153 547h501v652z" />
-<glyph unicode="5" d="M135 1404l35 -4h576q39 0 50 -55q0 -36 -57 -48h-546v-429h240q237 0 372 -245q42 -101 42 -177q0 -218 -208 -362q-106 -59 -210 -59h-12q-246 0 -384 255q-33 97 -33 158q18 50 53 50q58 0 58 -112q54 -159 167 -215q85 -33 143 -33q213 0 301 215q18 44 18 103 q0 232 -247 311l-94 8h-263q-33 0 -46 42v555q0 25 45 42z" />
-<glyph unicode="6" horiz-adv-x="951" d="M544 1411q31 0 43 -54q0 -20 -87 -157l-192 -334v-38l83 6h32q193 0 330 -195q60 -108 60 -209q0 -201 -185 -337q-104 -68 -216 -68h-19q-192 0 -333 192q-60 109 -60 213q0 137 102 272l404 697q20 12 38 12zM101 449v-38q0 -170 193 -268q54 -17 110 -21 q208 0 296 218l12 76v17q0 216 -235 297l-75 7q-203 0 -293 -222z" />
-<glyph unicode="7" horiz-adv-x="964" d="M80 1404h725q46 -9 46 -35v-19q0 -12 -34 -63l-707 -1251q-17 -11 -30 -11h-1q-49 9 -49 47v8q8 29 658 1172l20 55h-614q-53 11 -53 47q11 50 39 50z" />
-<glyph unicode="8" horiz-adv-x="972" d="M422 1414q159 0 271 -142q63 -86 63 -189v-19q0 -139 -151 -275q212 -153 212 -357q0 -202 -186 -339q-104 -68 -217 -68h-19q-193 0 -335 192q-60 110 -60 215q0 211 229 373q-105 81 -132 191q-10 25 -10 68v19q0 176 170 284q84 47 165 47zM185 1069q0 -162 190 -227 l46 -4q168 0 229 178l9 57q0 178 -187 235l-53 4q-164 0 -227 -174zM98 437q0 -219 224 -301q32 -13 92 -13q205 0 293 227l9 61v40q0 177 -202 272q-57 18 -104 18q-221 0 -300 -228z" />
-<glyph unicode="9" horiz-adv-x="972" d="M406 1410q211 0 345 -202q57 -107 57 -200q0 -152 -126 -299l-500 -672q-17 -12 -29 -12q-52 10 -52 50q0 25 115 165l269 366h-55l-22 -4q-230 0 -362 219q-46 96 -46 187q0 224 219 356q95 46 187 46zM100 1023v-34q0 -164 179 -262q56 -25 127 -25q177 0 269 166 q33 63 33 136v4q0 208 -214 289q-32 13 -84 13h-23q-175 0 -270 -196q-17 -59 -17 -91z" />
-<glyph unicode=":" horiz-adv-x="557" d="M267 927q71 0 99 -83v-28q0 -57 -83 -87h-14q-101 15 -101 97q20 101 99 101zM255 259h16q75 0 95 -90v-17q0 -67 -96 -90q-102 17 -102 99q21 98 87 98z" />
-<glyph unicode=";" horiz-adv-x="557" d="M242 901q71 0 99 -83v-28q0 -57 -83 -87h-14q-101 15 -101 97q20 101 99 101zM266 233q103 0 103 -167v-4q0 -168 -203 -235h-13q-26 5 -26 23v13q7 26 29 26l30 -5q121 64 121 165l-39 -13q-105 16 -105 98q0 70 79 99h24z" />
-<glyph unicode="&#x37e;" horiz-adv-x="557" d="M242 901q71 0 99 -83v-28q0 -57 -83 -87h-14q-101 15 -101 97q20 101 99 101zM266 233q103 0 103 -167v-4q0 -168 -203 -235h-13q-26 5 -26 23v13q7 26 29 26l30 -5q121 64 121 165l-39 -13q-105 16 -105 98q0 70 79 99h24z" />
-<glyph unicode="&#x3c;" d="M802 1077q54 -14 54 -51v-8q0 -41 -125 -101q-6 -10 -450 -282q41 -42 560 -364q15 -18 15 -37v-4q0 -43 -57 -51q-21 0 -132 76l-534 330q-19 22 -19 41q0 43 99 86q566 365 584 365h5z" />
-<glyph unicode="=" d="M187 808h612q39 0 50 -55q-12 -51 -50 -51h-612q-43 0 -51 57q14 49 51 49zM194 476h599q57 -11 57 -52q-11 -54 -51 -54h-620q-34 0 -43 61q0 32 58 45z" />
-<glyph unicode="&#x3e;" d="M192 1095q22 0 223 -132q426 -263 455 -288q9 -12 9 -27v-8q0 -39 -83 -74q-578 -369 -592 -369h-14q-53 10 -53 51v4q0 42 115 98l467 298q-547 336 -568 356q-14 20 -14 34q11 57 55 57z" />
-<glyph unicode="?" horiz-adv-x="980" d="M472 1408q169 0 307 -150q96 -121 96 -264q0 -178 -159 -316q-186 -102 -186 -300q-8 -52 -47 -52q-50 11 -50 39v30q0 222 241 370q103 103 103 240q0 176 -185 280q-82 25 -131 25q-182 0 -285 -194l-26 -127q-21 -27 -38 -27q-54 11 -54 47q0 192 190 335 q115 64 224 64zM471 173h13q48 0 69 -62v-20q-14 -72 -78 -72q-76 16 -76 73q0 67 72 81z" />
-<glyph unicode="@" horiz-adv-x="2019" d="M911 1546h36q405 0 705 -347q206 -264 206 -580q0 -389 -261 -493q-66 -30 -134 -30h-28q-123 0 -140 35l-3 14l4 98v62q-211 -201 -405 -201h-32q-266 0 -442 268q-65 128 -65 259q0 292 287 462q122 57 236 57q297 0 470 -291q53 -117 53 -244v-406l51 -7 q166 0 257 162q42 103 42 223v52q0 336 -280 599q-245 202 -537 202q-431 0 -697 -379q-128 -207 -128 -442v-4q0 -390 322 -652q230 -169 503 -169q230 0 457 137l11 3q55 -11 55 -55q0 -79 -317 -168q-91 -23 -178 -23h-52q-337 0 -623 257q-288 290 -288 678 q0 394 320 693q272 230 595 230zM458 635v-12q0 -253 255 -383q82 -30 146 -30h32q213 0 350 213q51 100 51 192v16q0 245 -242 374q-85 39 -175 39h-4q-258 0 -387 -268q-26 -83 -26 -141z" />
-<glyph unicode="A" horiz-adv-x="1191" d="M531 1403q49 0 78 -121q454 -1181 457 -1205v-9q0 -35 -48 -43h-2q-46 0 -70 110l-176 457h-474l-210 -553q-17 -14 -32 -14h-6q-48 9 -48 46l126 341q336 874 363 965q23 26 42 26zM514 1167l-177 -478h384v34l-169 444h-38z" />
-<glyph unicode="B" horiz-adv-x="998" d="M127 1402l-9 2h234l15 3q158 0 272 -152q56 -83 56 -181v-11q0 -120 -116 -252q259 -143 259 -385q0 -243 -253 -373q-80 -28 -144 -28h-337q-49 9 -49 47v1283q7 49 72 49v-2zM152 1307v-473h164q202 0 261 148q17 42 17 85v11q0 164 -191 225l-82 4h-169zM152 737v-615 h221q230 0 311 135q53 75 53 169v7q0 221 -242 297l-110 7h-233z" />
-<glyph unicode="C" horiz-adv-x="1363" d="M752 1411q215 0 397 -128q9 -18 9 -28v-8q0 -41 -55 -47h3l-128 66q-138 44 -226 44q-281 0 -486 -257q-102 -172 -102 -335q0 -329 308 -521q137 -71 273 -71h11q173 0 343 106h13q46 -10 46 -43v-11q0 -61 -235 -131q-76 -22 -159 -22h-19q-342 0 -573 318 q-109 183 -109 375q0 360 329 587q175 106 360 106z" />
-<glyph unicode="D" horiz-adv-x="1195" d="M127 1410l-9 2h197l42 4q310 0 541 -272q146 -190 146 -431q0 -332 -293 -560q-185 -128 -391 -128h-256q-49 9 -49 47v1291q7 49 72 49v-2zM153 1318v-1195h188q376 0 558 364q47 124 47 237q0 273 -240 474q-150 120 -441 120h-112z" />
-<glyph unicode="E" horiz-adv-x="1094" d="M135 1411l-9 2h750l15 4q40 0 48 -57q-10 -45 -58 -45h-720v-562h481l54 4q30 0 42 -54q0 -30 -40 -48l-71 4h-466v-536h738q31 0 39 -53q-13 -45 -42 -45h-784q-49 9 -49 47v1292q7 49 72 49v-2z" />
-<glyph unicode="F" horiz-adv-x="1031" d="M127 1411l-9 2h750l15 4q40 0 48 -57q-10 -45 -58 -45h-720v-562h481l54 4q30 0 42 -54q0 -30 -40 -48l-71 4h-466v-566l3 -20q-11 -48 -46 -48h-6q-49 9 -49 47v1292q7 49 72 49v-2z" />
-<glyph unicode="G" horiz-adv-x="1292" d="M720 1411q221 0 394 -121q12 -16 12 -31v-4q0 -37 -53 -47q-4 0 -135 62q-93 36 -180 36h-61q-222 0 -423 -213q-131 -179 -131 -367v-15q0 -307 284 -501q148 -84 297 -84h15q146 0 305 86v384h-296q-48 8 -48 47v1q8 49 46 49h352q35 0 43 -49v-417q0 -76 -32 -92 q-188 -110 -363 -110h-22q-342 0 -573 318q-109 179 -109 375q0 348 310 576q190 117 368 117z" />
-<glyph unicode="H" horiz-adv-x="1186" d="M85 1408h12q46 -9 46 -35v-623h762v610q8 48 43 48h9q45 -9 45 -43v-1301q0 -29 -50 -39h1q-48 9 -48 47v585h-762v-589q0 -35 -48 -43h-2q-37 0 -47 53v1271q6 59 39 59z" />
-<glyph unicode="I" horiz-adv-x="539" d="M109 1422l15 -2h146l13 2q51 -10 51 -48q-9 -53 -47 -53h-41v-1197h48q30 0 40 -51v1q-9 -49 -47 -49h-178q-49 9 -49 47v1q10 51 40 51h48v1197h-41q-41 0 -47 56v3q0 28 49 42z" />
-<glyph unicode="J" horiz-adv-x="1022" d="M837 1414h12q34 0 43 -49v-921q0 -225 -212 -362q-99 -57 -203 -57h-19q-207 0 -348 202q-64 106 -64 218q11 50 40 50h15q47 0 47 -94q7 -92 107 -199q99 -79 214 -79q229 0 313 237q12 45 12 88v921q9 45 43 45z" />
-<glyph unicode="K" horiz-adv-x="1112" d="M109 1409h1q49 -8 49 -43v-713q735 734 733 734l27 4h3q45 -9 45 -43v-12q0 -25 -71 -83l-482 -485l543 -672l2 -15v-9q0 -35 -48 -43h-2q-32 0 -105 107l-463 562l-182 -186v-444q0 -35 -49 -43h-1q-37 0 -47 52v1280q10 52 47 52z" />
-<glyph unicode="L" horiz-adv-x="997" d="M85 1408h12q46 -9 46 -35v-1251h642q39 0 46 -52q-13 -45 -46 -45h-692q-37 0 -47 53v1271q6 59 39 59z" />
-<glyph unicode="M" horiz-adv-x="1490" d="M99 1407h15q39 0 59 -81l497 -1111q47 55 366 784l184 396q12 12 28 12h15q33 0 39 -59v-1270q-10 -53 -47 -53h-2q-48 8 -48 43v966h-45q-429 -973 -441 -992q-20 -17 -38 -17q-48 0 -94 143l-385 862h-45v-962q0 -35 -48 -43h-2q-37 0 -47 53v1270q6 59 39 59z" />
-<glyph unicode="N" horiz-adv-x="1321" d="M77 1406h15q32 0 62 -64q58 -65 830 -1062q-5 0 -5 6l16 -21h41v1096q9 45 43 45h11q35 0 43 -48v-1283q0 -41 -56 -50q-28 0 -110 122l-832 1062v-1137q0 -35 -49 -43h-1q-37 0 -47 52v1266q6 59 39 59z" />
-<glyph unicode="O" horiz-adv-x="1595" d="M731 1410q350 0 586 -325q106 -184 106 -371q0 -346 -314 -576q-177 -113 -371 -113h-15q-357 0 -583 333q-102 167 -102 363q0 331 292 558q189 131 401 131zM135 710q0 -286 252 -481q158 -107 336 -107h19q280 0 473 248q111 160 111 348q0 323 -295 511 q-146 84 -300 84q-295 0 -489 -256q-107 -154 -107 -347z" />
-<glyph unicode="P" horiz-adv-x="963" d="M85 1413h346q189 0 323 -197q50 -100 50 -180v-27q0 -177 -161 -306q-109 -75 -212 -75h-287v-560q0 -34 -49 -43h-2q-37 0 -47 53v1275q6 60 39 60zM144 1315v-589h260q207 0 285 198q17 42 17 100q0 183 -186 270q-47 21 -108 21h-268z" />
-<glyph unicode="Q" horiz-adv-x="1599" d="M739 1410q350 0 587 -325q105 -183 105 -371q0 -225 -155 -434v-22q159 -156 159 -179v-7q0 -36 -54 -47q-29 0 -122 114q-28 22 -53 64q-228 -178 -460 -178h-15q-356 0 -583 333q-102 167 -102 363q0 331 292 558q190 131 401 131zM143 710q0 -286 252 -481 q158 -107 336 -107h19q197 0 381 147q-170 184 -182 203v17q9 45 43 45h11q26 0 106 -98l80 -80h28q117 180 117 362q0 323 -295 512q-145 83 -300 83q-295 0 -489 -256q-107 -154 -107 -347z" />
-<glyph unicode="R" horiz-adv-x="976" d="M81 1410h315q187 0 307 -199q38 -76 38 -159v-15q0 -185 -181 -303l-59 -31q354 -610 354 -616v-19q0 -35 -49 -43h-2q-38 0 -91 116l-319 543h-254v-616q0 -35 -49 -43h-2q-37 0 -47 53v1272q6 60 39 60zM140 1316v-535h240q198 0 260 213l4 34v32q0 158 -175 239 q-50 17 -149 17h-180z" />
-<glyph unicode="S" horiz-adv-x="926" d="M428 1412q174 0 287 -154l2 -8v-20q0 -28 -50 -36q-16 0 -84 75q-75 48 -143 48h-23q-141 0 -213 -148q-18 -37 -18 -76v-31q0 -162 196 -235q122 0 260 -112q132 -134 132 -295q0 -197 -169 -324q-103 -71 -230 -71q-204 0 -336 173l-5 21q8 46 47 46q28 0 86 -73 q104 -72 189 -72h34q167 0 269 188q16 62 16 93v38q0 166 -187 268l-195 54q-203 116 -203 305v27q0 185 200 290q74 29 138 29z" />
-<glyph unicode="T" horiz-adv-x="1225" d="M77 1411h931q45 -9 45 -43v-15q0 -33 -59 -39h-400v-1246q0 -35 -49 -43h-1q-37 0 -47 53v1236h-406q-53 11 -53 47q11 50 39 50z" />
-<glyph unicode="U" horiz-adv-x="1168" d="M79 1408h12q46 -9 46 -35v-806q0 -274 159 -369q98 -76 222 -76q237 0 356 243q25 76 25 157v838q8 48 43 48h9q45 -9 45 -43v-881q0 -213 -206 -373q-129 -86 -261 -86h-26q-223 0 -388 220q-75 117 -75 292v812q6 59 39 59z" />
-<glyph unicode="V" horiz-adv-x="1246" d="M91 1416q41 0 76 -141l379 -1004h37l421 1126q20 19 40 19h4q37 0 46 -49l-476 -1284q-13 -58 -52 -58h-3q-48 0 -79 130q-450 1188 -450 1206v8q0 38 57 47z" />
-<glyph unicode="W" horiz-adv-x="1777" d="M76 1411h16q43 0 59 -95l286 -992h45q296 1046 312 1070q16 17 33 17h11q46 0 63 -117q28 -76 282 -974h42l311 1070q16 21 30 21h13q45 -9 45 -35v-15l-380 -1318q-19 -18 -38 -18h-4q-49 0 -66 120q-247 838 -282 979h-41l-311 -1078q-17 -21 -39 -21h-15 q-40 0 -59 124q-325 1107 -351 1215q10 47 38 47z" />
-<glyph unicode="X" horiz-adv-x="1300" d="M68 1412h16q29 0 51 -44l446 -571l475 610q9 5 21 5h12q34 0 43 -49v-1q0 -24 -96 -136l-396 -509l486 -622l6 -22v1q-9 -49 -47 -49h-4q-33 0 -62 60l-438 559l-477 -611q-10 -8 -24 -8h-2q-49 9 -49 47v11q0 16 158 208l334 433q-481 609 -489 627l-3 14q11 47 39 47z " />
-<glyph unicode="Y" horiz-adv-x="1153" d="M81 1408h16q32 0 56 -59l354 -529h31q377 569 388 578q14 10 20 10h23q26 0 39 -50q0 -21 -125 -192l-311 -464v-618q-7 -59 -39 -59h-16q-31 0 -43 40v617q0 22 -164 265l-266 400l-2 13q11 48 39 48z" />
-<glyph unicode="Z" horiz-adv-x="1271" d="M73 1412h1021q34 0 43 -49v-1q0 -20 -77 -110l-874 -1129h902q49 -7 49 -47v-2q-9 -49 -47 -49h-1009q-38 0 -47 57q0 17 177 237l771 996h-895q-53 11 -53 47q11 50 39 50z" />
-<glyph unicode="[" horiz-adv-x="779" d="M319 1553l14 -1h294l40 4q50 -18 50 -47v-12q0 -33 -43 -51l-63 4h-258v-1742h314q50 -11 50 -43v-12q0 -44 -60 -51h-353q-57 11 -57 55v1831q5 64 72 64v1z" />
-<glyph unicode="\" horiz-adv-x="691" d="M50 1523h4q57 0 92 -154l507 -1383q-10 -53 -51 -53h-16q-41 0 -80 150q-472 1273 -506 1387q8 53 50 53z" />
-<glyph unicode="]" horiz-adv-x="758" d="M73 1556l55 -4h278l41 4q49 -14 49 -51v-1860q0 -32 -53 -43h-366q-44 0 -51 60v3q0 30 52 46l17 -3h295v1742h-246l-72 -4q-46 16 -46 55q0 38 47 55z" />
-<glyph unicode="^" horiz-adv-x="942" d="M364 1409h11q38 0 90 -104q229 -346 229 -359v-24q0 -34 -61 -43q-33 0 -117 156l-150 220l-236 -365q-23 -11 -39 -11q-34 0 -47 58q0 21 76 131q204 323 218 331z" />
-<glyph unicode="_" horiz-adv-x="958" d="M50 -54h882q52 -9 52 -45v-10q-10 -47 -45 -47h-889q-42 0 -49 55q13 47 49 47z" />
-<glyph unicode="`" horiz-adv-x="752" d="M261 1386h9q27 0 90 -76q173 -163 173 -177l3 -18q-10 -51 -50 -51h-8q-33 0 -146 129q-121 104 -121 138v12q0 32 50 43z" />
-<glyph unicode="a" horiz-adv-x="1199" d="M529 998q276 0 437 -271q49 -108 49 -227v-433q0 -34 -48 -42h-2q-31 0 -46 36v-2l4 93v63q-200 -190 -380 -190h-29q-247 0 -412 249q-60 119 -60 241q0 271 267 430q113 53 220 53zM138 519v-11q0 -238 239 -359q77 -28 137 -28h29q200 0 329 199q47 94 47 180v15 q0 230 -226 351q-80 36 -164 36h-4q-242 0 -363 -251q-24 -78 -24 -132z" />
-<glyph unicode="b" horiz-adv-x="1230" d="M119 1407h5q46 -10 46 -40v-550q200 193 396 193q189 0 344 -144q148 -155 148 -348q0 -277 -263 -436q-113 -57 -218 -57h-30q-198 0 -370 187q-104 139 -104 332v823q0 30 46 40zM170 529v-19q0 -247 258 -367q70 -21 126 -21h23q241 0 364 258q20 79 20 122v23 q0 246 -263 368q-80 20 -125 20h-15q-241 0 -363 -253q-25 -73 -25 -131z" />
-<glyph unicode="c" horiz-adv-x="1036" d="M522 1001q188 0 340 -140q6 -10 6 -22v-2q-9 -48 -46 -48h-4q-19 0 -107 67q-90 46 -178 46h-22q-234 0 -353 -244q-28 -83 -28 -149q0 -237 244 -360q74 -28 156 -28q138 0 266 107l21 5h9q34 0 42 -48v-1q0 -60 -222 -145q-76 -14 -113 -14h-30q-196 0 -365 186 q-104 146 -104 302q0 238 211 400q134 88 277 88z" />
-<glyph unicode="d" horiz-adv-x="1200" d="M957 1407h12q46 -9 46 -36v-748l4 -128q0 -140 -115 -294q-163 -176 -366 -176h-30q-198 0 -369 187q-105 148 -105 306q0 239 213 403q135 89 280 89q187 0 395 -186v484l-4 56q14 43 39 43zM131 529v-19q0 -247 258 -367q70 -21 126 -21h23q241 0 364 258q20 79 20 122 v23q0 246 -263 368q-80 20 -125 20h-15q-241 0 -363 -253q-25 -73 -25 -131z" />
-<glyph unicode="e" horiz-adv-x="1166" d="M518 1000q282 0 438 -268q53 -104 53 -227v-17q-9 -52 -46 -52h-822q56 -191 213 -276q91 -35 171 -35q93 0 205 56h14q44 -9 44 -43v-11q0 -70 -246 -102h-24q-262 0 -421 246q-63 115 -63 242q0 267 253 426q123 61 231 61zM134 532h772q0 110 -96 241 q-132 124 -262 124h-41q-193 0 -317 -188q-43 -75 -56 -177z" />
-<glyph unicode="f" horiz-adv-x="866" d="M575 1412h89q30 0 39 -57q0 -29 -54 -41h-54q-157 0 -207 -173l-3 -83v-78h189l60 3q27 0 39 -50v-8q0 -28 -47 -40h-241v-776l3 -42q0 -30 -53 -42q-32 0 -48 42l4 42v776h-223q-30 0 -39 57q0 20 41 41l70 -3h147v93q0 237 205 324z" />
-<glyph unicode="g" horiz-adv-x="1208" d="M523 996q216 0 374 -180q110 -150 110 -282l-4 -126v-449q0 -114 -182 -255q-142 -92 -298 -92q-266 0 -440 238q-29 48 -29 60v11q0 29 45 39h8q33 0 63 -81q144 -180 353 -180q252 0 381 233l8 54v226q-200 -184 -378 -184h-30q-194 0 -362 184q-103 145 -103 300 q0 236 209 396q133 88 275 88zM134 523v-18q0 -243 254 -361q69 -21 124 -21h22q238 0 359 254q19 77 19 120v23q0 242 -258 362q-80 19 -124 19h-14q-238 0 -358 -250q-24 -70 -24 -128z" />
-<glyph unicode="h" horiz-adv-x="1125" d="M112 1405h12q46 -9 46 -35v-516q179 155 335 155q238 0 381 -226q54 -99 54 -187v-528q0 -35 -49 -43h-1q-35 0 -47 46v503q0 221 -228 318q-55 16 -110 16q-227 0 -319 -240q-16 -52 -16 -166v-434q0 -35 -49 -43h-1q-35 0 -47 46v1285q10 49 39 49z" />
-<glyph unicode="i" horiz-adv-x="431" d="M149 1261q50 -13 50 -39v-22q0 -31 -56 -39q-29 0 -40 50q9 50 46 50zM149 1005q50 -13 50 -39v-898q0 -35 -49 -43h-2q-36 0 -46 52v866q7 62 47 62z" />
-<glyph unicode="j" horiz-adv-x="656" d="M412 1251q48 -9 48 -48q0 -41 -51 -48q-43 12 -43 37v22q0 26 46 37zM415 1001q45 -9 45 -45v-928q0 -260 -247 -380q-86 -31 -139 -31l-4 4h-26l-3 -4h8q-41 0 -49 58q0 31 58 40q224 0 300 230l8 115v896q0 37 49 45z" />
-<glyph unicode="k" horiz-adv-x="1056" d="M116 1410h12q47 -10 47 -36v-793q573 380 656 427h12q39 0 47 -56q0 -29 -109 -87q-290 -196 -319 -201v-33l425 -540l3 -14v1q-9 -49 -47 -49h-7q-31 0 -113 118l-349 434h-22l-177 -113v-400q0 -35 -49 -43h-2q-35 0 -47 46v1289q10 50 39 50z" />
-<glyph unicode="l" horiz-adv-x="473" d="M104 1402h12q46 -9 46 -35v-1245h104q29 0 39 -50v2q-8 -49 -47 -49h-146q-37 0 -47 52v1267q6 58 39 58z" />
-<glyph unicode="m" horiz-adv-x="1675" d="M109 981q48 -12 48 -37v-89q156 126 290 126q178 0 338 -196q72 133 243 185l81 11q214 0 340 -207q41 -86 41 -164v-548q0 -28 -47 -37h1q-47 8 -47 45v532q0 199 -210 274l-55 8h-39q-168 0 -256 -192q-12 -45 -12 -75v-542q-9 -50 -44 -50h-2q-47 8 -47 41v452 q0 199 -57 252q-85 114 -225 114h-11q-192 0 -270 -205q-12 -49 -12 -125v-488q0 -33 -47 -41h-1q-35 0 -45 50v846q6 60 45 60z" />
-<glyph unicode="n" horiz-adv-x="1197" d="M125 998q49 -12 49 -39v-138q197 177 379 177q200 0 355 -167q113 -140 113 -293v-475q0 -28 -48 -38q-48 9 -48 46v418q0 298 -260 394q-63 16 -112 16h-11q-218 0 -336 -224q-32 -70 -32 -216v-392q0 -34 -48 -42h-2q-36 0 -46 52v859q7 62 47 62z" />
-<glyph unicode="o" horiz-adv-x="1170" d="M522 993q187 0 339 -142q145 -152 145 -342q0 -272 -258 -428q-111 -56 -215 -56h-30q-194 0 -362 184q-103 145 -103 300q0 236 209 396q133 88 275 88zM137 520v-18q0 -219 210 -338q77 -40 164 -40h22q226 0 346 234q28 74 28 144v18q0 183 -166 306q-98 68 -223 68 q-247 0 -361 -257q-20 -64 -20 -117z" />
-<glyph unicode="p" horiz-adv-x="1172" d="M542 995q185 0 336 -141q145 -152 145 -341q0 -271 -257 -426q-111 -56 -214 -56h-30q-166 0 -369 183v-567q0 -27 -52 -38q-30 0 -42 52v819q0 367 346 494q42 13 137 21zM157 524v-19q0 -217 209 -336q77 -40 164 -40h22q226 0 345 233q28 74 28 143v19q0 182 -165 305 q-99 68 -223 68q-246 0 -359 -257q-21 -64 -21 -116z" />
-<glyph unicode="q" horiz-adv-x="1178" d="M525 985q185 0 337 -140q143 -140 143 -373v-815q-12 -52 -42 -52q-52 11 -52 38v565q-199 -183 -375 -183h-29q-193 0 -360 183q-102 144 -102 297q0 234 207 393q132 87 273 87zM142 516v-18q0 -217 209 -335q76 -40 163 -40h22q225 0 344 232q28 74 28 143v18 q0 181 -165 304q-98 68 -222 68q-245 0 -358 -256q-21 -63 -21 -116z" />
-<glyph unicode="r" horiz-adv-x="925" d="M146 1006q50 -13 50 -39v-139q200 178 378 178q96 0 201 -45q19 -20 19 -39v-2q-8 -48 -46 -48q-103 33 -159 33h-22q-237 0 -347 -245q-24 -66 -24 -148v-444q0 -35 -49 -43h-2q-36 0 -46 52v866q7 63 47 63z" />
-<glyph unicode="s" horiz-adv-x="968" d="M420 992q243 0 380 -216l2 -22v-3q0 -37 -51 -45q-33 0 -78 76q-113 109 -253 109q-185 0 -294 -179l-4 -26q0 -74 132 -86q423 -102 459 -115q93 -62 93 -156v-3q0 -139 -212 -260q-91 -41 -196 -41q-212 0 -361 200q-10 16 -10 27v22q0 32 58 38q21 0 80 -85 q108 -100 248 -100q169 0 282 162l9 29v8q0 70 -87 80q-489 109 -514 131q-83 63 -83 151q0 126 191 248q105 56 209 56z" />
-<glyph unicode="t" horiz-adv-x="704" d="M245 1365h11q44 -9 44 -34v-355h178l33 4q29 0 42 -52q0 -30 -41 -45l-50 4h-162v-564q0 -159 112 -198l88 -7h42q28 0 37 -47v1q-8 -47 -45 -47h-77q-159 0 -237 175q-13 42 -13 101v586h-99l-55 -4q-40 15 -40 46q8 47 66 47v1l11 -1h117v332q6 57 38 57z" />
-<glyph unicode="u" horiz-adv-x="1188" d="M117 1002q49 -12 49 -39v-401q0 -271 157 -366q99 -75 221 -75q234 0 352 241q25 78 25 155v433q10 52 47 52q49 -11 49 -46v-892q0 -29 -48 -39q-48 9 -48 46v96h-39q-156 -142 -327 -142h-26q-221 0 -384 218q-75 116 -75 289v408q7 62 47 62z" />
-<glyph unicode="v" horiz-adv-x="1132" d="M72 1004h7q41 0 79 -109l345 -709q371 786 389 805q17 13 30 13q52 -10 52 -46v-4q0 -13 -162 -350l-276 -565q-18 -14 -33 -14h-3q-46 0 -90 128q-363 742 -381 794v12q9 45 43 45z" />
-<glyph unicode="w" horiz-adv-x="1416" d="M82 984q47 0 71 -129l187 -574h40q211 672 220 685q19 15 40 18q43 0 62 -103l194 -600h40q204 647 219 681q21 22 36 22q51 -10 51 -45l-288 -896q-19 -18 -37 -18h-3q-47 0 -72 125q-176 534 -176 571h-50l-218 -676q-15 -20 -37 -20h-3q-34 0 -50 49l-274 862 q10 48 48 48z" />
-<glyph unicode="x" horiz-adv-x="968" d="M86 981q31 0 94 -96q188 -225 235 -293h27q41 40 309 379q7 6 28 9q46 -11 46 -36v-22q0 -14 -126 -161l-208 -262q334 -402 334 -411v-22q0 -33 -47 -41h-1q-29 0 -76 74l-269 330q-311 -389 -323 -397q-11 -7 -23 -7h-3q-37 0 -45 54q0 18 134 169l200 255l-329 411 l-4 19q9 48 47 48z" />
-<glyph unicode="y" horiz-adv-x="913" d="M724 987q46 -9 46 -41v-3q-2 -20 -343 -832q-160 -397 -176 -417q-11 -9 -28 -13q-44 9 -44 34v17q0 8 157 386v13l-332 810v-5q9 47 45 47q40 0 77 -122q227 -537 238 -582h40q279 681 290 694q17 14 30 14z" />
-<glyph unicode="z" horiz-adv-x="1018" d="M104 984l11 -1h641l31 4q43 -14 43 -38v-22q0 -13 -79 -99l-565 -709h601q43 -9 43 -41v-12q0 -33 -47 -41h-700q-37 0 -45 55q0 18 145 185l499 628h-548l-55 -4q-41 15 -41 47q8 47 66 47v1z" />
-<glyph unicode="{" d="M659 1565h139q48 0 59 -39v-20q0 -28 -46 -39h-142q-97 0 -97 -101v-579q0 -40 -52 -124q55 -62 55 -127v-586q0 -86 98 -86h138q46 -9 46 -43v-15q0 -30 -50 -40h-146q-132 0 -180 147l-4 46v573q0 70 -75 86h-85q-53 11 -53 48q11 51 40 51h61q108 0 108 78v574 q0 147 148 192z" />
-<glyph unicode="|" d="M479 1594h6q46 -9 46 -44v-1908q0 -28 -55 -40q-34 0 -45 58v1880q9 54 48 54z" />
-<glyph unicode="}" d="M152 1553h154q123 0 174 -138l3 -29v-579q0 -89 111 -89h56q39 -12 39 -42v-15q0 -29 -48 -39h-77q-85 0 -85 -119v-554q0 -109 -138 -162l-40 -4h-147q-48 7 -48 46v2q8 48 42 48h139q96 0 96 85v562q0 76 55 145q-51 74 -51 121v580q0 85 -96 85h-143q-34 0 -42 46 q8 50 46 50z" />
-<glyph unicode="~" d="M348 826h24q84 0 202 -79l45 -12h31l93 28q70 -14 70 -70q0 -75 -159 -95h-32q-83 0 -201 80l-46 11h-30l-91 -24h-5q-63 13 -63 62v14q0 52 88 72q35 13 74 13z" />
-<glyph unicode="&#xa1;" horiz-adv-x="672" d="M275 1302h14q45 0 63 -46l6 -23q0 -60 -78 -70q-53 0 -64 72q15 67 59 67zM287 1040q43 -7 43 -41v-927q-7 -43 -41 -43h-5q-40 8 -40 38v935q0 31 43 38z" />
-<glyph unicode="&#xa2;" horiz-adv-x="1105" d="M747 1362h9q43 -8 43 -41v-7l-123 -360q185 -85 185 -134v-1q-8 -47 -44 -47h-4q-18 0 -105 67l-64 24l-251 -721q70 -23 138 -23q135 0 261 104l20 6h8q33 0 41 -47v-2q0 -57 -216 -140q-74 -14 -110 -14h-29q-46 0 -148 27q-98 -300 -109 -308l-38 -14q-46 11 -46 47 q0 10 111 316q-228 170 -228 408q0 257 247 417q122 59 232 59l59 -4q120 365 130 372q18 16 31 16zM141 499q0 -167 143 -296h31l237 679h-39q-228 0 -345 -239q-27 -81 -27 -144z" />
-<glyph unicode="&#xa3;" horiz-adv-x="946" d="M463 1448h39q169 0 285 -155l3 -16q-13 -53 -52 -53q-25 0 -84 66q-75 57 -152 57h-23q-171 0 -241 -201l-4 -54q0 -86 150 -343h244q54 -11 54 -49q-12 -52 -41 -52h-234l8 -54v-48q0 -120 -106 -330l-33 -81h427q23 0 63 92q21 20 38 20q56 -11 56 -53q0 -21 -69 -146 q-16 -14 -34 -14h-568q-38 0 -48 54q0 11 148 333q26 74 26 138l-5 89h-181q-50 10 -50 47q11 54 52 54h114v35q-112 204 -112 310q0 216 227 333q71 21 103 21z" />
-<glyph unicode="&#xa4;" d="M229 1022h20q25 0 103 -87q76 43 129 43h24q66 0 141 -43q75 87 95 87h24q43 -13 43 -47v-8q0 -27 -86 -107q42 -80 42 -145q0 -58 -41 -156q85 -68 85 -96v-12q-14 -47 -43 -47h-20q-16 0 -93 80h-22q-64 -36 -137 -36q-48 0 -148 41q-69 -85 -100 -85h-6q-49 10 -49 47 v12q0 30 86 101q-42 84 -42 135v20q0 63 42 147q-86 70 -86 97v16q13 43 39 43zM332 715q0 -118 137 -165h32q129 0 161 146v34q-34 146 -145 146l-14 5q-171 -29 -171 -166z" />
-<glyph unicode="&#xa5;" horiz-adv-x="1262" d="M122 1205h166q40 0 49 -54q0 -26 -84 -50q241 -373 320 -482h34q314 455 314 500h-22q-23 14 -23 30v14q13 42 49 42h144q40 0 48 -54q0 -17 -51 -50l-136 -202h119q61 -6 61 -45v-7q0 -32 -47 -41h-199l-140 -212h332q54 -11 54 -45v-4q0 -38 -74 -48v2l-10 1h-380v-434 q0 -29 -52 -41q-45 0 -60 38l4 58v358l-24 21h-361l-30 -4q-53 11 -53 49q0 39 54 49h335q-137 212 -156 212h-188q-45 13 -45 45q0 42 61 48h126q-136 214 -153 215q-34 15 -34 50q0 29 52 41z" />
-<glyph unicode="&#xa6;" horiz-adv-x="770" d="M334 1590h6q46 -9 46 -44v-681q0 -35 -50 -44h-2q-38 0 -48 54v661q9 54 48 54zM335 371q51 -13 51 -40v-693q0 -28 -55 -40q-34 0 -45 58v651q7 64 49 64z" />
-<glyph unicode="&#xa7;" d="M486 1415h35q153 0 268 -137l2 -12q-6 -38 -29 -38h-19q-10 0 -79 65q-75 48 -158 48q-200 0 -266 -223v-50q0 -172 193 -253q183 -28 226 -76q117 -103 117 -215v-50q0 -105 -151 -234q178 -135 178 -302q0 -190 -181 -300q-81 -40 -155 -40h-12q-170 0 -282 141l-3 15 q0 28 47 35q12 0 67 -56q84 -61 171 -61q179 0 257 189l13 71q0 202 -222 275q-117 14 -162 43q-156 105 -156 247v19q0 145 157 251q-180 143 -180 301v15q0 190 185 296q70 36 139 36zM263 521v-16q0 -150 168 -208l43 -4h24q141 0 200 168l4 43q0 163 -183 216l-43 4 q-148 0 -208 -163z" />
-<glyph unicode="&#xa8;" horiz-adv-x="1024" d="M264 1284q58 -14 58 -53q-11 -57 -53 -57q-57 11 -57 52q14 58 52 58zM716 1284q58 -14 58 -53q-11 -57 -53 -57q-57 11 -57 52q14 58 52 58z" />
-<glyph unicode="&#xa9;" horiz-adv-x="1674" d="M808 1416q348 0 578 -313q116 -176 116 -385q0 -373 -346 -600q-165 -94 -356 -94q-313 0 -541 270q-149 198 -149 424q0 340 299 571q189 127 399 127zM169 729v-18q0 -337 321 -550q164 -82 318 -82q327 0 537 294q102 165 102 349q0 331 -306 544q-164 91 -314 91h-38 q-293 0 -502 -266q-118 -170 -118 -362zM819 1205q180 0 332 -135q8 -11 8 -24v-8q0 -41 -55 -46h-2q-7 0 -113 76q-102 40 -177 40q-242 0 -366 -248q-25 -71 -25 -134v-27q0 -196 197 -327q102 -52 194 -52q143 0 278 112l20 5q49 -7 49 -46v-8q0 -55 -201 -138 q-91 -21 -146 -21q-283 0 -441 275q-50 110 -50 219q0 254 237 416q116 71 261 71z" />
-<glyph unicode="&#xaa;" horiz-adv-x="648" d="M289 1397h32q150 0 228 -168l16 -76l-4 -64v-140l4 -24q-7 -27 -28 -36h-12q-22 0 -36 24v48q-86 -72 -172 -72h-8q-184 0 -248 196q-8 20 -8 60q0 176 196 248zM129 1137q0 -130 156 -172h32q117 0 168 140l4 40q0 118 -132 172l-48 8q-121 0 -176 -136z" />
-<glyph unicode="&#xab;" horiz-adv-x="944" d="M481 787l23 -7v-20q0 -11 -179 -220l-36 -49q219 -250 219 -265q-4 -21 -15 -21h-12q-26 19 -237 282l-2 11q0 11 114 142q113 143 131 143l4 4h-10zM737 782q15 -8 15 -18v-4q0 -12 -201 -247l-10 -31q203 -236 211 -252v-12q-3 -17 -15 -17h-4q-18 0 -84 95 q-159 178 -159 192v11q197 249 237 281z" />
-<glyph unicode="&#xac;" d="M122 727h710q49 -10 49 -47v-348q0 -32 -53 -43q-53 10 -53 51v281h-639q-57 11 -57 52q12 54 43 54z" />
-<glyph unicode="&#xae;" horiz-adv-x="1674" d="M776 1453q351 0 583 -314q117 -177 117 -386q0 -373 -348 -602q-167 -94 -359 -94q-316 0 -545 270q-151 200 -151 426q0 341 301 573q191 127 402 127zM91 775v-18q0 -338 324 -551q164 -82 319 -82q330 0 541 294q103 166 103 350q0 332 -308 546q-165 91 -317 91h-38 q-295 0 -505 -267q-119 -171 -119 -363zM591 1191h186q187 0 245 -191q7 -18 7 -56q0 -134 -166 -224q237 -409 245 -430v1q-9 -24 -20 -24h-15q-18 0 -58 85l-209 360h-187v-419q-4 -26 -17 -26h-19q-16 9 -16 20v874q5 30 24 30zM619 1139v-379h120q177 0 220 114 q17 39 17 81q0 123 -136 174q-21 10 -59 10h-162z" />
-<glyph unicode="&#xaf;" horiz-adv-x="806" d="M-37 1751h841q48 -9 48 -45v-10q-9 -47 -42 -47h-847q-38 0 -45 55q13 47 45 47z" />
-<glyph unicode="&#xb0;" horiz-adv-x="674" d="M315 1366q-84 0 -144.5 -60t-60.5 -145t60 -144t145 -59t144 59t59 144t-59.5 145t-143.5 60zM314 1417q105 0 178.5 -74t73.5 -179q0 -104 -74.5 -178.5t-179.5 -74.5q-107 0 -179.5 73.5t-72.5 179.5t74 179.5t180 73.5z" />
-<glyph unicode="&#xb1;" d="M488 1163h24q26 0 43 -46l-4 -36v-218h247q57 -9 57 -51v-8q0 -37 -49 -51l-24 4h-231v-214l4 -44q0 -33 -58 -46q-35 0 -52 46l4 44v214h-231l-21 -3q-52 13 -52 50v8q0 40 57 51h247v218l-4 33q16 49 43 49zM192 343l43 -4h538l33 4q49 -14 49 -51v-8q0 -34 -43 -51 l-63 4h-498l-60 -4q-46 16 -46 51v8q0 33 47 51z" />
-<glyph unicode="&#xb2;" d="M506 1537q95 0 166 -86q37 -56 37 -116q0 -93 -90 -177l-197 -225h264q26 0 32 -33v-2q-5 -34 -34 -34h-343q-33 6 -33 34v2q0 16 33 47l274 313q23 33 23 75q0 90 -93 125q-16 5 -36 5h-5q-86 0 -124 -91q-5 -20 -7 -46q-12 -25 -32 -25h-3q-34 6 -34 32q0 106 101 173 q54 29 101 29z" />
-<glyph unicode="&#xb3;" d="M503 1543q80 0 138 -72q32 -44 32 -97v-7q0 -74 -64 -131q93 -67 93 -170q0 -106 -100 -176q-52 -29 -103 -29h-5q-120 0 -187 124q-16 46 -16 82q0 25 38 33q27 0 32 -36q0 -77 81 -122q30 -11 57 -11q81 0 122 84q9 26 9 44v14q0 76 -84 118l-59 13q-18 14 -18 30v2 q0 34 48 34q35 0 74 47q14 30 14 56q0 58 -57 89q-21 11 -47 11q-67 0 -95 -72q-6 -52 -13 -52q-12 -14 -25 -14q-36 8 -36 30v9q0 94 94 149q36 18 77 20z" />
-<glyph unicode="&#xb4;" horiz-adv-x="889" d="M491 1389q46 0 55 -65q0 -27 -177 -185q-62 -76 -90 -76h-10q-49 10 -49 47v16q0 23 133 142q106 121 138 121z" />
-<glyph unicode="&#xb5;" horiz-adv-x="1180" d="M166 994q48 -12 48 -38v-399q0 -271 157 -364q97 -75 219 -75q234 0 351 240q25 77 25 154v430q10 52 46 52q49 -11 49 -46v-887q0 -29 -49 -39h2q-48 9 -48 46v96h-39q-156 -142 -326 -142h-26q-165 0 -361 177v-564q0 -27 -52 -38q-32 0 -43 55v1281q6 61 47 61z" />
-<glyph unicode="&#xb6;" horiz-adv-x="1024" d="M378 1410h459q46 -10 46 -36v-19q0 -35 -49 -43h-34v-1234q-10 -53 -47 -53h-2q-49 8 -49 43v1244h-190v-1238q-8 -49 -47 -49h-2q-49 9 -49 47v699h-36q-172 0 -277 182q-31 69 -31 141q0 186 190 288q57 28 118 28z" />
-<glyph unicode="&#xb7;" horiz-adv-x="508" d="M250 721q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4z" />
-<glyph unicode="&#x2219;" horiz-adv-x="508" d="M250 721q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4z" />
-<glyph unicode="&#xb8;" horiz-adv-x="1024" d="M523 12q41 -9 41 -34v-69q104 -69 104 -157q0 -126 -147 -163l-46 3h-54l-52 -3q-37 13 -37 34v12q8 40 38 40h121q91 0 91 77v3q0 61 -79 76q-25 12 -25 29v111q0 32 45 41z" />
-<glyph unicode="&#xb9;" d="M535 1564h5q32 -7 32 -31v-611q-6 -34 -34 -34h-1q-34 7 -34 30v564q-48 -16 -63 -16q-22 0 -30 32v9q0 26 72 41z" />
-<glyph unicode="&#xba;" horiz-adv-x="718" d="M370 1543q107 0 164 -115q31 -96 31 -177v-38q0 -100 -41 -201q-59 -92 -150 -92h-6q-98 0 -155 105q-36 92 -36 205v5q0 119 42 216q62 92 151 92zM236 1239v-17q0 -114 41 -191q40 -49 90 -49h5q111 0 129 171q5 27 7 80q0 95 -33 182q-41 65 -103 65q-76 0 -111 -83 q-25 -82 -25 -158z" />
-<glyph unicode="&#xbb;" horiz-adv-x="944" d="M474 778q18 0 88 -99q155 -174 155 -188v-11q-188 -241 -240 -284h-13q-6 3 -9 9v14q0 16 202 244l8 35q-210 241 -210 254q5 26 19 26zM232 774q15 0 103 -119q138 -155 138 -172q0 -13 -199 -245q-32 -46 -44 -46h-2q-21 4 -21 19q0 16 102 132l118 144 q-209 243 -216 258v14q0 11 21 15z" />
-<glyph unicode="&#xbc;" horiz-adv-x="1470" d="M1160 1417h12q35 0 43 -49v-2q0 -25 -120 -164q-96 -134 -899 -1168q-15 -9 -30 -9q-46 13 -46 40v23q0 14 140 185q812 1061 875 1136q11 8 25 8zM296 1409q8 0 17 -15l-3 -50v-656l3 -31q-6 -19 -20 -19q-11 0 -17 11v710l-93 -21h-10q-11 6 -11 16q0 27 110 44 q0 6 24 11zM1130 804q12 0 20 -17l-3 -33v-444h112q13 0 16 -22q-7 -16 -20 -16h-108v-235q-7 -12 -15 -12q-23 5 -23 21v226h-360q-16 3 -16 13v10q330 425 380 498q7 11 17 11zM1068 672l-274 -362h315v362h-41z" />
-<glyph unicode="&#xbd;" horiz-adv-x="1492" d="M1147 1412h11q35 0 43 -49v-2q0 -25 -120 -163q-95 -133 -895 -1164q-15 -9 -30 -9q-46 13 -46 39v23q0 14 139 186q810 1056 873 1131q11 8 25 8zM285 1404q8 0 17 -15l-3 -50v-654l4 -30q-7 -20 -21 -20q-10 0 -17 12v708l-92 -22h-10q-11 6 -11 17q0 26 110 43 q0 6 23 11zM1054 790q152 0 216 -167l3 -33v-40q0 -87 -148 -230l-223 -258h354l11 3q18 -6 18 -4v-16q-3 -16 -13 -16h-417q-13 0 -17 22q0 3 175 194q219 242 219 280l4 27v39q-37 162 -180 162q-125 0 -181 -141q0 -51 -13 -56h-11q-10 0 -17 18q0 139 157 206z" />
-<glyph unicode="&#xbe;" horiz-adv-x="1541" d="M343 1413q107 0 164 -114q13 -30 13 -54v-22q0 -72 -89 -158q123 -86 123 -201q0 -158 -176 -216l-49 -4h-6q-148 0 -209 176l-4 49q0 5 12 12h12q16 0 20 -63q52 -137 172 -137h12q131 0 176 152l4 33q0 129 -150 182q-47 0 -47 21q5 19 36 19q96 0 127 128v29 q0 89 -120 131h-26q-103 0 -142 -119v-32q-6 -11 -13 -11h-9q-15 3 -15 12v8q0 125 142 175zM1243 1405h12q34 0 43 -49v-1q0 -25 -120 -163q-95 -133 -891 -1158q-15 -9 -29 -9q-46 13 -46 39v23q0 14 138 185q806 1051 869 1125q11 8 24 8zM1213 798q12 0 20 -17l-3 -33 v-441h111q13 0 16 -21q-7 -16 -19 -16h-108v-233q-7 -12 -15 -12q-22 4 -22 20v225h-358q-16 3 -16 13v10q328 421 377 493q8 12 17 12zM1152 666l-272 -359h313v359h-41z" />
-<glyph unicode="&#xbf;" horiz-adv-x="977" d="M416 1055h11q60 0 73 -80q-14 -73 -77 -73h-4q-63 0 -76 75v-1q15 79 73 79zM414 750q52 -9 52 -47v-7q0 -242 -235 -380q-108 -102 -108 -242q0 -181 188 -279q71 -25 123 -25q179 0 275 175q23 39 36 145q23 27 41 27q53 -13 53 -47q0 -197 -195 -337 q-108 -60 -210 -60q-202 0 -334 175q-74 105 -74 233q0 230 235 372q112 101 112 272q19 25 41 25z" />
-<glyph unicode="&#xc0;" horiz-adv-x="1220" d="M452 1761h7q33 0 114 -116q54 -58 54 -76q-9 -53 -46 -53h-16q-24 0 -121 136q-39 33 -39 63q13 46 47 46zM535 1413q49 0 78 -122q458 -1189 461 -1214v-9q0 -35 -49 -43h-2q-46 0 -70 111l-178 460h-476l-213 -557q-17 -14 -32 -14h-5q-49 9 -49 47l127 343 q339 880 366 972q23 26 42 26zM518 1175l-178 -481h387v34l-171 447h-38z" />
-<glyph unicode="&#xc1;" horiz-adv-x="1212" d="M597 1753h1q49 -10 49 -39v-15q0 -22 -74 -101q-58 -89 -89 -89h-12q-34 0 -42 49v2q0 27 111 151q27 42 56 42zM533 1407q48 0 77 -122q456 -1184 459 -1208v-9q0 -35 -49 -43h-1q-47 0 -71 110l-176 459h-475l-211 -555q-17 -14 -32 -14h-5q-49 9 -49 47v-1l126 342 q338 876 365 969q22 25 42 25zM516 1170l-178 -479h385v34l-170 445h-37z" />
-<glyph unicode="&#xc2;" horiz-adv-x="1212" d="M525 1746h30q23 0 106 -112q54 -58 54 -82v-1q-7 -49 -47 -49h-7q-33 0 -108 113h-30q-80 -113 -107 -113h-11q-37 0 -47 52q0 22 112 149q29 43 55 43zM533 1407q48 0 77 -122q456 -1184 459 -1208v-9q0 -35 -49 -43h-1q-47 0 -71 110l-176 459h-475l-211 -555 q-17 -14 -32 -14h-5q-49 9 -49 47v-1l126 342q338 876 365 969q22 25 42 25zM516 1170l-178 -479h385v34l-170 445h-37z" />
-<glyph unicode="&#xc3;" horiz-adv-x="1216" d="M429 1670q70 0 178 -70l44 -5l78 23h1q49 -8 49 -47v-4q0 -49 -102 -65l-36 -4q-70 0 -171 71l-41 5l-82 -22q-49 9 -49 45v8q0 50 118 62zM533 1407q48 0 77 -122q456 -1184 459 -1208v-9q0 -35 -49 -43h-1q-47 0 -71 110l-176 459h-475l-211 -555q-17 -14 -32 -14h-5 q-49 9 -49 47v-1l126 342q338 876 365 969q22 25 42 25zM516 1170l-178 -479h385v34l-170 445h-37z" />
-<glyph unicode="&#xc4;" horiz-adv-x="1225" d="M389 1659h5q46 -10 46 -39v-11q0 -39 -51 -47q-46 10 -46 47v11q0 29 46 39zM672 1659h15q31 0 39 -56q0 -29 -51 -40q-46 8 -46 42v15q12 39 43 39zM533 1407q48 0 77 -122q456 -1184 459 -1208v-9q0 -35 -49 -43h-1q-47 0 -71 110l-176 459h-475l-211 -555 q-17 -14 -32 -14h-5q-49 9 -49 47v-1l126 342q338 876 365 969q22 25 42 25zM516 1170l-178 -479h385v34l-170 445h-37z" />
-<glyph unicode="&#xc5;" horiz-adv-x="1219" d="M531 1807h14q103 0 149 -128l4 -33v-10q0 -101 -122 -150l-40 -7q-96 0 -150 100q-16 36 -16 68q0 110 129 156zM437 1643q17 -96 99 -96q95 16 95 93v13q-15 87 -89 87h-12q-78 0 -93 -97zM534 1411q49 0 78 -122q457 -1188 460 -1212v-9q0 -35 -49 -43h-2 q-46 0 -70 110l-177 460h-476l-212 -556q-17 -14 -32 -14h-5q-49 9 -49 47l126 342q339 879 366 971q23 26 42 26zM517 1173l-178 -480h386v34l-170 446h-38z" />
-<glyph unicode="&#xc6;" horiz-adv-x="1565" d="M755 1410h595q26 0 38 -48q-9 -49 -50 -49h-525v-618h412q47 -10 47 -36v-19q0 -35 -49 -43h-410v-474h529q37 0 47 -53q0 -34 -54 -45h-572q-37 0 -47 53v519h-314q-29 -35 -176 -309l-142 -249q-16 -14 -33 -14h-4q-38 0 -47 57q0 13 239 432l491 882q17 14 25 14z M451 695h265v473z" />
-<glyph unicode="&#xc7;" horiz-adv-x="1399" d="M688 1407q215 0 386 -127q12 -15 12 -28q-9 -51 -49 -51q-11 0 -124 61q-125 46 -225 46q-276 0 -476 -252q-101 -168 -101 -329q0 -322 302 -511q134 -70 268 -70h11q169 0 333 102l11 2h3q47 -8 47 -45v-4q0 -74 -272 -142l-88 -9v-110q112 -74 112 -169 q0 -136 -159 -175l-49 4h-57l-56 -4q-41 14 -41 38v13q9 44 42 44h130q95 0 95 80v4q0 63 -84 79q-27 13 -27 32v164q-162 15 -326 116q-293 227 -293 561q0 353 323 576q171 104 352 104z" />
-<glyph unicode="&#xc8;" horiz-adv-x="1039" d="M72 1405l-9 2h746l15 4q40 0 48 -57q-10 -44 -58 -44h-717v-560h480l53 3q30 0 42 -53q0 -30 -41 -48l-69 4h-465v-534h736q31 0 38 -52q-13 -45 -42 -45h-780q-49 9 -49 47v1286q7 49 72 49v-2zM330 1804h8q32 0 113 -116q54 -58 54 -76q-9 -53 -46 -53h-15 q-25 0 -122 136q-39 33 -39 62q14 47 47 47z" />
-<glyph unicode="&#xc9;" d="M72 1405l-9 2h746l15 4q40 0 48 -57q-10 -44 -58 -44h-717v-560h480l53 3q30 0 42 -53q0 -30 -41 -48l-69 4h-465v-534h736q31 0 38 -52q-13 -45 -42 -45h-780q-49 9 -49 47v1286q7 49 72 49v-2zM451 1804h2q52 -10 52 -51q0 -22 -85 -116q-54 -78 -75 -78h-22 q-31 0 -40 57q0 16 113 145q29 43 55 43z" />
-<glyph unicode="&#xca;" d="M72 1405l-9 2h746l15 4q40 0 48 -57q-10 -44 -58 -44h-717v-560h480l53 3q30 0 42 -53q0 -30 -41 -48l-69 4h-465v-534h736q31 0 38 -52q-13 -45 -42 -45h-780q-49 9 -49 47v1286q7 49 72 49v-2zM439 1762h16q32 0 97 -93q71 -78 71 -93v-12q-9 -46 -36 -46h-26 q-20 0 -118 131q-90 -131 -113 -131h-26q-27 0 -36 46v12q0 22 147 181z" />
-<glyph unicode="&#xcb;" horiz-adv-x="1027" d="M72 1405l-9 2h746l15 4q40 0 48 -57q-10 -44 -58 -44h-717v-560h480l53 3q30 0 42 -53q0 -30 -41 -48l-69 4h-465v-534h736q31 0 38 -52q-13 -45 -42 -45h-780q-49 9 -49 47v1286q7 49 72 49v-2zM284 1679h5q46 -10 46 -39v-11q0 -39 -50 -47q-47 10 -47 47v11 q0 29 46 39zM568 1679h15q32 0 40 -56q0 -29 -52 -41q-46 8 -46 43v15q12 39 43 39z" />
-<glyph unicode="&#xcc;" horiz-adv-x="657" d="M196 1793q29 0 100 -100q65 -71 65 -95q-10 -52 -50 -52q-32 0 -86 80q-81 91 -81 106v22q0 29 52 39zM158 1405l14 -3h146l12 3q50 -11 50 -48q-9 -52 -47 -52h-40v-1183h48q29 0 39 -50v2q-9 -49 -47 -49h-174q-49 9 -49 47q10 50 39 50h48v1183h-40q-41 0 -47 55v3 q0 27 48 42z" />
-<glyph unicode="&#xcd;" horiz-adv-x="657" d="M349 1803h2q52 -10 52 -51q0 -22 -85 -116q-54 -78 -75 -78h-22q-31 0 -39 57q0 16 112 145q29 43 55 43zM188 1409l15 -3h145l13 3q50 -10 50 -47q-9 -53 -47 -53h-40v-1187h48q29 0 39 -49v1q-9 -49 -47 -49h-175q-49 9 -49 47v1q10 49 39 49h48v1187h-40q-41 0 -47 55 v3q0 28 48 42z" />
-<glyph unicode="&#xce;" horiz-adv-x="657" d="M260 1758h30q35 0 117 -119q51 -53 51 -73q-9 -53 -47 -53h-7q-34 0 -95 94l-40 32q-82 -126 -115 -126h-5q-49 8 -49 47v4q0 26 108 146q33 48 52 48zM193 1410l15 -3h146l12 3q50 -11 50 -48q-9 -53 -46 -53h-40v-1187h47q29 0 39 -48q-8 -49 -46 -49h-176 q-49 9 -49 47v1q10 49 40 49h47v1187h-40q-41 0 -47 56v3q0 27 48 42z" />
-<glyph unicode="&#xcf;" horiz-adv-x="657" d="M119 1658h12q46 -9 46 -35v-19q0 -34 -47 -43q-50 10 -50 48q11 49 39 49zM412 1658h5q46 -10 46 -39v-11q0 -39 -50 -47q-47 10 -47 47v11q0 29 46 39zM188 1405l15 -3h145l13 3q49 -10 49 -48q-9 -52 -46 -52h-40v-1183h47q29 0 39 -49v1q-8 -49 -46 -49h-175 q-49 9 -49 47q10 50 39 50h48v1183h-40q-41 0 -47 55v3q0 27 48 42z" />
-<glyph unicode="&#xd0;" horiz-adv-x="1275" d="M447 1405q318 0 547 -279q138 -189 138 -415q0 -360 -338 -592q-173 -94 -345 -94h-252q-34 0 -46 46v609h-105q-46 10 -46 43v15q0 29 50 39h101v575q10 50 39 50h223zM247 1309v-532h306q48 -9 48 -43v-9q-9 -45 -43 -45h-311v-558h180q378 0 552 345q56 118 56 248 q0 320 -297 514q-127 80 -394 80h-97z" />
-<glyph unicode="&#xd1;" horiz-adv-x="1288" d="M432 1676q68 0 177 -71l46 -5l72 23h6q49 -7 49 -47v-4q0 -49 -103 -65l-36 -4q-70 0 -171 71l-42 4l-82 -21q-49 9 -49 46v7q0 50 118 62zM39 1407h15q31 0 59 -56l848 -1089h41v1100q9 45 43 45h11q35 0 43 -48v-1285q-9 -49 -47 -49h-4q-37 0 -96 95l-855 1090v-1142 q0 -35 -48 -43h-2q-35 0 -47 46v1287q10 49 39 49z" />
-<glyph unicode="&#xd2;" horiz-adv-x="1519" d="M621 1796h22q21 0 83 -85q76 -85 76 -106q-10 -52 -50 -52h-3q-33 0 -102 104q-65 64 -65 90q11 49 39 49zM689 1402q348 0 583 -323q105 -183 105 -369q0 -344 -312 -573q-177 -112 -369 -112h-15q-354 0 -580 331q-101 166 -101 361q0 329 290 555q189 130 399 130z M96 706q0 -285 251 -478q157 -107 334 -107h19q278 0 470 247q111 159 111 346q0 322 -294 509q-144 83 -298 83q-294 0 -486 -255q-107 -153 -107 -345z" />
-<glyph unicode="&#xd3;" horiz-adv-x="1532" d="M743 1801h12q50 -10 50 -46q0 -29 -120 -159q-19 -38 -55 -38t-46 52q0 25 104 137q34 54 55 54zM691 1406q349 0 585 -324q105 -183 105 -370q0 -345 -313 -574q-177 -113 -370 -113h-15q-355 0 -582 332q-101 167 -101 362q0 330 291 556q189 131 400 131zM97 708 q0 -286 251 -479q157 -107 335 -107h19q279 0 472 247q110 159 110 347q0 322 -294 510q-145 83 -299 83q-295 0 -487 -255q-107 -154 -107 -346z" />
-<glyph unicode="&#xd4;" horiz-adv-x="1523" d="M673 1778h31q22 0 104 -112q55 -58 55 -81v-2q-8 -48 -47 -48h-7q-33 0 -107 112h-30q-80 -112 -107 -112h-12q-36 0 -46 52q0 22 111 148q30 43 55 43zM689 1402q348 0 583 -323q105 -183 105 -369q0 -344 -312 -573q-177 -112 -369 -112h-15q-354 0 -580 331 q-101 166 -101 361q0 329 290 555q189 130 399 130zM96 706q0 -285 251 -478q157 -107 334 -107h19q278 0 470 247q111 159 111 346q0 322 -294 509q-144 83 -298 83q-294 0 -486 -255q-107 -153 -107 -345z" />
-<glyph unicode="&#xd5;" horiz-adv-x="1528" d="M565 1747h18q64 0 156 -61l37 -10h25l73 22q49 -9 49 -49q0 -54 -120 -69h-24q-63 0 -156 62l-37 9h-24l-72 -19h-1q-46 9 -46 43v11q0 37 65 51q27 10 57 10zM689 1402q348 0 583 -323q105 -183 105 -369q0 -344 -312 -573q-177 -112 -369 -112h-15q-354 0 -580 331 q-101 166 -101 361q0 329 290 555q189 130 399 130zM96 706q0 -285 251 -478q157 -107 334 -107h19q278 0 470 247q111 159 111 346q0 322 -294 509q-144 83 -298 83q-294 0 -486 -255q-107 -153 -107 -345z" />
-<glyph unicode="&#xd6;" horiz-adv-x="1540" d="M485 1681q29 0 40 -50q-11 -51 -42 -51q-54 12 -54 39v23q0 31 56 39zM911 1681q29 0 40 -50q-11 -51 -43 -51q-53 12 -53 39v23q0 31 56 39zM691 1406q349 0 585 -324q105 -183 105 -370q0 -345 -313 -574q-177 -113 -370 -113h-15q-355 0 -582 332q-101 167 -101 362 q0 330 291 556q189 131 400 131zM97 708q0 -286 251 -479q157 -107 335 -107h19q279 0 472 247q110 159 110 347q0 322 -294 510q-145 83 -299 83q-295 0 -487 -255q-107 -154 -107 -346z" />
-<glyph unicode="&#xd7;" d="M283 913h15q36 0 135 -118l62 -54q169 172 181 172h39q40 0 56 -69q0 -44 -155 -180l-13 -13v-26q163 -148 163 -174l4 -16q-16 -71 -70 -71q-39 0 -140 118l-68 60q-153 -173 -194 -173h-20q-56 17 -56 51v24q0 35 93 112l80 86q-173 170 -173 181v27q13 63 61 63z" />
-<glyph unicode="&#xd8;" horiz-adv-x="1561" d="M688 1401q258 0 493 -207q159 162 179 162h5q49 -12 49 -46v-7q0 -30 -97 -105l-75 -76q134 -205 134 -413q0 -343 -311 -572q-177 -112 -369 -112h-15q-224 0 -428 154h-21q-154 -150 -166 -150l-19 -4h-1q-38 0 -46 56q0 22 120 122q4 10 56 47q-176 224 -176 467 q0 328 290 554q189 130 398 130zM96 706q0 -204 151 -385l849 798v27q-195 159 -408 159q-293 0 -485 -254q-107 -154 -107 -345zM310 252q188 -131 371 -131h18q279 0 471 247q110 158 110 345q0 159 -96 329h-29z" />
-<glyph unicode="&#xd9;" horiz-adv-x="1103" d="M422 1794q32 0 118 -122q47 -46 47 -71v-8q0 -37 -53 -46q-30 0 -111 115q-54 56 -54 78v8q0 35 53 46zM39 1403h12q46 -9 46 -36v-802q0 -273 158 -368q97 -75 221 -75q236 0 354 242q25 75 25 156v834q9 49 43 49h9q45 -9 45 -43v-878q0 -212 -205 -372 q-129 -85 -260 -85h-26q-222 0 -386 219q-75 117 -75 291v818q10 50 39 50z" />
-<glyph unicode="&#xda;" horiz-adv-x="1107" d="M537 1794q50 -10 50 -46v-8q0 -25 -90 -120q-46 -73 -75 -73q-53 11 -53 46v8q0 26 89 121q46 72 79 72zM39 1403h12q46 -9 46 -36v-802q0 -273 158 -368q97 -75 221 -75q236 0 354 242q25 75 25 156v834q9 49 43 49h9q45 -9 45 -43v-878q0 -212 -205 -372 q-129 -85 -260 -85h-26q-222 0 -386 219q-75 117 -75 291v818q10 50 39 50z" />
-<glyph unicode="&#xdb;" horiz-adv-x="1124" d="M490 1771h7q36 0 117 -115q55 -57 55 -80q-12 -50 -40 -50h-19q-28 0 -89 91q-1 0 -3 4l-15 15h-26q-85 -102 -86 -102l-23 -8h-15q-34 0 -43 49v2q0 28 132 172q0 17 48 22zM39 1408h12q46 -9 46 -35v-806q0 -274 159 -369q98 -76 222 -76q237 0 356 243q25 76 25 157 v838q8 48 43 48h9q45 -9 45 -43v-881q0 -213 -206 -373q-129 -86 -261 -86h-26q-223 0 -388 220q-75 117 -75 292v822q10 49 39 49z" />
-<glyph unicode="&#xdc;" horiz-adv-x="1128" d="M330 1666h5q46 -10 46 -40v-11q0 -39 -50 -47q-47 10 -47 47v11q0 30 46 40zM614 1666h15q31 0 40 -57q0 -29 -52 -41q-46 9 -46 43v15q12 40 43 40zM39 1408h12q46 -9 46 -35v-806q0 -274 159 -369q98 -76 222 -76q237 0 356 243q25 76 25 157v838q8 48 43 48h9 q45 -9 45 -43v-881q0 -213 -206 -373q-129 -86 -261 -86h-26q-223 0 -388 220q-75 117 -75 292v822q10 49 39 49z" />
-<glyph unicode="&#xdd;" horiz-adv-x="1107" d="M39 1408h16q32 0 56 -59l354 -529h31q377 569 388 578q14 10 20 10h23q26 0 39 -50q0 -21 -125 -192l-311 -464v-618q-7 -59 -39 -59h-16q-31 0 -43 40v617q0 22 -164 265l-266 400l-2 13q11 48 39 48zM573 1772h1q53 -10 53 -50q0 -23 -86 -117q-54 -78 -74 -78h-23 q-31 0 -39 57q0 16 111 145q31 43 57 43z" />
-<glyph unicode="&#xde;" horiz-adv-x="1100" d="M59 1411h13q46 -9 46 -36v-305h415q279 0 370 -241q18 -56 18 -102v-18q0 -183 -180 -297q-93 -46 -157 -46l-26 4h-440v-302q0 -35 -49 -43h-2q-37 0 -47 53v1274q6 59 39 59zM118 972v-504h460q181 0 241 205l4 46q0 173 -184 241q-48 12 -117 12h-404z" />
-<glyph unicode="&#xdf;" horiz-adv-x="1061" d="M354 1400h41q165 0 283 -157q63 -95 63 -203q0 -83 -60 -207v-44q0 -47 129 -191q84 -103 84 -220v-15q0 -204 -210 -310q-63 -28 -132 -28h-3q-171 0 -276 141l-2 16q11 47 46 47h7q23 0 74 -57q79 -51 154 -51q172 0 238 187l8 57v9q0 106 -115 227q-102 105 -102 203 q0 52 51 166q9 22 9 59v33q0 134 -148 217q-50 25 -116 25q-184 0 -254 -203l-7 -112v-914q0 -34 -48 -43h-2q-36 0 -46 52v937q0 266 250 362q48 17 84 17z" />
-<glyph unicode="&#xe0;" horiz-adv-x="1147" d="M475 1360h21q20 0 127 -140q23 -25 23 -42v-8q0 -35 -50 -44q-29 0 -80 78q-79 88 -79 101v15q0 29 38 40zM504 974q269 0 426 -264q48 -106 48 -221v-423q0 -33 -46 -41h-2q-30 0 -44 35v-2l3 91v62q-195 -186 -371 -186h-29q-241 0 -401 243q-59 116 -59 235 q0 265 260 419q111 52 215 52zM121 507v-11q0 -232 234 -351q74 -28 134 -28h29q195 0 321 194q47 93 47 178v14q0 225 -222 343q-78 36 -160 36h-4q-236 0 -355 -246q-24 -76 -24 -129z" />
-<glyph unicode="&#xe1;" horiz-adv-x="1114" d="M566 1364q51 -12 51 -44v-7q0 -21 -75 -106q-53 -81 -93 -81h-4q-26 0 -37 47v5q0 23 107 144q32 42 51 42zM475 974q269 0 426 -264q48 -106 48 -221v-423q0 -33 -46 -41h-2q-30 0 -44 35v-2l3 91v62q-195 -186 -371 -186h-29q-241 0 -401 243q-59 116 -59 235 q0 265 260 419q111 52 215 52zM92 507v-11q0 -232 234 -351q74 -28 134 -28h29q195 0 321 194q47 93 47 178v14q0 225 -222 343q-78 36 -160 36h-4q-236 0 -355 -246q-24 -76 -24 -129z" />
-<glyph unicode="&#xe2;" horiz-adv-x="1140" d="M460 1367l3 -3h22l4 3q30 0 96 -97q65 -69 65 -92q-9 -50 -48 -50q-35 0 -98 95l-10 15h-35q-70 -110 -105 -110q-50 10 -50 48q0 27 98 132q38 59 58 59zM477 979q271 0 429 -265q48 -107 48 -223v-425q0 -33 -47 -41h-1q-31 0 -45 35v-2l4 91v63q-197 -187 -373 -187 h-30q-242 0 -403 244q-59 117 -59 237q0 266 262 421q111 52 215 52zM93 509v-11q0 -233 235 -352q74 -28 134 -28h30q196 0 322 196q47 92 47 177v15q0 225 -223 344q-78 36 -161 36h-4q-237 0 -356 -247q-24 -76 -24 -130z" />
-<glyph unicode="&#xe3;" horiz-adv-x="1122" d="M383 1329h19q62 0 152 -61l36 -9h25l71 21q48 -9 48 -48q0 -52 -117 -67h-24q-61 0 -152 61l-36 9h-25l-70 -18h-2q-43 9 -43 41v11q0 35 63 50q27 10 55 10zM479 983q272 0 430 -267q49 -107 49 -223v-427q0 -33 -47 -41h-2q-30 0 -44 35v-1l3 92v63 q-197 -189 -374 -189h-30q-243 0 -404 246q-60 117 -60 237q0 267 263 423q112 52 216 52zM93 511v-11q0 -234 236 -354q76 -28 135 -28h30q197 0 323 196q48 94 48 179v15q0 226 -224 345q-78 37 -162 37h-4q-238 0 -357 -248q-25 -77 -25 -131z" />
-<glyph unicode="&#xe4;" horiz-adv-x="1136" d="M333 1221h5q44 -10 44 -37v-11q0 -37 -48 -45q-45 9 -45 45v11q0 27 44 37zM609 1221h15q29 0 37 -54q0 -27 -49 -39q-44 8 -44 41v14q12 38 41 38zM477 979q271 0 429 -265q48 -107 48 -223v-425q0 -33 -47 -41h-1q-31 0 -45 35v-2l4 91v63q-197 -187 -373 -187h-30 q-242 0 -403 244q-59 117 -59 237q0 266 262 421q111 52 215 52zM93 509v-11q0 -233 235 -352q74 -28 134 -28h30q196 0 322 196q47 92 47 177v15q0 225 -223 344q-78 36 -161 36h-4q-237 0 -356 -247q-24 -76 -24 -130z" />
-<glyph unicode="&#xe5;" horiz-adv-x="1131" d="M493 1422q89 0 142 -96q15 -33 15 -66q0 -105 -124 -150l-32 -4h-13q-100 0 -144 124l-4 31v10q0 106 131 148zM397 1268v-19q23 -79 84 -79h14q78 0 91 94q-16 95 -96 95q-93 -16 -93 -91zM477 979q271 0 429 -265q48 -107 48 -223v-425q0 -33 -47 -41h-1q-31 0 -45 35 v-2l4 91v63q-197 -187 -373 -187h-30q-242 0 -403 244q-59 117 -59 237q0 266 262 421q111 52 215 52zM93 509v-11q0 -233 235 -352q74 -28 134 -28h30q196 0 322 196q47 92 47 177v15q0 225 -223 344q-78 36 -161 36h-4q-237 0 -356 -247q-24 -76 -24 -130z" />
-<glyph unicode="&#xe6;" horiz-adv-x="1961" d="M475 979q250 0 418 -245h31q93 159 270 220q80 21 143 21q265 0 420 -257q51 -107 51 -200v-45q-8 -46 -44 -46h-792v-33q41 -133 150 -207q102 -66 211 -66q94 0 205 56l10 2q49 -12 49 -48q0 -71 -219 -102l-50 -4q-181 0 -378 182v-138q0 -39 -52 -44h-3q-21 0 -37 37 l4 83v70q-196 -186 -372 -186h-29q-242 0 -402 243q-59 116 -59 235q0 266 261 420q111 52 214 52zM92 511v-11q0 -232 234 -351q76 -28 135 -28h29q195 0 321 195q47 92 47 177v14q0 225 -222 344q-78 36 -161 36h-3q-237 0 -356 -246q-24 -77 -24 -130zM961 519h748v29 q0 106 -125 238q-120 93 -251 93q-200 0 -324 -187q-48 -89 -48 -173z" />
-<glyph unicode="&#xe7;" horiz-adv-x="986" d="M482 971q183 0 329 -136q6 -10 6 -21v-1q-8 -46 -44 -46h-4q-18 0 -103 65q-88 44 -173 44h-22q-227 0 -343 -237q-27 -81 -27 -144q0 -231 237 -351q72 -27 151 -27q135 0 260 104l20 5h8q32 0 40 -46v-2q0 -57 -214 -139l-95 -13v-83q109 -72 109 -165 q0 -133 -155 -171l-48 4h-57l-54 -4q-40 14 -40 37v12q9 43 41 43h127q94 0 94 79v4q0 61 -82 78q-27 13 -27 31v138q-106 15 -232 100q-175 157 -175 369q0 231 205 387q130 86 268 86z" />
-<glyph unicode="&#xe8;" horiz-adv-x="1127" d="M473 979q276 0 429 -262q52 -102 52 -222v-17q-9 -50 -45 -50h-807q57 -188 210 -271q90 -35 169 -35q90 0 200 55h14q43 -9 43 -41v-11q0 -69 -241 -100h-24q-256 0 -410 241q-63 113 -63 236q0 262 247 418q121 59 226 59zM97 521h757q0 108 -94 236q-130 122 -257 122 h-41q-189 0 -310 -184q-43 -74 -55 -174zM444 1356h22q20 0 128 -141q23 -25 23 -42v-8q0 -36 -50 -44q-30 0 -81 78q-79 88 -79 102v14q0 30 37 41z" />
-<glyph unicode="&#xe9;" horiz-adv-x="1118" d="M473 979q276 0 429 -262q52 -102 52 -222v-17q-9 -50 -45 -50h-807q57 -188 210 -271q90 -35 169 -35q90 0 200 55h14q43 -9 43 -41v-11q0 -69 -241 -100h-24q-256 0 -410 241q-63 113 -63 236q0 262 247 418q121 59 226 59zM97 521h757q0 108 -94 236q-130 122 -257 122 h-41q-189 0 -310 -184q-43 -74 -55 -174zM566 1360q51 -12 51 -45v-7q0 -20 -76 -106q-53 -81 -93 -81h-4q-27 0 -37 47v5q0 24 107 145q32 42 52 42z" />
-<glyph unicode="&#xea;" horiz-adv-x="1144" d="M473 979q276 0 429 -262q52 -102 52 -222v-17q-9 -50 -45 -50h-807q57 -188 210 -271q90 -35 169 -35q90 0 200 55h14q43 -9 43 -41v-11q0 -69 -241 -100h-24q-256 0 -410 241q-63 113 -63 236q0 262 247 418q121 59 226 59zM97 521h757q0 108 -94 236q-130 122 -257 122 h-41q-189 0 -310 -184q-43 -74 -55 -174zM460 1367l3 -3h22l4 3q30 0 96 -97q65 -69 65 -92q-9 -50 -48 -50q-35 0 -98 95l-10 15h-35q-70 -110 -105 -110q-50 10 -50 48q0 27 98 132q38 59 58 59z" />
-<glyph unicode="&#xeb;" horiz-adv-x="1122" d="M333 1218h5q43 -10 43 -37v-11q0 -37 -48 -45q-44 9 -44 45v11q0 27 44 37zM607 1218h15q29 0 37 -54q0 -27 -49 -38q-43 7 -43 40v15q11 37 40 37zM472 977q275 0 428 -261q52 -102 52 -222v-17q-9 -50 -45 -50h-805q57 -188 209 -271q90 -35 169 -35q90 0 199 55h14 q43 -9 43 -41v-11q0 -68 -240 -99h-24q-255 0 -410 240q-62 113 -62 236q0 261 247 417q120 59 225 59zM97 520h755q0 108 -94 235q-129 122 -257 122h-40q-188 0 -310 -184q-42 -73 -54 -173z" />
-<glyph unicode="&#xec;" horiz-adv-x="514" d="M118 1319h21q20 0 128 -141q23 -26 23 -43v-7q0 -36 -50 -45q-30 0 -81 78q-79 89 -79 102v15q0 29 38 41zM209 978q48 -12 48 -37v-875q0 -33 -47 -41h-1q-35 0 -45 50v843q6 60 45 60z" />
-<glyph unicode="&#xed;" horiz-adv-x="514" d="M279 1328q52 -12 52 -45v-7q0 -21 -76 -107q-54 -82 -94 -82h-4q-27 0 -37 48v5q0 23 108 145q32 43 51 43zM210 982q47 -12 47 -37v-879q0 -33 -46 -41h-2q-35 0 -45 51v846q6 60 46 60z" />
-<glyph unicode="&#xee;" horiz-adv-x="514" d="M189 1323l4 -3h22l3 3q29 0 96 -98q65 -70 65 -92q-9 -51 -49 -51q-34 0 -99 99l-15 11h-29q-71 -110 -106 -110q-51 10 -51 49q0 26 98 132q39 60 61 60zM205 987q48 -12 48 -38v-882q0 -34 -47 -42h-1q-36 0 -46 51v850q6 61 46 61z" />
-<glyph unicode="&#xef;" horiz-adv-x="514" d="M209 983q48 -12 48 -38v-879q0 -33 -47 -41h-2q-35 0 -45 51v846q6 61 46 61zM64 1248h5q44 -10 44 -38v-11q0 -37 -48 -45q-45 9 -45 45v11q0 28 44 38zM341 1248h14q30 0 38 -55q0 -27 -50 -39q-43 8 -43 41v15q12 38 41 38z" />
-<glyph unicode="&#xf0;" horiz-adv-x="1118" d="M723 1378h4q44 -9 44 -41v-14q0 -31 -169 -117v-26l283 -435q69 -117 69 -243q0 -268 -254 -421q-110 -56 -212 -56h-29q-192 0 -358 182q-101 142 -101 295q0 232 206 390q132 87 270 87l129 -14v39l-95 144q-146 -93 -165 -93h-15q-28 0 -37 47v1q0 34 97 81l71 43 q-51 77 -51 88v15q11 37 41 37h15q22 0 76 -89q164 100 181 100zM97 513v-18q0 -215 207 -334q76 -39 162 -39h22q223 0 342 231q27 74 27 142v18q0 151 -137 283q-108 86 -247 86q-244 0 -356 -254q-20 -63 -20 -115z" />
-<glyph unicode="&#xf1;" horiz-adv-x="1108" d="M374 1336h18q62 0 150 -60l37 -10h26l70 21q47 -9 47 -47q0 -52 -116 -66h-24q-61 0 -151 60l-36 9h-24l-70 -18h-2q-43 9 -43 41v11q0 35 63 49q27 10 55 10zM45 977q48 -12 48 -37v-136q194 173 372 173q195 0 347 -163q111 -137 111 -287v-465q0 -28 -47 -37h1 q-47 8 -47 45v409q0 292 -255 386q-62 16 -110 16h-11q-214 0 -329 -219q-32 -69 -32 -212v-384q0 -33 -47 -41h-1q-35 0 -45 50v842q6 60 45 60z" />
-<glyph unicode="&#xf2;" horiz-adv-x="1118" d="M477 979q184 0 334 -140q143 -149 143 -337q0 -268 -254 -421q-110 -56 -212 -56h-29q-192 0 -358 182q-101 142 -101 295q0 232 206 390q132 87 271 87zM97 513v-18q0 -215 207 -334q76 -39 162 -39h22q223 0 342 231q27 74 27 142v18q0 179 -163 302q-98 67 -221 67 q-244 0 -356 -254q-20 -63 -20 -115zM448 1367h22q19 0 127 -141q24 -25 24 -42v-8q0 -36 -51 -44q-29 0 -80 78q-80 88 -80 102v14q0 29 38 41z" />
-<glyph unicode="&#xf3;" horiz-adv-x="1118" d="M566 1364q51 -12 51 -44v-7q0 -21 -75 -106q-53 -81 -93 -81h-4q-26 0 -37 47v5q0 23 107 144q32 42 51 42zM475 974q182 0 332 -139q142 -149 142 -335q0 -267 -253 -420q-109 -55 -211 -55h-29q-190 0 -355 181q-101 142 -101 294q0 231 205 388q131 86 270 86zM96 510 v-18q0 -213 206 -332q76 -39 162 -39h21q223 0 341 230q27 74 27 141v18q0 180 -163 301q-97 67 -219 67q-243 0 -355 -253q-20 -63 -20 -115z" />
-<glyph unicode="&#xf4;" horiz-adv-x="1118" d="M459 1360l4 -3h22l3 3q28 0 94 -96q64 -69 64 -92q-8 -50 -48 -50q-33 0 -96 97l-14 13h-31q-70 -110 -103 -110q-51 10 -51 48q0 27 97 131q37 59 59 59zM475 974q182 0 332 -139q142 -149 142 -335q0 -267 -253 -420q-109 -55 -211 -55h-29q-190 0 -355 181 q-101 142 -101 294q0 231 205 388q131 86 270 86zM96 510v-18q0 -213 206 -332q76 -39 162 -39h21q223 0 341 230q27 74 27 141v18q0 180 -163 301q-97 67 -219 67q-243 0 -355 -253q-20 -63 -20 -115z" />
-<glyph unicode="&#xf5;" horiz-adv-x="1118" d="M477 979q184 0 334 -140q143 -149 143 -337q0 -268 -254 -421q-110 -56 -212 -56h-29q-192 0 -358 182q-101 142 -101 295q0 232 206 390q132 87 271 87zM97 513v-18q0 -215 207 -334q76 -39 162 -39h22q223 0 342 231q27 74 27 142v18q0 179 -163 302q-98 67 -221 67 q-244 0 -356 -254q-20 -63 -20 -115zM382 1323h18q62 0 151 -60l37 -9h25l70 21q47 -9 47 -47q0 -53 -116 -67h-23q-61 0 -151 60l-37 10h-24l-70 -19h-2q-43 9 -43 41v11q0 35 62 49q27 10 56 10z" />
-<glyph unicode="&#xf6;" horiz-adv-x="1114" d="M332 1215h5q43 -10 43 -37v-11q0 -37 -48 -45q-44 9 -44 45v11q0 27 44 37zM606 1215h14q29 0 37 -54q0 -27 -49 -38q-43 7 -43 40v14q12 38 41 38zM475 974q182 0 332 -139q142 -149 142 -335q0 -267 -253 -420q-109 -55 -211 -55h-29q-190 0 -355 181 q-101 142 -101 294q0 231 205 388q131 86 270 86zM96 510v-18q0 -213 206 -332q76 -39 162 -39h21q223 0 341 230q27 74 27 141v18q0 180 -163 301q-97 67 -219 67q-243 0 -355 -253q-20 -63 -20 -115z" />
-<glyph unicode="&#xf7;" d="M497 1107h4q72 0 87 -77v-11q-17 -78 -75 -78h-7q-84 9 -84 83v5q19 78 75 78zM203 775h604q53 -10 53 -51v-12q0 -30 -50 -43h-611q-49 10 -49 47v16q0 32 53 43zM504 503h5q66 0 79 -89v-2q0 -61 -83 -78q-83 17 -83 74v20q0 56 82 75z" />
-<glyph unicode="&#xf8;" horiz-adv-x="1169" d="M938 987h4q36 0 44 -54q0 -16 -111 -123q122 -149 122 -311q0 -267 -253 -419q-108 -55 -210 -55h-29q-129 0 -289 111q-88 -107 -115 -107h-14q-29 0 -37 53q0 17 106 119q-106 146 -106 298q0 230 205 387q130 86 269 86q138 0 288 -99q93 114 126 114zM146 509v-18 q0 -96 60 -207h30l504 521q-102 71 -220 71q-243 0 -354 -252q-20 -63 -20 -115zM809 744l-526 -545q127 -78 230 -78h21q222 0 340 229q27 74 27 141v18q0 117 -92 235z" />
-<glyph unicode="&#xf9;" horiz-adv-x="1109" d="M447 1364h21q20 0 128 -141q23 -25 23 -42v-8q0 -36 -50 -44q-30 0 -81 78q-79 88 -79 102v14q0 29 38 41zM45 977q48 -12 48 -38v-391q0 -265 153 -357q96 -73 215 -73q230 0 345 235q24 76 24 151v422q10 51 45 51q47 -12 47 -45v-870q0 -28 -47 -37h1q-46 8 -46 44v95 h-39q-153 -139 -319 -139h-25q-215 0 -374 212q-73 113 -73 282v397q6 61 45 61z" />
-<glyph unicode="&#xfa;" horiz-adv-x="1105" d="M571 1374q51 -11 51 -44v-8q0 -20 -76 -106q-54 -82 -94 -82h-3q-27 0 -38 48v4q0 24 108 146q32 42 52 42zM45 981q48 -12 48 -37v-393q0 -266 154 -359q96 -74 217 -74q230 0 346 237q24 76 24 152v424q10 50 45 50q48 -11 48 -44v-875q0 -28 -47 -37h1q-47 8 -47 45 v95h-39q-153 -140 -320 -140h-26q-216 0 -376 213q-73 114 -73 284v399q6 60 45 60z" />
-<glyph unicode="&#xfb;" horiz-adv-x="1114" d="M463 1378l4 -4h27l3 4q26 0 93 -98q65 -70 65 -93q-8 -51 -49 -51q-34 0 -99 98l-13 13h-31q-71 -111 -105 -111q-52 10 -52 49q0 27 99 133q38 60 58 60zM46 987q48 -12 48 -38v-395q0 -268 155 -361q96 -74 217 -74q232 0 348 237q24 77 24 153v426q10 52 46 52 q48 -12 48 -46v-878q0 -29 -47 -38q-47 9 -47 45v95h-39q-154 -140 -322 -140h-26q-217 0 -377 214q-74 114 -74 285v402q6 61 46 61z" />
-<glyph unicode="&#xfc;" horiz-adv-x="1109" d="M333 1219h5q44 -10 44 -37v-11q0 -37 -48 -45q-45 9 -45 45v11q0 27 44 37zM608 1219h14q30 0 38 -54q0 -27 -50 -39q-43 8 -43 41v14q12 38 41 38zM45 977q48 -12 48 -37v-391q0 -266 153 -358q96 -73 216 -73q229 0 344 235q24 76 24 152v421q10 51 46 51 q47 -11 47 -44v-871q0 -28 -47 -37h1q-47 8 -47 45v94h-38q-153 -139 -320 -139h-25q-215 0 -374 212q-73 113 -73 282v398q6 60 45 60z" />
-<glyph unicode="&#xfd;" horiz-adv-x="990" d="M589 1381q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM776 992q51 -10 51 -45v-1q-3 -22 -361 -876q-169 -417 -186 -440q-12 -9 -29 -13q-49 10 -49 36v19q0 8 165 405v14l-348 850v-4q10 51 48 51q44 0 83 -129 q238 -565 249 -611h41q293 715 305 729q17 15 31 15z" />
-<glyph unicode="&#xfe;" horiz-adv-x="1131" d="M48 1369h11q44 -9 44 -34v-541q196 188 386 188q185 0 335 -140q144 -150 144 -339q0 -269 -256 -423q-109 -56 -212 -56h-29q-166 0 -368 182v-563q0 -27 -51 -38q-31 0 -42 54v1653q6 57 38 57zM107 514v-18q0 -215 208 -335q76 -39 163 -39h22q224 0 343 232 q28 73 28 142v18q0 181 -165 304q-98 67 -221 67q-245 0 -357 -255q-21 -63 -21 -116z" />
-<glyph unicode="&#xff;" horiz-adv-x="990" d="M280 1216h5q44 -10 44 -37v-11q0 -37 -48 -45q-45 9 -45 45v11q0 27 44 37zM554 1216h15q29 0 37 -54q0 -27 -49 -38q-43 7 -43 40v14q12 38 40 38zM764 975q50 -10 50 -45v-1q-3 -22 -359 -872q-168 -415 -185 -438q-11 -9 -30 -13q-48 10 -48 36v18q0 8 165 404v14 l-347 846v-3q10 50 48 50q44 0 82 -129q237 -562 248 -608h41q292 712 304 726q16 15 31 15z" />
-<glyph unicode="&#x100;" horiz-adv-x="1184" d="M531 1403q49 0 78 -121q454 -1181 457 -1205v-9q0 -35 -48 -43h-2q-46 0 -70 110l-176 457h-474l-210 -553q-17 -14 -32 -14h-6q-48 9 -48 46l126 341q336 874 363 965q23 26 42 26zM514 1167l-177 -478h384v34l-169 444h-38zM117 1672h842q47 -9 47 -45v-10 q-9 -47 -42 -47h-847q-38 0 -45 55q13 47 45 47z" />
-<glyph unicode="&#x101;" horiz-adv-x="1199" d="M529 998q276 0 437 -271q49 -108 49 -227v-433q0 -34 -48 -42h-2q-31 0 -46 36v-2l4 93v63q-200 -190 -380 -190h-29q-247 0 -412 249q-60 119 -60 241q0 271 267 430q113 53 220 53zM138 519v-11q0 -238 239 -359q77 -28 137 -28h29q200 0 329 199q47 94 47 180v15 q0 230 -226 351q-80 36 -164 36h-4q-242 0 -363 -251q-24 -78 -24 -132zM119 1272h842q47 -9 47 -45v-10q-9 -47 -42 -47h-847q-38 0 -45 55q13 47 45 47z" />
-<glyph unicode="&#x102;" horiz-adv-x="1202" d="M325 1781h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50zM531 1403q49 0 78 -121q454 -1181 457 -1205v-9q0 -35 -48 -43h-2q-46 0 -70 110l-176 457h-474l-210 -553 q-17 -14 -32 -14h-6q-48 9 -48 46l126 341q336 874 363 965q23 26 42 26zM514 1167l-177 -478h384v34l-169 444h-38z" />
-<glyph unicode="&#x103;" horiz-adv-x="1118" d="M281 1389h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50zM487 998q276 0 437 -271q49 -108 49 -227v-433q0 -34 -48 -42h-2q-31 0 -46 36v-2l4 93v63 q-200 -190 -380 -190h-29q-247 0 -412 249q-60 119 -60 241q0 271 267 430q113 53 220 53zM96 519v-11q0 -238 239 -359q77 -28 137 -28h29q200 0 329 199q47 94 47 180v15q0 230 -226 351q-80 36 -164 36h-4q-242 0 -363 -251q-24 -78 -24 -132z" />
-<glyph unicode="&#x104;" horiz-adv-x="1338" d="M547 1412q48 0 76 -112q478 -1245 478 -1264l4 -27v-93q0 -43 -67 -53q-48 -28 -48 -74v-8q0 -64 81 -74h145q50 -9 50 -48v-1q-10 -51 -40 -51h-161q-127 0 -172 142l-6 42q0 96 119 172v36q-17 72 -215 586h-483l-215 -565q-17 -14 -32 -14h-6q-50 9 -50 48v-1l128 348 q344 892 371 985q24 26 43 26zM530 1171l-180 -487h391v34l-173 453h-38z" />
-<glyph unicode="&#x105;" horiz-adv-x="1241" d="M492 982q278 0 439 -271q50 -110 50 -228v-566q0 -40 -75 -56q-38 -27 -38 -60v-22q15 -67 81 -67h143q37 0 46 -49q-11 -47 -39 -47h-157q-125 0 -170 141l-4 41q0 92 118 166l2 154v78q-200 -190 -381 -190h-30q-248 0 -412 250q-61 119 -61 242q0 272 268 431 q114 53 220 53zM100 501v-11q0 -238 240 -360q77 -28 137 -28h30q201 0 330 199q48 95 48 182v15q0 230 -228 351q-80 37 -165 37h-3q-243 0 -364 -252q-25 -78 -25 -133z" />
-<glyph unicode="&#x106;" horiz-adv-x="1251" d="M808 1838q46 0 55 -65q0 -27 -177 -185q-62 -76 -90 -76h-10q-49 10 -49 47v16q0 23 133 142q106 121 138 121zM689 1411q215 0 397 -128q9 -18 9 -28v-8q0 -41 -55 -47h3l-128 66q-138 44 -226 44q-281 0 -486 -257q-102 -172 -102 -335q0 -329 308 -521 q137 -71 273 -71h11q173 0 343 106h13q46 -10 46 -43v-11q0 -61 -235 -131q-76 -22 -159 -22h-19q-342 0 -573 318q-109 183 -109 375q0 360 329 587q175 106 360 106z" />
-<glyph unicode="&#x107;" horiz-adv-x="973" d="M597 1442q46 0 55 -65q0 -27 -177 -185q-62 -76 -90 -76h-10q-49 10 -49 47v16q0 23 133 142q106 121 138 121zM488 1001q188 0 340 -140q6 -10 6 -22v-2q-9 -48 -46 -48h-4q-19 0 -107 67q-90 46 -178 46h-22q-234 0 -353 -244q-28 -83 -28 -149q0 -237 244 -360 q74 -28 156 -28q138 0 266 107l21 5h9q34 0 42 -48v-1q0 -60 -222 -145q-76 -14 -113 -14h-30q-196 0 -365 186q-104 146 -104 302q0 238 211 400q134 88 277 88z" />
-<glyph unicode="&#x108;" horiz-adv-x="1254" d="M647 1789h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50zM689 1411q215 0 397 -128q9 -18 9 -28v-8q0 -41 -55 -47h3l-128 66q-138 44 -226 44q-281 0 -486 -257 q-102 -172 -102 -335q0 -329 308 -521q137 -71 273 -71h11q173 0 343 106h13q46 -10 46 -43v-11q0 -61 -235 -131q-76 -22 -159 -22h-19q-342 0 -573 318q-109 183 -109 375q0 360 329 587q175 106 360 106z" />
-<glyph unicode="&#x109;" horiz-adv-x="982" d="M484 1424h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50zM488 1001q188 0 340 -140q6 -10 6 -22v-2q-9 -48 -46 -48h-4q-19 0 -107 67q-90 46 -178 46h-22 q-234 0 -353 -244q-28 -83 -28 -149q0 -237 244 -360q74 -28 156 -28q138 0 266 107l21 5h9q34 0 42 -48v-1q0 -60 -222 -145q-76 -14 -113 -14h-30q-196 0 -365 186q-104 146 -104 302q0 238 211 400q134 88 277 88z" />
-<glyph unicode="&#x10a;" horiz-adv-x="1259" d="M694 1755q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4zM689 1411q215 0 397 -128q9 -18 9 -28v-8q0 -41 -55 -47h3l-128 66q-138 44 -226 44q-281 0 -486 -257q-102 -172 -102 -335q0 -329 308 -521q137 -71 273 -71h11 q173 0 343 106h13q46 -10 46 -43v-11q0 -61 -235 -131q-76 -22 -159 -22h-19q-342 0 -573 318q-109 183 -109 375q0 360 329 587q175 106 360 106z" />
-<glyph unicode="&#x10b;" horiz-adv-x="973" d="M509 1354q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4zM488 1001q188 0 340 -140q6 -10 6 -22v-2q-9 -48 -46 -48h-4q-19 0 -107 67q-90 46 -178 46h-22q-234 0 -353 -244q-28 -83 -28 -149q0 -237 244 -360q74 -28 156 -28 q138 0 266 107l21 5h9q34 0 42 -48v-1q0 -60 -222 -145q-76 -14 -113 -14h-30q-196 0 -365 186q-104 146 -104 302q0 238 211 400q134 88 277 88z" />
-<glyph unicode="&#x10c;" horiz-adv-x="1241" d="M531 1788h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50zM689 1411q215 0 397 -128q9 -18 9 -28v-8q0 -41 -55 -47h3l-128 66q-138 44 -226 44q-281 0 -486 -257 q-102 -172 -102 -335q0 -329 308 -521q137 -71 273 -71h11q173 0 343 106h13q46 -10 46 -43v-11q0 -61 -235 -131q-76 -22 -159 -22h-19q-342 0 -573 318q-109 183 -109 375q0 360 329 587q175 106 360 106z" />
-<glyph unicode="&#x10d;" horiz-adv-x="990" d="M338 1414h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50zM488 1001q188 0 340 -140q6 -10 6 -22v-2q-9 -48 -46 -48h-4q-19 0 -107 67q-90 46 -178 46h-22q-234 0 -353 -244 q-28 -83 -28 -149q0 -237 244 -360q74 -28 156 -28q138 0 266 107l21 5h9q34 0 42 -48v-1q0 -60 -222 -145q-76 -14 -113 -14h-30q-196 0 -365 186q-104 146 -104 302q0 238 211 400q134 88 277 88z" />
-<glyph unicode="&#x10e;" horiz-adv-x="1162" d="M297 1793h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50zM72 1410l-9 2h197l42 4q310 0 541 -272q146 -190 146 -431q0 -332 -293 -560q-185 -128 -391 -128h-256 q-49 9 -49 47v1291q7 49 72 49v-2zM98 1318v-1195h188q376 0 558 364q47 124 47 237q0 273 -240 474q-150 120 -441 120h-112z" />
-<glyph unicode="&#x10f;" horiz-adv-x="1343" d="M1129 1489h28q61 0 87 -213v-18q0 -117 -133 -227q-21 -12 -25 -12q-6 2 -8 6q60 144 60 241v12q0 69 -48 151v10q10 50 39 50zM923 1407h12q46 -9 46 -36v-748l4 -128q0 -140 -115 -294q-163 -176 -366 -176h-30q-198 0 -369 187q-105 148 -105 306q0 239 213 403 q135 89 280 89q187 0 395 -186v484l-4 56q14 43 39 43zM97 529v-19q0 -247 258 -367q70 -21 126 -21h23q241 0 364 258q20 79 20 122v23q0 246 -263 368q-80 20 -125 20h-15q-241 0 -363 -253q-25 -73 -25 -131z" />
-<glyph unicode="&#x110;" horiz-adv-x="1303" d="M185 822v541q7 49 72 49v-2l-9 2h197l42 4q310 0 541 -272q146 -190 146 -431q0 -332 -293 -560q-185 -128 -391 -128h-256q-49 9 -49 47v648h-75l-59 -4q-47 17 -47 53q9 53 47 53h134zM283 822h209l36 4q35 0 50 -58q0 -35 -47 -52l-55 4h-193v-597h188q376 0 558 364 q47 124 47 237q0 273 -240 474q-150 120 -441 120h-112v-496z" />
-<glyph unicode="&#x111;" horiz-adv-x="1343" d="M128 529v-19q0 -247 258 -367q70 -21 126 -21h23q241 0 364 258q20 79 20 122v23q0 246 -263 368q-80 20 -125 20h-15q-241 0 -363 -253q-25 -73 -25 -131zM921 1284l-6 80q14 43 39 43h12q46 -9 46 -36v-87h153l36 4q35 0 50 -58q0 -35 -47 -52l-55 4h-137v-559l4 -128 q0 -140 -115 -294q-163 -176 -366 -176h-30q-198 0 -369 187q-105 148 -105 306q0 239 213 403q135 89 280 89q187 0 395 -186v358h-136l-59 -4q-47 17 -47 53q9 53 72 53v1l14 -1h158z" />
-<glyph unicode="&#x112;" horiz-adv-x="1100" d="M60 1702h841q48 -9 48 -45v-10q-9 -47 -42 -47h-847q-38 0 -45 55q13 47 45 47zM129 1405l-9 2h746l15 4q40 0 47 -57q-9 -44 -57 -44h-717v-560h479l53 3q31 0 43 -53q0 -30 -41 -48l-70 4h-464v-534h736q30 0 38 -52q-13 -45 -42 -45h-780q-49 9 -49 47v1286 q7 49 72 49v-2z" />
-<glyph unicode="&#x113;" horiz-adv-x="1105" d="M473 979q276 0 429 -262q52 -102 52 -222v-17q-9 -50 -45 -50h-807q57 -188 210 -271q90 -35 169 -35q90 0 200 55h14q43 -9 43 -41v-11q0 -69 -241 -100h-24q-256 0 -410 241q-63 113 -63 236q0 262 247 418q121 59 226 59zM97 521h757q0 108 -94 236q-130 122 -257 122 h-41q-189 0 -310 -184q-43 -74 -55 -174zM60 1293h842q47 -9 47 -45v-10q-9 -47 -42 -47h-847q-38 0 -45 55q13 47 45 47z" />
-<glyph unicode="&#x114;" horiz-adv-x="1052" d="M107 1405l-9 2h746l15 4q40 0 48 -57q-10 -44 -58 -44h-717v-560h480l53 3q30 0 42 -53q0 -30 -41 -48l-69 4h-465v-534h736q31 0 38 -52q-13 -45 -42 -45h-780q-49 9 -49 47v1286q7 49 72 49v-2zM267 1799h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6 q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50z" />
-<glyph unicode="&#x115;" horiz-adv-x="1101" d="M482 979q276 0 429 -262q52 -102 52 -222v-17q-9 -50 -45 -50h-807q57 -188 210 -271q90 -35 169 -35q90 0 200 55h14q43 -9 43 -41v-11q0 -69 -241 -100h-24q-256 0 -410 241q-63 113 -63 236q0 262 247 418q121 59 226 59zM106 521h757q0 108 -94 236 q-130 122 -257 122h-41q-189 0 -310 -184q-43 -74 -55 -174zM276 1411h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50z" />
-<glyph unicode="&#x116;" horiz-adv-x="1070" d="M103 1405l-9 2h746l15 4q40 0 48 -57q-10 -44 -58 -44h-717v-560h480l53 3q30 0 42 -53q0 -30 -41 -48l-69 4h-465v-534h736q31 0 38 -52q-13 -45 -42 -45h-780q-49 9 -49 47v1286q7 49 72 49v-2zM479 1760q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96 q0 57 71 85q8 4 23 4z" />
-<glyph unicode="&#x117;" horiz-adv-x="1105" d="M495 979q276 0 429 -262q52 -102 52 -222v-17q-9 -50 -45 -50h-807q57 -188 210 -271q90 -35 169 -35q90 0 200 55h14q43 -9 43 -41v-11q0 -69 -241 -100h-24q-256 0 -410 241q-63 113 -63 236q0 262 247 418q121 59 226 59zM119 521h757q0 108 -94 236 q-130 122 -257 122h-41q-189 0 -310 -184q-43 -74 -55 -174zM518 1324q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4z" />
-<glyph unicode="&#x118;" horiz-adv-x="1052" d="M589 25h-509q-49 9 -49 47v1286q7 49 72 49v-2l-9 2h746l15 4q40 0 48 -57q-10 -44 -58 -44h-717v-560h480l53 3q30 0 42 -53q0 -30 -41 -48l-69 4h-465v-534h736q31 0 38 -52q-13 -45 -42 -45h-185q6 -35 7 -37v-101q0 -36 -66 -46q-40 -29 -40 -70q0 -78 92 -78h105 l12 3q45 -10 45 -41v-7q0 -29 -35 -42l-69 4h-38l-56 -4q-58 0 -122 81q-21 40 -21 70v28q0 81 106 140v20z" />
-<glyph unicode="&#x119;" horiz-adv-x="1122" d="M119 521h757q0 108 -94 236q-130 122 -257 122h-41q-189 0 -310 -184q-43 -74 -55 -174zM520 25h-25q-256 0 -410 241q-63 113 -63 236q0 262 247 418q121 59 226 59q276 0 429 -262q52 -102 52 -222v-17q-9 -50 -45 -50h-807q57 -188 210 -271q90 -35 169 -35 q90 0 200 55h14q43 -9 43 -41v-11q0 -49 -158 -87q10 -30 10 -32v-101q0 -36 -66 -46q-40 -29 -40 -70q0 -78 92 -78h105l12 3q45 -10 45 -41v-7q0 -29 -35 -42l-69 4h-38l-56 -4q-58 0 -122 81q-21 40 -21 70v28q0 81 106 140v20z" />
-<glyph unicode="&#x11a;" horiz-adv-x="1065" d="M107 1405l-9 2h746l15 4q40 0 48 -57q-10 -44 -58 -44h-717v-560h480l53 3q30 0 42 -53q0 -30 -41 -48l-69 4h-465v-534h736q31 0 38 -52q-13 -45 -42 -45h-780q-49 9 -49 47v1286q7 49 72 49v-2zM332 1793h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12 q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50z" />
-<glyph unicode="&#x11b;" horiz-adv-x="1136" d="M517 979q276 0 429 -262q52 -102 52 -222v-17q-9 -50 -45 -50h-807q57 -188 210 -271q90 -35 169 -35q90 0 200 55h14q43 -9 43 -41v-11q0 -69 -241 -100h-24q-256 0 -410 241q-63 113 -63 236q0 262 247 418q121 59 226 59zM141 521h757q0 108 -94 236 q-130 122 -257 122h-41q-189 0 -310 -184q-43 -74 -55 -174zM390 1397h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50z" />
-<glyph unicode="&#x11c;" horiz-adv-x="1285" d="M682 1811h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50zM713 1411q221 0 394 -121q12 -16 12 -31v-4q0 -37 -53 -47q-4 0 -135 62q-93 36 -180 36h-61q-222 0 -423 -213 q-131 -179 -131 -367v-15q0 -307 284 -501q148 -84 297 -84h15q146 0 305 86v384h-296q-48 8 -48 47v1q8 49 46 49h352q35 0 43 -49v-417q0 -76 -32 -92q-188 -110 -363 -110h-22q-342 0 -573 318q-109 179 -109 375q0 348 310 576q190 117 368 117z" />
-<glyph unicode="&#x11d;" horiz-adv-x="1167" d="M502 1429h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50zM507 996q216 0 374 -180q110 -150 110 -282l-4 -126v-449q0 -114 -182 -255q-142 -92 -298 -92 q-266 0 -440 238q-29 48 -29 60v11q0 29 45 39h8q33 0 63 -81q144 -180 353 -180q252 0 381 233l8 54v226q-200 -184 -378 -184h-30q-194 0 -362 184q-103 145 -103 300q0 236 209 396q133 88 275 88zM118 523v-18q0 -243 254 -361q69 -21 124 -21h22q238 0 359 254 q19 77 19 120v23q0 242 -258 362q-80 19 -124 19h-14q-238 0 -358 -250q-24 -70 -24 -128z" />
-<glyph unicode="&#x11e;" horiz-adv-x="1246" d="M465 1782h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50zM700 1411q221 0 394 -121q12 -16 12 -31v-4q0 -37 -53 -47q-4 0 -135 62q-93 36 -180 36h-61 q-222 0 -423 -213q-131 -179 -131 -367v-15q0 -307 284 -501q148 -84 297 -84h15q146 0 305 86v384h-296q-48 8 -48 47v1q8 49 46 49h352q35 0 43 -49v-417q0 -76 -32 -92q-188 -110 -363 -110h-22q-342 0 -573 318q-109 179 -109 375q0 348 310 576q190 117 368 117z" />
-<glyph unicode="&#x11f;" horiz-adv-x="1140" d="M311 1411h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50zM520 996q216 0 374 -180q110 -150 110 -282l-4 -126v-449q0 -114 -182 -255q-142 -92 -298 -92 q-266 0 -440 238q-29 48 -29 60v11q0 29 45 39h8q33 0 63 -81q144 -180 353 -180q252 0 381 233l8 54v226q-200 -184 -378 -184h-30q-194 0 -362 184q-103 145 -103 300q0 236 209 396q133 88 275 88zM131 523v-18q0 -243 254 -361q69 -21 124 -21h22q238 0 359 254 q19 77 19 120v23q0 242 -258 362q-80 19 -124 19h-14q-238 0 -358 -250q-24 -70 -24 -128z" />
-<glyph unicode="&#x120;" horiz-adv-x="1272" d="M725 1768q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4zM704 1411q221 0 394 -121q12 -16 12 -31v-4q0 -37 -53 -47q-4 0 -135 62q-93 36 -180 36h-61q-222 0 -423 -213q-131 -179 -131 -367v-15q0 -307 284 -501q148 -84 297 -84 h15q146 0 305 86v384h-296q-48 8 -48 47v1q8 49 46 49h352q35 0 43 -49v-417q0 -76 -32 -92q-188 -110 -363 -110h-22q-342 0 -573 318q-109 179 -109 375q0 348 310 576q190 117 368 117z" />
-<glyph unicode="&#x121;" horiz-adv-x="1149" d="M554 1382q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4zM529 996q216 0 374 -180q110 -150 110 -282l-4 -126v-449q0 -114 -182 -255q-142 -92 -298 -92q-266 0 -440 238q-29 48 -29 60v11q0 29 45 39h8q33 0 63 -81 q144 -180 353 -180q252 0 381 233l8 54v226q-200 -184 -378 -184h-30q-194 0 -362 184q-103 145 -103 300q0 236 209 396q133 88 275 88zM140 523v-18q0 -243 254 -361q69 -21 124 -21h22q238 0 359 254q19 77 19 120v23q0 242 -258 362q-80 19 -124 19h-14 q-238 0 -358 -250q-24 -70 -24 -128z" />
-<glyph unicode="&#x122;" horiz-adv-x="1276" d="M671 26q-319 31 -527 317q-109 179 -109 375q0 348 310 576q190 117 368 117q221 0 394 -121q12 -16 12 -31v-4q0 -37 -53 -47q-4 0 -135 62q-93 36 -180 36h-61q-222 0 -423 -213q-131 -179 -131 -367v-15q0 -307 284 -501q148 -84 297 -84h15q146 0 305 86v384h-296 q-48 8 -48 47v1q8 49 46 49h352q35 0 43 -49v-417q0 -76 -32 -92q-166 -97 -345 -110v-67q104 -69 104 -157q0 -126 -147 -163l-46 3h-54l-52 -3q-37 13 -37 34v12q8 40 38 40h121q91 0 91 77v3q0 61 -79 76q-25 12 -25 29v117z" />
-<glyph unicode="&#x123;" horiz-adv-x="1184" d="M612 1643q2 -1 2 -6v-3q-59 -141 -60 -249q0 -67 49 -149l3 -13q0 -41 -61 -53q-72 0 -97 228q0 121 132 233zM542 996q216 0 374 -180q110 -150 110 -282l-4 -126v-449q0 -114 -182 -255q-142 -92 -298 -92q-266 0 -440 238q-29 48 -29 60v11q0 29 45 39h8q33 0 63 -81 q144 -180 353 -180q252 0 381 233l8 54v226q-200 -184 -378 -184h-30q-194 0 -362 184q-103 145 -103 300q0 236 209 396q133 88 275 88zM153 523v-18q0 -243 254 -361q69 -21 124 -21h22q238 0 359 254q19 77 19 120v23q0 242 -258 362q-80 19 -124 19h-14 q-238 0 -358 -250q-24 -70 -24 -128z" />
-<glyph unicode="&#x124;" horiz-adv-x="1176" d="M533 1811h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50zM79 1408h12q46 -9 46 -35v-623h762v610q8 48 43 48h9q45 -9 45 -43v-1301q0 -29 -50 -39h1q-48 9 -48 47v585 h-762v-589q0 -35 -48 -43h-2q-37 0 -47 53v1271q6 59 39 59z" />
-<glyph unicode="&#x125;" horiz-adv-x="1074" d="M493 1727h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50zM74 1405h12q46 -9 46 -35v-516q179 155 335 155q238 0 381 -226q54 -99 54 -187v-528q0 -35 -49 -43h-1 q-35 0 -47 46v503q0 221 -228 318q-55 16 -110 16q-227 0 -319 -240q-16 -52 -16 -166v-434q0 -35 -49 -43h-1q-35 0 -47 46v1285q10 49 39 49z" />
-<glyph unicode="&#x126;" horiz-adv-x="1303" d="M137 1165v184q6 59 39 59h12q46 -9 46 -35v-208h762v195q8 48 43 48h9q45 -9 45 -43v-200l50 4q58 0 75 -59q0 -30 -63 -51l-62 3v-998q0 -29 -50 -39h1q-48 9 -48 47v585h-762v-589q0 -35 -48 -43h-2q-37 0 -47 53v983l-51 -2q-68 18 -68 52q12 54 95 54v2zM234 1063 v-313h762v313h-762z" />
-<glyph unicode="&#x127;" horiz-adv-x="1330" d="M291 1262v94q10 49 39 49h12q46 -9 46 -35v-108h451l36 4q38 0 50 -58q0 -33 -44 -52l-62 4h-431v-306q179 155 335 155q238 0 381 -226q54 -99 54 -187v-528q0 -35 -49 -43h-1q-35 0 -47 46v503q0 221 -228 318q-55 16 -110 16q-227 0 -319 -240q-16 -52 -16 -166v-434 q0 -35 -49 -43h-1q-35 0 -47 46v1089h-154l-59 -4q-47 17 -47 53q9 53 72 53v1l14 -1h174z" />
-<glyph unicode="&#x128;" horiz-adv-x="621" d="M170 1714q70 0 178 -70l44 -5l78 23h1q49 -8 49 -47v-4q0 -49 -102 -65l-36 -4q-70 0 -171 71l-41 5l-82 -22q-49 9 -49 45v8q0 50 118 62zM171 1422l15 -2h146l13 2q51 -10 51 -48q-9 -53 -47 -53h-41v-1197h48q30 0 40 -51v1q-9 -49 -47 -49h-178q-49 9 -49 47v1 q10 51 40 51h48v1197h-41q-41 0 -47 56v3q0 28 49 42z" />
-<glyph unicode="&#x129;" horiz-adv-x="616" d="M170 1304q70 0 178 -70l44 -5l78 23h1q49 -8 49 -47v-4q0 -49 -102 -65l-36 -4q-70 0 -171 71l-41 5l-82 -22q-49 9 -49 45v8q0 50 118 62zM268 1005q50 -13 50 -39v-898q0 -35 -49 -43h-2q-36 0 -46 52v866q7 62 47 62z" />
-<glyph unicode="&#x12a;" horiz-adv-x="683" d="M94 1690l14 -1h402l36 4q35 0 50 -58q0 -35 -47 -52l-55 4h-366l-59 -4q-47 17 -47 53q9 53 72 53v1zM215 1422l15 -2h146l13 2q51 -10 51 -48q-9 -53 -47 -53h-41v-1197h48q30 0 40 -51v1q-9 -49 -47 -49h-178q-49 9 -49 47v1q10 51 40 51h48v1197h-41q-41 0 -47 56v3 q0 28 49 42z" />
-<glyph unicode="&#x12b;" horiz-adv-x="744" d="M116 1285l14 -1h402l36 4q35 0 50 -58q0 -35 -47 -52l-55 4h-366l-59 -4q-47 17 -47 53q9 53 72 53v1zM321 1005q50 -13 50 -39v-898q0 -35 -49 -43h-2q-36 0 -46 52v866q7 62 47 62z" />
-<glyph unicode="&#x12c;" horiz-adv-x="647" d="M77 1807h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50zM201 1422l15 -2h146l13 2q51 -10 51 -48q-9 -53 -47 -53h-41v-1197h48q30 0 40 -51v1q-9 -49 -47 -49h-178 q-49 9 -49 47v1q10 51 40 51h48v1197h-41q-41 0 -47 56v3q0 28 49 42z" />
-<glyph unicode="&#x12d;" horiz-adv-x="647" d="M69 1397h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50zM268 1005q50 -13 50 -39v-898q0 -35 -49 -43h-2q-36 0 -46 52v866q7 62 47 62z" />
-<glyph unicode="&#x12e;" horiz-adv-x="511" d="M169 25h-60q-49 9 -49 47v1q10 51 40 51h48v1197h-41q-41 0 -47 56v3q0 28 49 42l15 -2h146l13 2q51 -10 51 -48q-9 -53 -47 -53h-41v-1197h48q30 0 40 -51v1q-9 -49 -47 -49h-27v-90q0 -36 -66 -46q-40 -29 -40 -70q0 -78 92 -78h105l12 3q45 -10 45 -41v-7 q0 -29 -35 -42l-69 4h-38l-56 -4q-58 0 -122 81q-21 40 -21 70v28q0 81 106 140v21z" />
-<glyph unicode="&#x12f;" horiz-adv-x="466" d="M175 1261q50 -13 50 -39v-22q0 -31 -56 -39q-29 0 -40 50q9 50 46 50zM135 55q-5 13 -7 23v865q7 62 47 62q50 -13 50 -39v-898q0 -5 -1 -12q0 -9 1 -12v-99q0 -36 -66 -46q-40 -29 -40 -70q0 -78 92 -78h105l12 3q45 -10 45 -41v-7q0 -29 -35 -42l-69 4h-38l-56 -4 q-58 0 -122 81q-21 40 -21 70v28q0 81 106 140v20z" />
-<glyph unicode="&#x130;" horiz-adv-x="462" d="M210 1768q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4zM109 1422l15 -2h146l13 2q51 -10 51 -48q-9 -53 -47 -53h-41v-1197h48q30 0 40 -51v1q-9 -49 -47 -49h-178q-49 9 -49 47v1q10 51 40 51h48v1197h-41q-41 0 -47 56v3 q0 28 49 42z" />
-<glyph unicode="&#x131;" horiz-adv-x="514" d="M288 945h1q24 -5 24 -18v-876q-5 -26 -24 -26h1q-27 5 -27 18v844q-98 -33 -115 -33q-12 0 -18 25v10q0 18 84 35z" />
-<glyph unicode="&#x132;" horiz-adv-x="1435" d="M1235 1418h12q34 0 43 -49v-921q0 -225 -212 -362q-99 -57 -203 -57h-19q-207 0 -348 202q-64 106 -64 218q11 50 40 50h15q47 0 47 -94q7 -92 107 -199q99 -79 214 -79q229 0 313 237q12 45 12 88v921q9 45 43 45zM109 1422l15 -2h146l13 2q51 -10 51 -48 q-9 -53 -47 -53h-41v-1197h48q30 0 40 -51v1q-9 -49 -47 -49h-178q-49 9 -49 47v1q10 51 40 51h48v1197h-41q-41 0 -47 56v3q0 28 49 42z" />
-<glyph unicode="&#x133;" horiz-adv-x="761" d="M526 1251q48 -9 48 -48q0 -41 -51 -48q-43 12 -43 37v22q0 26 46 37zM529 1001q45 -9 45 -45v-928q0 -260 -247 -380q-86 -31 -139 -31l-4 4h-26l-3 -4h8q-41 0 -49 58q0 31 58 40q224 0 300 230l8 115v896q0 37 49 45zM127 1261q50 -13 50 -39v-22q0 -31 -56 -39 q-29 0 -40 50q9 50 46 50zM127 1005q50 -13 50 -39v-898q0 -35 -49 -43h-2q-36 0 -46 52v866q7 62 47 62z" />
-<glyph unicode="&#x134;" horiz-adv-x="1166" d="M836 1785h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50zM852 1418h12q34 0 43 -49v-921q0 -225 -212 -362q-99 -57 -203 -57h-19q-207 0 -348 202q-64 106 -64 218 q11 50 40 50h15q47 0 47 -94q7 -92 107 -199q99 -79 214 -79q229 0 313 237q12 45 12 88v921q9 45 43 45z" />
-<glyph unicode="&#x135;" horiz-adv-x="810" d="M453 1380h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50zM476 1001q45 -9 45 -45v-928q0 -260 -247 -380q-86 -31 -139 -31l-4 4h-26l-3 -4h8q-41 0 -49 58q0 31 58 40 q224 0 300 230l8 115v896q0 37 49 45z" />
-<glyph unicode="&#x136;" horiz-adv-x="1104" d="M93 1409h1q49 -8 49 -43v-713q735 734 733 734l27 4h3q45 -9 45 -43v-12q0 -25 -71 -83l-482 -485l543 -672l2 -15v-9q0 -35 -48 -43h-2q-32 0 -105 107l-463 562l-182 -186v-444q0 -35 -49 -43h-1q-37 0 -47 52v1280q10 52 47 52zM546 18q92 -60 92 -148 q0 -126 -147 -163l-46 3h-54l-52 -3q-37 13 -37 34v12q8 40 38 40h121q91 0 91 77v3q0 61 -79 76q-25 12 -25 29q0 41 28 51.5t70 -11.5z" />
-<glyph unicode="&#x137;" horiz-adv-x="1026" d="M99 1410h12q47 -10 47 -36v-793q573 380 656 427h12q39 0 47 -56q0 -29 -109 -87q-290 -196 -319 -201v-33l425 -540l3 -14v1q-9 -49 -47 -49h-7q-31 0 -113 118l-349 434h-22l-177 -113v-400q0 -35 -49 -43h-2q-35 0 -47 46v1289q10 50 39 50zM511 27q92 -60 92 -148 q0 -126 -147 -163l-46 3h-54l-52 -3q-37 13 -37 34v12q8 40 38 40h121q91 0 91 77v3q0 61 -79 76q-25 12 -25 29q0 41 28 51.5t70 -11.5z" />
-<glyph unicode="&#x138;" horiz-adv-x="1043" d="M118 1048l16 1q34 -9 37 -57v-411q573 380 656 427h12q39 0 47 -56q0 -29 -109 -87q-290 -196 -319 -201v-33l425 -540l3 -14v1q-9 -49 -47 -49h-7q-31 0 -113 118l-349 434h-22l-177 -113v-400q0 -35 -49 -43h-2q-35 0 -47 46v922q9 46 45 55z" />
-<glyph unicode="&#x139;" horiz-adv-x="947" d="M473 1799q46 0 55 -65q0 -27 -177 -185q-62 -76 -90 -76h-10q-49 10 -49 47v16q0 23 133 142q106 121 138 121zM70 1408h12q46 -9 46 -35v-1251h642q39 0 46 -52q-13 -45 -46 -45h-692q-37 0 -47 53v1271q6 59 39 59z" />
-<glyph unicode="&#x13a;" horiz-adv-x="466" d="M287 1812q46 0 55 -65q0 -27 -177 -185q-62 -76 -90 -76h-10q-49 10 -49 47v16q0 23 133 142q106 121 138 121zM117 1402h12q46 -9 46 -35v-1245h104q29 0 39 -50v2q-8 -49 -47 -49h-146q-37 0 -47 52v1267q6 58 39 58z" />
-<glyph unicode="&#x13b;" horiz-adv-x="929" d="M61 1408h12q46 -9 46 -35v-1251h642q39 0 46 -52q-13 -45 -46 -45h-692q-37 0 -47 53v1271q6 59 39 59zM506 -78q92 -60 92 -148q0 -126 -147 -163l-46 3h-54l-52 -3q-37 13 -37 34v12q8 40 38 40h121q91 0 91 77v3q0 61 -79 76q-25 12 -25 29q0 41 28 51.5t70 -11.5z " />
-<glyph unicode="&#x13c;" horiz-adv-x="515" d="M166 1402h12q46 -9 46 -35v-1245h104q29 0 39 -50v2q-8 -49 -47 -49h-146q-37 0 -47 52v1267q6 58 39 58zM291 -82q92 -60 92 -148q0 -126 -147 -163l-46 3h-54l-52 -3q-37 13 -37 34v12q8 40 38 40h121q91 0 91 77v3q0 61 -79 76q-25 12 -25 29q0 41 28 51.5t70 -11.5z " />
-<glyph unicode="&#x13d;" horiz-adv-x="973" d="M694 1551h28q61 0 87 -213v-18q0 -117 -133 -227q-21 -12 -25 -12q-6 2 -8 6q60 144 60 241v12q0 69 -48 151v10q10 50 39 50zM105 1408h12q46 -9 46 -35v-1251h642q39 0 46 -52q-13 -45 -46 -45h-692q-37 0 -47 53v1271q6 59 39 59z" />
-<glyph unicode="&#x13e;" horiz-adv-x="559" d="M347 1542h28q61 0 87 -213v-18q0 -117 -133 -227q-21 -12 -25 -12q-6 2 -8 6q60 144 60 241v12q0 69 -48 151v10q10 50 39 50zM113 1402h12q46 -9 46 -35v-1245h104q29 0 39 -50v2q-8 -49 -47 -49h-146q-37 0 -47 52v1267q6 58 39 58z" />
-<glyph unicode="&#x13f;" horiz-adv-x="1004" d="M610 844q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4zM105 1408h12q46 -9 46 -35v-1251h642q39 0 46 -52q-13 -45 -46 -45h-692q-37 0 -47 53v1271q6 59 39 59z" />
-<glyph unicode="&#x140;" horiz-adv-x="665" d="M443 809q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4zM104 1402h12q46 -9 46 -35v-1245h104q29 0 39 -50v2q-8 -49 -47 -49h-146q-37 0 -47 52v1267q6 58 39 58z" />
-<glyph unicode="&#x141;" horiz-adv-x="1079" d="M185 683v666q6 59 39 59h12q46 -9 46 -35v-617q271 198 285 198h20q30 0 43 -50v-9q0 -35 -109 -99l-239 -173v-501h642q39 0 46 -52q-13 -45 -46 -45h-692q-37 0 -47 53v476q-78 -54 -76 -54l-18 -4q-55 11 -55 55q0 43 149 132z" />
-<glyph unicode="&#x142;" horiz-adv-x="695" d="M320 723q217 156 228 156h20q30 0 43 -50v-9q0 -35 -109 -99l-182 -132v-467h104q29 0 39 -50v2q-8 -49 -47 -49h-146q-37 0 -47 52v441l-133 -93l-18 -4q-55 11 -55 55t141 127l65 48v693q6 58 39 58h12q46 -9 46 -35v-644z" />
-<glyph unicode="&#x143;" horiz-adv-x="1285" d="M799 1733q46 0 55 -65q0 -27 -177 -185q-62 -76 -90 -76h-10q-49 10 -49 47v16q0 23 133 142q106 121 138 121zM74 1406h15q32 0 62 -64q58 -65 830 -1062q-5 0 -5 6l16 -21h41v1096q9 45 43 45h11q35 0 43 -48v-1283q0 -41 -56 -50q-28 0 -110 122l-832 1062v-1137 q0 -35 -49 -43h-1q-37 0 -47 52v1266q6 59 39 59z" />
-<glyph unicode="&#x144;" horiz-adv-x="1096" d="M623 1500q46 0 55 -65q0 -27 -177 -185q-62 -76 -90 -76h-10q-49 10 -49 47v16q0 23 133 142q106 121 138 121zM76 977q48 -12 48 -37v-136q194 173 372 173q195 0 347 -163q111 -137 111 -287v-465q0 -28 -47 -37h1q-47 8 -47 45v409q0 292 -255 386q-62 16 -110 16h-11 q-214 0 -329 -219q-32 -69 -32 -212v-384q0 -33 -47 -41h-1q-35 0 -45 50v842q6 60 45 60z" />
-<glyph unicode="&#x145;" horiz-adv-x="1307" d="M105 1406h15q32 0 62 -64q58 -65 830 -1062q-5 0 -5 6l16 -21h41v1096q9 45 43 45h11q35 0 43 -48v-1283q0 -41 -56 -50q-28 0 -110 122l-832 1062v-1137q0 -35 -49 -43h-1q-37 0 -47 52v1266q6 59 39 59zM695 27q92 -60 92 -148q0 -126 -147 -163l-46 3h-54l-52 -3 q-37 13 -37 34v12q8 40 38 40h121q91 0 91 77v3q0 61 -79 76q-25 12 -25 29q0 41 28 51.5t70 -11.5z" />
-<glyph unicode="&#x146;" horiz-adv-x="1140" d="M554 23q92 -60 92 -148q0 -126 -147 -163l-46 3h-54l-52 -3q-37 13 -37 34v12q8 40 38 40h121q91 0 91 77v3q0 61 -79 76q-25 12 -25 29q0 41 28 51.5t70 -11.5zM80 977q48 -12 48 -37v-136q194 173 372 173q195 0 347 -163q111 -137 111 -287v-465q0 -28 -47 -37h1 q-47 8 -47 45v409q0 292 -255 386q-62 16 -110 16h-11q-214 0 -329 -219q-32 -69 -32 -212v-384q0 -33 -47 -41h-1q-35 0 -45 50v842q6 60 45 60z" />
-<glyph unicode="&#x147;" horiz-adv-x="1321" d="M473 1665h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50zM92 1406h15q32 0 62 -64q58 -65 830 -1062q-5 0 -5 6l16 -21h41v1096q9 45 43 45h11q35 0 43 -48v-1283 q0 -41 -56 -50q-28 0 -110 122l-832 1062v-1137q0 -35 -49 -43h-1q-37 0 -47 52v1266q6 59 39 59z" />
-<glyph unicode="&#x148;" horiz-adv-x="1114" d="M381 1414h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50zM85 977q48 -12 48 -37v-136q194 173 372 173q195 0 347 -163q111 -137 111 -287v-465q0 -28 -47 -37h1 q-47 8 -47 45v409q0 292 -255 386q-62 16 -110 16h-11q-214 0 -329 -219q-32 -69 -32 -212v-384q0 -33 -47 -41h-1q-35 0 -45 50v842q6 60 45 60z" />
-<glyph unicode="&#x149;" horiz-adv-x="1427" d="M104 1251h28q61 0 87 -213v-18q0 -117 -133 -227q-21 -12 -25 -12q-6 2 -8 6q60 144 60 241v12q0 69 -48 151v10q10 50 39 50zM336 977q48 -12 48 -37v-136q194 173 372 173q195 0 347 -163q111 -137 111 -287v-465q0 -28 -47 -37h1q-47 8 -47 45v409q0 292 -255 386 q-62 16 -110 16h-11q-214 0 -329 -219q-32 -69 -32 -212v-384q0 -33 -47 -41h-1q-35 0 -45 50v842q6 60 45 60z" />
-<glyph unicode="&#x14a;" horiz-adv-x="1268" d="M588 1408q220 0 397 -173q129 -150 144 -288l7 -47l-3 -116v-207l3 -97q-13 -123 -85 -224q-143 -174 -350 -174q-147 0 -245 83l-5 23v6q9 45 43 45h2l124 -49l80 -8h9q186 0 289 178q41 60 41 228v230q0 341 -291 461q-84 28 -145 28h-22q-251 0 -396 -247 q-48 -88 -48 -264v-728q0 -35 -49 -43h-1q-37 0 -47 52v1268q6 59 39 59h12q46 -9 46 -35v-189q225 228 451 228z" />
-<glyph unicode="&#x14b;" horiz-adv-x="1140" d="M962 52q-4 -197 -210 -277l-79 -14q-49 11 -49 37v22q0 31 59 36q127 0 184 159q0 25 3 44v420q0 292 -255 386q-62 16 -110 16h-11q-214 0 -329 -219q-32 -69 -32 -212v-384q0 -33 -47 -41h-1q-35 0 -45 50v842q6 60 45 60q48 -12 48 -37v-136q194 173 372 173 q195 0 347 -163q111 -137 111 -287v-465q0 -4 -1 -10z" />
-<glyph unicode="&#x14c;" horiz-adv-x="1580" d="M724 1410q350 0 586 -325q106 -184 106 -371q0 -346 -314 -576q-177 -113 -371 -113h-15q-357 0 -583 333q-102 167 -102 363q0 331 292 558q189 131 401 131zM128 710q0 -286 252 -481q158 -107 336 -107h19q280 0 473 248q111 160 111 348q0 323 -295 511 q-146 84 -300 84q-295 0 -489 -256q-107 -154 -107 -347zM315 1679h842q47 -9 47 -45v-10q-9 -47 -42 -47h-847q-38 0 -45 55q13 47 45 47z" />
-<glyph unicode="&#x14d;" horiz-adv-x="1188" d="M528 993q187 0 339 -142q145 -152 145 -342q0 -272 -258 -428q-111 -56 -215 -56h-30q-194 0 -362 184q-103 145 -103 300q0 236 209 396q133 88 275 88zM143 520v-18q0 -219 210 -338q77 -40 164 -40h22q226 0 346 234q28 74 28 144v18q0 183 -166 306q-98 68 -223 68 q-247 0 -361 -257q-20 -64 -20 -117zM108 1300h842q47 -9 47 -45v-10q-9 -47 -42 -47h-847q-38 0 -45 55q13 47 45 47z" />
-<glyph unicode="&#x14e;" horiz-adv-x="1563" d="M532 1811h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50zM733 1410q350 0 586 -325q106 -184 106 -371q0 -346 -314 -576q-177 -113 -371 -113h-15q-357 0 -583 333 q-102 167 -102 363q0 331 292 558q189 131 401 131zM137 710q0 -286 252 -481q158 -107 336 -107h19q280 0 473 248q111 160 111 348q0 323 -295 511q-146 84 -300 84q-295 0 -489 -256q-107 -154 -107 -347z" />
-<glyph unicode="&#x14f;" horiz-adv-x="1127" d="M316 1411h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50zM524 993q187 0 339 -142q145 -152 145 -342q0 -272 -258 -428q-111 -56 -215 -56h-30q-194 0 -362 184 q-103 145 -103 300q0 236 209 396q133 88 275 88zM139 520v-18q0 -219 210 -338q77 -40 164 -40h22q226 0 346 234q28 74 28 144v18q0 183 -166 306q-98 68 -223 68q-247 0 -361 -257q-20 -64 -20 -117z" />
-<glyph unicode="&#x150;" horiz-adv-x="1580" d="M542 1818h2q53 -9 53 -47v-20q0 -13 -162 -224q-10 -11 -17 -11h-8q-13 0 -19 22q101 253 118 269q19 11 33 11zM788 1806q57 -11 57 -55q0 -23 -103 -153q-61 -94 -76 -94h-12q-13 0 -19 22q0 9 108 255q25 25 45 25zM724 1410q350 0 586 -325q106 -184 106 -371 q0 -346 -314 -576q-177 -113 -371 -113h-15q-357 0 -583 333q-102 167 -102 363q0 331 292 558q189 131 401 131zM128 710q0 -286 252 -481q158 -107 336 -107h19q280 0 473 248q111 160 111 348q0 323 -295 511q-146 84 -300 84q-295 0 -489 -256q-107 -154 -107 -347z" />
-<glyph unicode="&#x151;" horiz-adv-x="1135" d="M405 1444h2q53 -9 53 -47v-20q0 -13 -162 -224q-10 -11 -17 -11h-8q-13 0 -19 22q101 253 118 269q19 11 33 11zM651 1432q57 -11 57 -55q0 -23 -103 -153q-61 -94 -76 -94h-12q-13 0 -19 22q0 9 108 255q25 25 45 25zM519 993q187 0 339 -142q145 -152 145 -342 q0 -272 -258 -428q-111 -56 -215 -56h-30q-194 0 -362 184q-103 145 -103 300q0 236 209 396q133 88 275 88zM134 520v-18q0 -219 210 -338q77 -40 164 -40h22q226 0 346 234q28 74 28 144v18q0 183 -166 306q-98 68 -223 68q-247 0 -361 -257q-20 -64 -20 -117z" />
-<glyph unicode="&#x152;" horiz-adv-x="2157" d="M154 710q0 -285 207 -480q131 -108 279 -108h16q233 0 392 250q91 159 91 346q0 321 -242 510q-122 85 -250 85q-246 0 -405 -258q-88 -153 -88 -345zM1141 375q-103 -163 -189 -239q-144 -111 -299 -111h-13q-288 0 -472 331q-84 168 -84 365q0 332 239 559 q153 130 324 130q264 0 494 -349v303q7 49 72 49v-2l-9 2h750l15 4q40 0 48 -57q-10 -45 -58 -45h-720v-562h481l54 4q30 0 42 -54q0 -30 -40 -48l-71 4h-466v-536h738q31 0 39 -53q-13 -45 -42 -45h-784q-49 9 -49 47v303z" />
-<glyph unicode="&#x153;" horiz-adv-x="2025" d="M143 525v-18q0 -219 210 -338q77 -40 164 -40h22q226 0 346 234q28 74 28 144v18q0 183 -166 306q-98 68 -223 68q-247 0 -361 -257q-20 -64 -20 -117zM1016 526h757q0 108 -94 236q-130 122 -257 122h-41q-189 0 -310 -184q-43 -74 -55 -174zM965 297 q-86 -136 -211 -211q-111 -56 -215 -56h-30q-194 0 -362 184q-103 145 -103 300q0 236 209 396q133 88 275 88q187 0 339 -142q47 -48 100 -136q82 132 199 205q121 59 226 59q276 0 429 -262q52 -102 52 -222v-17q-9 -50 -45 -50h-807q57 -188 210 -271q90 -35 169 -35 q90 0 200 55h14q43 -9 43 -41v-11q0 -69 -241 -100h-24q-252 0 -427 267z" />
-<glyph unicode="&#x154;" horiz-adv-x="986" d="M526 1834q46 0 55 -65q0 -27 -177 -185q-62 -76 -90 -76h-10q-49 10 -49 47v16q0 23 133 142q106 121 138 121zM74 1410h315q187 0 307 -199q38 -76 38 -159v-15q0 -185 -181 -303l-59 -31q354 -610 354 -616v-19q0 -35 -49 -43h-2q-38 0 -91 116l-319 543h-254v-616 q0 -35 -49 -43h-2q-37 0 -47 53v1272q6 60 39 60zM133 1316v-535h240q198 0 260 213l4 34v32q0 158 -175 239q-50 17 -149 17h-180z" />
-<glyph unicode="&#x155;" horiz-adv-x="928" d="M548 1482q46 0 55 -65q0 -27 -177 -185q-62 -76 -90 -76h-10q-49 10 -49 47v16q0 23 133 142q106 121 138 121zM115 1006q50 -13 50 -39v-139q200 178 378 178q96 0 201 -45q19 -20 19 -39v-2q-8 -48 -46 -48q-103 33 -159 33h-22q-237 0 -347 -245q-24 -66 -24 -148 v-444q0 -35 -49 -43h-2q-36 0 -46 52v866q7 63 47 63z" />
-<glyph unicode="&#x156;" horiz-adv-x="995" d="M79 1410h315q187 0 307 -199q38 -76 38 -159v-15q0 -185 -181 -303l-59 -31q354 -610 354 -616v-19q0 -35 -49 -43h-2q-38 0 -91 116l-319 543h-254v-616q0 -35 -49 -43h-2q-37 0 -47 53v1272q6 60 39 60zM138 1316v-535h240q198 0 260 213l4 34v32q0 158 -175 239 q-50 17 -149 17h-180zM506 59q92 -60 92 -148q0 -126 -147 -163l-46 3h-54l-52 -3q-37 13 -37 34v12q8 40 38 40h121q91 0 91 77v3q0 61 -79 76q-25 12 -25 29q0 41 28 51.5t70 -11.5z" />
-<glyph unicode="&#x157;" horiz-adv-x="854" d="M67 1006q50 -13 50 -39v-139q200 178 378 178q96 0 201 -45q19 -20 19 -39v-2q-8 -48 -46 -48q-103 33 -159 33h-22q-237 0 -347 -245q-24 -66 -24 -148v-444q0 -35 -49 -43h-2q-36 0 -46 52v866q7 63 47 63zM343 54q92 -60 92 -148q0 -126 -147 -163l-46 3h-54l-52 -3 q-37 13 -37 34v12q8 40 38 40h121q91 0 91 77v3q0 61 -79 76q-25 12 -25 29q0 41 28 51.5t70 -11.5z" />
-<glyph unicode="&#x158;" horiz-adv-x="1003" d="M191 1806h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50zM74 1410h315q187 0 307 -199q38 -76 38 -159v-15q0 -185 -181 -303l-59 -31q354 -610 354 -616v-19q0 -35 -49 -43 h-2q-38 0 -91 116l-319 543h-254v-616q0 -35 -49 -43h-2q-37 0 -47 53v1272q6 60 39 60zM133 1316v-535h240q198 0 260 213l4 34v32q0 158 -175 239q-50 17 -149 17h-180z" />
-<glyph unicode="&#x159;" horiz-adv-x="885" d="M236 1406h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50zM85 1006q50 -13 50 -39v-139q200 178 378 178q96 0 201 -45q19 -20 19 -39v-2q-8 -48 -46 -48q-103 33 -159 33h-22 q-237 0 -347 -245q-24 -66 -24 -148v-444q0 -35 -49 -43h-2q-36 0 -46 52v866q7 63 47 63z" />
-<glyph unicode="&#x15a;" horiz-adv-x="929" d="M456 1412q174 0 287 -154l2 -8v-20q0 -28 -50 -36q-16 0 -84 75q-75 48 -143 48h-23q-141 0 -213 -148q-18 -37 -18 -76v-31q0 -162 196 -235q122 0 260 -112q132 -134 132 -295q0 -197 -169 -324q-103 -71 -230 -71q-204 0 -336 173l-5 21q8 46 47 46q28 0 86 -73 q104 -72 189 -72h34q167 0 269 188q16 62 16 93v38q0 166 -187 268l-195 54q-203 116 -203 305v27q0 185 200 290q74 29 138 29zM561 1838q47 0 55 -65q0 -27 -177 -185q-62 -76 -90 -76h-9q-50 10 -50 47v16q0 23 133 142q107 121 138 121z" />
-<glyph unicode="&#x15b;" horiz-adv-x="980" d="M557 1419q46 0 55 -65q0 -27 -177 -185q-62 -76 -90 -76h-10q-49 10 -49 47v16q0 23 133 142q106 121 138 121zM460 992q243 0 380 -216l2 -22v-3q0 -37 -51 -45q-33 0 -78 76q-113 109 -253 109q-185 0 -294 -179l-4 -26q0 -74 132 -86q423 -102 459 -115 q93 -62 93 -156v-3q0 -139 -212 -260q-91 -41 -196 -41q-212 0 -361 200q-10 16 -10 27v22q0 32 58 38q21 0 80 -85q108 -100 248 -100q169 0 282 162l9 29v8q0 70 -87 80q-489 109 -514 131q-83 63 -83 151q0 126 191 248q105 56 209 56z" />
-<glyph unicode="&#x15c;" horiz-adv-x="885" d="M434 1412q174 0 287 -154l2 -8v-20q0 -28 -50 -36q-16 0 -84 75q-75 48 -143 48h-23q-141 0 -213 -148q-18 -37 -18 -76v-31q0 -162 196 -235q122 0 260 -112q132 -134 132 -295q0 -197 -169 -324q-103 -71 -230 -71q-204 0 -336 173l-5 21q8 46 47 46q28 0 86 -73 q104 -72 189 -72h34q167 0 269 188q16 62 16 93v38q0 166 -187 268l-195 54q-203 116 -203 305v27q0 185 200 290q74 29 138 29zM409 1780h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-31 0 -114 120h-31q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153 q32 50 60 50z" />
-<glyph unicode="&#x15d;" horiz-adv-x="969" d="M449 1366h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50zM460 992q243 0 380 -216l2 -22v-3q0 -37 -51 -45q-33 0 -78 76q-113 109 -253 109q-185 0 -294 -179l-4 -26 q0 -74 132 -86q423 -102 459 -115q93 -62 93 -156v-3q0 -139 -212 -260q-91 -41 -196 -41q-212 0 -361 200q-10 16 -10 27v22q0 32 58 38q21 0 80 -85q108 -100 248 -100q169 0 282 162l9 29v8q0 70 -87 80q-489 109 -514 131q-83 63 -83 151q0 126 191 248q105 56 209 56z " />
-<glyph unicode="&#x15e;" horiz-adv-x="903" d="M358 25q-196 20 -313 173l-5 21q8 46 47 46q28 0 86 -73q104 -72 189 -72h34q167 0 269 188q16 62 16 93v38q0 166 -187 268l-195 54q-203 116 -203 305v27q0 185 200 290q74 29 138 29q174 0 287 -154l2 -8v-20q0 -28 -50 -36q-16 0 -84 75q-75 48 -143 48h-23 q-141 0 -213 -148q-18 -37 -18 -76v-31q0 -162 196 -235q122 0 260 -112q132 -134 132 -295q0 -197 -169 -324q-69 -47 -167 -67v-71q104 -69 104 -157q0 -126 -147 -163l-46 3h-53l-52 -3q-38 13 -38 34v12q8 40 38 40h121q91 0 91 77v3q0 61 -79 76q-25 12 -25 29v116z " />
-<glyph unicode="&#x15f;" horiz-adv-x="978" d="M503 28v-79q104 -69 104 -157q0 -126 -147 -163l-46 3h-54l-52 -3q-37 13 -37 34v12q8 40 38 40h121q91 0 91 77v3q0 61 -79 76q-25 12 -25 29v125q-204 23 -336 200q-10 16 -10 27v22q0 32 58 38q21 0 80 -85q108 -100 248 -100q169 0 282 162l9 29v8q0 70 -87 80 q-489 109 -514 131q-83 63 -83 151q0 126 191 248q105 56 209 56q243 0 380 -216l2 -22v-3q0 -37 -51 -45q-33 0 -78 76q-113 109 -253 109q-185 0 -294 -179l-4 -26q0 -74 132 -86q423 -102 459 -115q93 -62 93 -156v-3q0 -139 -212 -260q-54 -24 -135 -38z" />
-<glyph unicode="&#x160;" horiz-adv-x="924" d="M429 1412q174 0 287 -154l2 -8v-20q0 -28 -50 -36q-16 0 -84 75q-75 48 -143 48h-23q-141 0 -213 -148q-18 -37 -18 -76v-31q0 -162 196 -235q122 0 260 -112q132 -134 132 -295q0 -197 -169 -324q-103 -71 -230 -71q-204 0 -336 173l-5 21q8 46 47 46q28 0 86 -73 q104 -72 189 -72h34q167 0 269 188q16 62 16 93v38q0 166 -187 268l-195 54q-203 116 -203 305v27q0 185 200 290q74 29 138 29zM283 1797h12q32 0 115 -120h31q83 120 114 120h10q49 -10 49 -47v-12q0 -25 -90 -124q-54 -79 -85 -79h-28q-33 0 -112 115q-63 62 -63 88v9 q11 50 47 50z" />
-<glyph unicode="&#x161;" horiz-adv-x="977" d="M315 1419h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50zM451 992q243 0 380 -216l2 -22v-3q0 -37 -51 -45q-33 0 -78 76q-113 109 -253 109q-185 0 -294 -179l-4 -26 q0 -74 132 -86q423 -102 459 -115q93 -62 93 -156v-3q0 -139 -212 -260q-91 -41 -196 -41q-212 0 -361 200q-10 16 -10 27v22q0 32 58 38q21 0 80 -85q108 -100 248 -100q169 0 282 162l9 29v8q0 70 -87 80q-489 109 -514 131q-83 63 -83 151q0 126 191 248q105 56 209 56z " />
-<glyph unicode="&#x162;" horiz-adv-x="1219" d="M83 1411h931q45 -9 45 -43v-15q0 -33 -59 -39h-400v-1246q0 -35 -49 -43h-1q-37 0 -47 53v1236h-406q-53 11 -53 47q11 50 39 50zM508 -98h28q63 0 87 -121v-9q0 -63 -129 -127q-23 -8 -31 -8q-8 2 -6 0v-11q60 87 60 151v7q0 48 -48 97v-2q8 23 39 23z" />
-<glyph unicode="&#x163;" horiz-adv-x="730" d="M367 -72h28q63 0 87 -121v-9q0 -63 -129 -127q-23 -8 -31 -8q-8 2 -6 0v-11q60 87 60 151v7q0 48 -48 97v-2q8 23 39 23zM267 1365h11q44 -9 44 -34v-355h178l33 4q29 0 42 -52q0 -30 -41 -45l-50 4h-162v-564q0 -159 112 -198l88 -7h42q28 0 37 -47v1q-8 -47 -45 -47 h-77q-159 0 -237 175q-13 42 -13 101v586h-99l-55 -4q-40 15 -40 46q8 47 66 47v1l11 -1h117v332q6 57 38 57z" />
-<glyph unicode="&#x164;" horiz-adv-x="1224" d="M421 1811h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50zM92 1411h931q45 -9 45 -43v-15q0 -33 -59 -39h-400v-1246q0 -35 -49 -43h-1q-37 0 -47 53v1236h-406q-53 11 -53 47 q11 50 39 50z" />
-<glyph unicode="&#x165;" horiz-adv-x="757" d="M170 1775h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50zM294 1365h11q44 -9 44 -34v-355h178l33 4q29 0 42 -52q0 -30 -41 -45l-50 4h-162v-564q0 -159 112 -198l88 -7h42 q28 0 37 -47v1q-8 -47 -45 -47h-77q-159 0 -237 175q-13 42 -13 101v586h-99l-55 -4q-40 15 -40 46q8 47 66 47v1l11 -1h117v332q6 57 38 57z" />
-<glyph unicode="&#x166;" horiz-adv-x="1197" d="M507 666h-311l-59 -4q-47 17 -47 53q9 53 72 53v1l14 -1h331v546h-406q-53 11 -53 47q11 50 39 50h931q45 -9 45 -43v-15q0 -33 -59 -39h-400v-546h294l36 4q38 0 50 -58q0 -33 -44 -52l-62 4h-274v-598q0 -35 -49 -43h-1q-37 0 -47 53v588z" />
-<glyph unicode="&#x167;" horiz-adv-x="748" d="M242 593v294h-99l-55 -4q-40 15 -40 46q8 47 66 47v1l11 -1h117v332q6 57 38 57h11q44 -9 44 -34v-355h178l33 4q29 0 42 -52q0 -30 -41 -45l-50 4h-162v-294h174l34 4q31 0 45 -58q0 -35 -43 -52l-51 4h-159v-168q0 -159 112 -198l88 -7h42q28 0 37 -47v1 q-8 -47 -45 -47h-77q-159 0 -237 175q-13 42 -13 101v190h-92l-55 -4q-43 16 -43 53q8 53 68 53v1l11 -1h111z" />
-<glyph unicode="&#x168;" horiz-adv-x="1219" d="M105 1408h12q46 -9 46 -35v-806q0 -274 159 -369q98 -76 222 -76q237 0 356 243q25 76 25 157v838q8 48 43 48h9q45 -9 45 -43v-881q0 -213 -206 -373q-129 -86 -261 -86h-26q-223 0 -388 220q-75 117 -75 292v812q6 59 39 59zM436 1690h19q62 0 152 -61l36 -9h25l71 21 q48 -9 48 -48q0 -52 -117 -67h-24q-61 0 -152 61l-36 9h-25l-70 -18h-2q-43 9 -43 41v11q0 35 63 50q27 10 55 10z" />
-<glyph unicode="&#x169;" horiz-adv-x="1131" d="M396 1289h19q62 0 152 -61l36 -9h25l71 21q48 -9 48 -48q0 -52 -117 -67h-24q-61 0 -152 61l-36 9h-25l-70 -18h-2q-43 9 -43 41v11q0 35 63 50q27 10 55 10zM89 977q48 -12 48 -38v-391q0 -265 153 -357q96 -73 215 -73q230 0 345 235q24 76 24 151v422q10 51 45 51 q47 -12 47 -45v-870q0 -28 -47 -37h1q-46 8 -46 44v95h-39q-153 -139 -319 -139h-25q-215 0 -374 212q-73 113 -73 282v397q6 61 45 61z" />
-<glyph unicode="&#x16a;" horiz-adv-x="1135" d="M74 1408h12q46 -9 46 -35v-806q0 -274 159 -369q98 -76 222 -76q237 0 356 243q25 76 25 157v838q8 48 43 48h9q45 -9 45 -43v-881q0 -213 -206 -373q-129 -86 -261 -86h-26q-223 0 -388 220q-75 117 -75 292v812q6 59 39 59zM208 1684l6 -1h610l30 4q27 0 37 -57 q0 -35 -34 -53l-51 4h-574l-49 -4q-36 16 -36 53q8 53 61 53v1z" />
-<glyph unicode="&#x16b;" horiz-adv-x="1135" d="M80 977q48 -12 48 -38v-391q0 -265 153 -357q96 -73 215 -73q230 0 345 235q24 76 24 151v422q10 51 45 51q47 -12 47 -45v-870q0 -28 -47 -37h1q-46 8 -46 44v95h-39q-153 -139 -319 -139h-25q-215 0 -374 212q-73 113 -73 282v397q6 61 45 61zM227 1274l519 1 q57 -10 57 -46v-10q-6 -47 -51 -47h-538q-41 0 -46 56q9 46 59 46z" />
-<glyph unicode="&#x16c;" horiz-adv-x="1149" d="M316 1775h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50zM74 1408h12q46 -9 46 -35v-806q0 -274 159 -369q98 -76 222 -76q237 0 356 243q25 76 25 157v838 q8 48 43 48h9q45 -9 45 -43v-881q0 -213 -206 -373q-129 -86 -261 -86h-26q-223 0 -388 220q-75 117 -75 292v812q6 59 39 59z" />
-<glyph unicode="&#x16d;" horiz-adv-x="1171" d="M303 1371h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50zM107 977q48 -12 48 -38v-391q0 -265 153 -357q96 -73 215 -73q230 0 345 235q24 76 24 151v422 q10 51 45 51q47 -12 47 -45v-870q0 -28 -47 -37h1q-46 8 -46 44v95h-39q-153 -139 -319 -139h-25q-215 0 -374 212q-73 113 -73 282v397q6 61 45 61z" />
-<glyph unicode="&#x16e;" horiz-adv-x="1127" d="M70 1408h12q46 -9 46 -35v-806q0 -274 159 -369q98 -76 222 -76q237 0 356 243q25 76 25 157v838q8 48 43 48h9q45 -9 45 -43v-881q0 -213 -206 -373q-129 -86 -261 -86h-26q-223 0 -388 220q-75 117 -75 292v812q6 59 39 59zM518 1807h14q103 0 149 -128l4 -33v-10 q0 -101 -122 -150l-40 -7q-96 0 -150 100q-16 36 -16 68q0 110 129 156zM424 1643q17 -96 99 -96q95 16 95 93v13q-15 87 -89 87h-12q-78 0 -93 -97z" />
-<glyph unicode="&#x16f;" horiz-adv-x="1180" d="M107 977q48 -12 48 -38v-391q0 -265 153 -357q96 -73 215 -73q230 0 345 235q24 76 24 151v422q10 51 45 51q47 -12 47 -45v-870q0 -28 -47 -37h1q-46 8 -46 44v95h-39q-153 -139 -319 -139h-25q-215 0 -374 212q-73 113 -73 282v397q6 61 45 61zM523 1380h14 q103 0 149 -128l4 -33v-10q0 -101 -122 -150l-40 -7q-96 0 -150 100q-16 36 -16 68q0 110 129 156zM429 1216q17 -96 99 -96q95 16 95 93v13q-15 87 -89 87h-12q-78 0 -93 -97z" />
-<glyph unicode="&#x170;" horiz-adv-x="1175" d="M530 1809h2q53 -9 53 -47v-20q0 -13 -162 -224q-10 -11 -17 -11h-8q-13 0 -19 22q101 253 118 269q19 11 33 11zM776 1797q57 -11 57 -55q0 -23 -103 -153q-61 -94 -76 -94h-12q-13 0 -19 22q0 9 108 255q25 25 45 25zM96 1408h12q46 -9 46 -35v-806q0 -274 159 -369 q98 -76 222 -76q237 0 356 243q25 76 25 157v838q8 48 43 48h9q45 -9 45 -43v-881q0 -213 -206 -373q-129 -86 -261 -86h-26q-223 0 -388 220q-75 117 -75 292v812q6 59 39 59z" />
-<glyph unicode="&#x171;" horiz-adv-x="1144" d="M490 1378h2q53 -9 53 -47v-20q0 -13 -162 -224q-10 -11 -17 -11h-8q-13 0 -19 22q101 253 118 269q19 11 33 11zM736 1366q57 -11 57 -55q0 -23 -103 -153q-61 -94 -76 -94h-12q-13 0 -19 22q0 9 108 255q25 25 45 25zM89 977q48 -12 48 -38v-391q0 -265 153 -357 q96 -73 215 -73q230 0 345 235q24 76 24 151v422q10 51 45 51q47 -12 47 -45v-870q0 -28 -47 -37h1q-46 8 -46 44v95h-39q-153 -139 -319 -139h-25q-215 0 -374 212q-73 113 -73 282v397q6 61 45 61z" />
-<glyph unicode="&#x172;" horiz-adv-x="1202" d="M494 25q-210 26 -357 220q-75 117 -75 292v812q6 59 39 59h12q46 -9 46 -35v-806q0 -274 159 -369q98 -76 222 -76q237 0 356 243q25 76 25 157v838q8 48 43 48h9q45 -9 45 -43v-881q0 -213 -206 -373q-101 -67 -226 -85v-117q0 -36 -66 -46q-40 -29 -40 -70 q0 -78 92 -78h105l12 3q45 -10 45 -41v-7q0 -29 -35 -42l-69 4h-38l-56 -4q-58 0 -122 81q-21 40 -21 70v28q0 81 106 140v20z" />
-<glyph unicode="&#x173;" horiz-adv-x="1211" d="M975 65q3 -8 3 -11v-101q0 -36 -66 -46q-40 -29 -40 -70q0 -78 92 -78h105l12 3q45 -10 45 -41v-7q0 -29 -35 -42l-69 4h-38l-56 -4q-58 0 -122 81q-21 40 -21 70v28q0 81 106 140v20l-2 36q-6 11 -6 22v95h-39q-153 -139 -319 -139h-25q-215 0 -374 212q-73 113 -73 282 v397q6 61 45 61q48 -12 48 -38v-391q0 -265 153 -357q96 -73 215 -73q230 0 345 235q24 76 24 151v422q10 51 45 51q47 -12 47 -45v-867z" />
-<glyph unicode="&#x174;" horiz-adv-x="1778" d="M835 1815h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50zM86 1411h16q43 0 59 -95l286 -992h45q296 1046 312 1070q16 17 33 17h11q46 0 63 -117q28 -76 282 -974h42 l311 1070q16 21 30 21h13q45 -9 45 -35v-15l-380 -1318q-19 -18 -38 -18h-4q-49 0 -66 120q-247 838 -282 979h-41l-311 -1078q-17 -21 -39 -21h-15q-40 0 -59 124q-325 1107 -351 1215q10 47 38 47z" />
-<glyph unicode="&#x175;" horiz-adv-x="1422" d="M641 1344h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50zM92 984q47 0 71 -129l187 -574h40q211 672 220 685q19 15 40 18q43 0 62 -103l194 -600h40q204 647 219 681 q21 22 36 22q51 -10 51 -45l-288 -896q-19 -18 -37 -18h-3q-47 0 -72 125q-176 534 -176 571h-50l-218 -676q-15 -20 -37 -20h-3q-34 0 -50 49l-274 862q10 48 48 48z" />
-<glyph unicode="&#x176;" horiz-adv-x="1167" d="M79 1408h16q32 0 56 -59l354 -529h31q377 569 388 578q14 10 20 10h23q26 0 39 -50q0 -21 -125 -192l-311 -464v-618q-7 -59 -39 -59h-16q-31 0 -43 40v617q0 22 -164 265l-266 400l-2 13q11 48 39 48zM511 1767h28q34 0 116 -119q59 -58 59 -84v-9q-11 -50 -47 -50h-12 q-32 0 -115 120h-31q-83 -120 -114 -120h-10q-49 10 -49 47v12q0 28 114 153q32 50 61 50z" />
-<glyph unicode="&#x177;" horiz-adv-x="964" d="M450 1370h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50zM781 987q46 -9 46 -41v-3q-2 -20 -343 -832q-160 -397 -176 -417q-11 -9 -28 -13q-44 9 -44 34v17q0 8 157 386 v13l-332 810v-5q9 47 45 47q40 0 77 -122q227 -537 238 -582h40q279 681 290 694q17 14 30 14z" />
-<glyph unicode="&#x178;" horiz-adv-x="1149" d="M79 1408h16q32 0 56 -59l354 -529h31q377 569 388 578q14 10 20 10h23q26 0 39 -50q0 -21 -125 -192l-311 -464v-618q-7 -59 -39 -59h-16q-31 0 -43 40v617q0 22 -164 265l-266 400l-2 13q11 48 39 48zM370 1662h12q46 -9 46 -35v-19q0 -34 -47 -43q-50 10 -50 48 q11 49 39 49zM662 1662h6q46 -10 46 -39v-11q0 -39 -50 -47q-47 10 -47 47v11q0 29 45 39z" />
-<glyph unicode="&#x179;" horiz-adv-x="1272" d="M673 1782q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM70 1412h1021q34 0 43 -49v-1q0 -20 -77 -110l-874 -1129h902q49 -7 49 -47v-2q-9 -49 -47 -49h-1009q-38 0 -47 57q0 17 177 237l771 996h-895q-53 11 -53 47 q11 50 39 50z" />
-<glyph unicode="&#x17a;" horiz-adv-x="973" d="M540 1364q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM110 984l11 -1h641l31 4q43 -14 43 -38v-22q0 -13 -79 -99l-565 -709h601q43 -9 43 -41v-12q0 -33 -47 -41h-700q-37 0 -45 55q0 18 145 185l499 628h-548 l-55 -4q-41 15 -41 47q8 47 66 47v1z" />
-<glyph unicode="&#x17b;" horiz-adv-x="1325" d="M615 1772q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4zM83 1412h1021q34 0 43 -49v-1q0 -20 -77 -110l-874 -1129h902q49 -7 49 -47v-2q-9 -49 -47 -49h-1009q-38 0 -47 57q0 17 177 237l771 996h-895q-53 11 -53 47q11 50 39 50z " />
-<glyph unicode="&#x17c;" horiz-adv-x="1004" d="M457 1332q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4zM106 984l11 -1h641l31 4q43 -14 43 -38v-22q0 -13 -79 -99l-565 -709h601q43 -9 43 -41v-12q0 -33 -47 -41h-700q-37 0 -45 55q0 18 145 185l499 628h-548l-55 -4 q-41 15 -41 47q8 47 66 47v1z" />
-<glyph unicode="&#x17d;" horiz-adv-x="1294" d="M469 1811h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50zM87 1412h1021q34 0 43 -49v-1q0 -20 -77 -110l-874 -1129h902q49 -7 49 -47v-2q-9 -49 -47 -49h-1009q-38 0 -47 57 q0 17 177 237l771 996h-895q-53 11 -53 47q11 50 39 50z" />
-<glyph unicode="&#x17e;" horiz-adv-x="978" d="M324 1433h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50zM106 984l11 -1h641l31 4q43 -14 43 -38v-22q0 -13 -79 -99l-565 -709h601q43 -9 43 -41v-12q0 -33 -47 -41h-700 q-37 0 -45 55q0 18 145 185l499 628h-548l-55 -4q-41 15 -41 47q8 47 66 47v1z" />
-<glyph unicode="&#x17f;" horiz-adv-x="616" d="M362 1412h89q30 0 39 -57q0 -29 -54 -41h-54q-157 0 -207 -173l-3 -83v-53v-145v-751l3 -42q0 -30 -53 -42q-32 0 -48 42l4 42v751l-4 145v68q0 237 205 324z" />
-<glyph unicode="&#x192;" horiz-adv-x="973" d="M681 1399h94q34 0 43 -61q0 -32 -58 -45h-57q-165 0 -217 -181l-4 -87v-82h197l64 4q31 0 43 -54v-9q0 -30 -50 -43h-254v-786l4 -94q-14 -97 -74 -177q-110 -115 -237 -115h-84q-38 0 -47 51q8 55 51 55h52q152 0 215 135q18 46 18 146v785h-233q-35 0 -43 61 q0 23 44 45l74 -4h154v97q0 252 218 344z" />
-<glyph unicode="&#x1fa;" horiz-adv-x="1266" d="M495 1467q15 -86 89 -86q85 14 85 83v12q-13 78 -80 78h-10q-72 0 -84 -87zM561 1121l-179 -460h387v33l-170 427h-38zM534 1607v-1h1zM534 1607q-36 28 -41 54v3q0 21 97 129q27 38 43 38q44 -10 44 -38v-6q0 -18 -68 -94q-19 -28 -75 -86zM535 1606q143 -2 182 -109 l3 -28v-8q0 -75 -107 -129q31 -52 43 -103q457 -1134 460 -1156v-8q0 -33 -49 -40h-2q-46 0 -70 105l-177 439h-476l-212 -531q-17 -13 -32 -13h-5q-48 8 -49 43l126 327q319 791 371 939q-58 30 -84 79q-13 30 -13 57q0 72 98 131q-4 3 -7 5z" />
-<glyph unicode="&#x1fb;" horiz-adv-x="1171" d="M610 1773q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM533 1422q89 0 142 -96q15 -33 15 -66q0 -105 -124 -150l-32 -4h-13q-100 0 -144 124l-4 31v10q0 106 131 148zM437 1268v-19q23 -79 84 -79h14q78 0 91 94 q-16 95 -96 95q-93 -16 -93 -91zM517 979q271 0 429 -265q48 -107 48 -223v-425q0 -33 -47 -41h-1q-31 0 -45 35v-2l4 91v63q-197 -187 -373 -187h-30q-242 0 -403 244q-59 117 -59 237q0 266 262 421q111 52 215 52zM133 509v-11q0 -233 235 -352q74 -28 134 -28h30 q196 0 322 196q47 92 47 177v15q0 225 -223 344q-78 36 -161 36h-4q-237 0 -356 -247q-24 -76 -24 -130z" />
-<glyph unicode="&#x1fc;" horiz-adv-x="1615" d="M1001 1805q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM812 1410h595q26 0 38 -48q-9 -49 -50 -49h-525v-618h412q47 -10 47 -36v-19q0 -35 -49 -43h-410v-474h529q37 0 47 -53q0 -34 -54 -45h-572q-37 0 -47 53v519 h-314q-29 -35 -176 -309l-142 -249q-16 -14 -33 -14h-4q-38 0 -47 57q0 13 239 432l491 882q17 14 25 14zM508 695h265v473z" />
-<glyph unicode="&#x1fd;" horiz-adv-x="2042" d="M1054 1338q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM519 979q250 0 418 -245h31q93 159 270 220q80 21 143 21q265 0 420 -257q51 -107 51 -200v-45q-8 -46 -44 -46h-792v-33q41 -133 150 -207q102 -66 211 -66 q94 0 205 56l10 2q49 -12 49 -48q0 -71 -219 -102l-50 -4q-181 0 -378 182v-138q0 -39 -52 -44h-3q-21 0 -37 37l4 83v70q-196 -186 -372 -186h-29q-242 0 -402 243q-59 116 -59 235q0 266 261 420q111 52 214 52zM136 511v-11q0 -232 234 -351q76 -28 135 -28h29 q195 0 321 195q47 92 47 177v14q0 225 -222 344q-78 36 -161 36h-3q-237 0 -356 -246q-24 -77 -24 -130zM1005 519h748v29q0 106 -125 238q-120 93 -251 93q-200 0 -324 -187q-48 -89 -48 -173z" />
-<glyph unicode="&#x1fe;" horiz-adv-x="1655" d="M848 1800q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM750 1401q258 0 493 -207q159 162 179 162h5q49 -12 49 -46v-7q0 -30 -97 -105l-75 -76q134 -205 134 -413q0 -343 -311 -572q-177 -112 -369 -112h-15 q-224 0 -428 154h-21q-154 -150 -166 -150l-19 -4h-1q-38 0 -46 56q0 22 120 122q4 10 56 47q-176 224 -176 467q0 328 290 554q189 130 398 130zM158 706q0 -204 151 -385l849 798v27q-195 159 -408 159q-293 0 -485 -254q-107 -154 -107 -345zM372 252q188 -131 371 -131 h18q279 0 471 247q110 158 110 345q0 159 -96 329h-29z" />
-<glyph unicode="&#x1ff;" horiz-adv-x="1188" d="M622 1387q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM936 987h4q36 0 44 -54q0 -16 -111 -123q122 -149 122 -311q0 -267 -253 -419q-108 -55 -210 -55h-29q-129 0 -289 111q-88 -107 -115 -107h-14q-29 0 -37 53 q0 17 106 119q-106 146 -106 298q0 230 205 387q130 86 269 86q138 0 288 -99q93 114 126 114zM144 509v-18q0 -96 60 -207h30l504 521q-102 71 -220 71q-243 0 -354 -252q-20 -63 -20 -115zM807 744l-526 -545q127 -78 230 -78h21q222 0 340 229q27 74 27 141v18 q0 117 -92 235z" />
-<glyph unicode="&#x2c6;" horiz-adv-x="1024" d="M488 1406h28q35 0 117 -119q58 -58 58 -84v-9q-10 -50 -47 -50h-12q-32 0 -115 120h-30q-83 -120 -115 -120h-9q-50 10 -50 47v12q0 28 115 153q32 50 60 50z" />
-<glyph unicode="&#x2c7;" horiz-adv-x="1024" d="M333 1405h12q32 0 115 -120h30q83 120 115 120h9q50 -10 50 -47v-12q0 -25 -91 -124q-53 -79 -84 -79h-28q-34 0 -113 115q-62 62 -62 88v9q10 50 47 50z" />
-<glyph unicode="&#x2c9;" horiz-adv-x="1059" d="M309 1294l14 -1h402l36 4q35 0 50 -58q0 -35 -47 -52l-55 4h-366l-59 -4q-47 17 -47 53q9 53 72 53v1z" />
-<glyph unicode="&#x2d8;" horiz-adv-x="1024" d="M276 1340h12q35 0 62 -72q63 -72 142 -72q119 0 169 123q20 21 39 21h6q53 -9 53 -51v-4q0 -69 -143 -170q-68 -25 -120 -25h-8q-176 0 -259 184v16q10 50 47 50z" />
-<glyph unicode="&#x2d9;" horiz-adv-x="1024" d="M514 1337q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4z" />
-<glyph unicode="&#x2da;" horiz-adv-x="1024" d="M493 1422q89 0 142 -96q15 -33 15 -66q0 -105 -124 -150l-32 -4h-13q-100 0 -144 124l-4 31v10q0 106 131 148zM397 1268v-19q23 -79 84 -79h14q78 0 91 94q-16 95 -96 95q-93 -16 -93 -91z" />
-<glyph unicode="&#x2db;" horiz-adv-x="1024" d="M475 22h7q33 0 42 -47v-101q0 -36 -66 -46q-40 -29 -40 -70q0 -78 92 -78h105l12 3q45 -10 45 -41v-7q0 -29 -35 -42l-69 4h-38l-56 -4q-58 0 -122 81q-21 40 -21 70v28q0 81 106 140v20l-4 52q14 38 42 38z" />
-<glyph unicode="&#x2dc;" horiz-adv-x="1024" d="M429 1670q70 0 178 -70l44 -5l78 23h1q49 -8 49 -47v-4q0 -49 -102 -65l-36 -4q-70 0 -171 71l-41 5l-82 -22q-49 9 -49 45v8q0 50 118 62z" />
-<glyph unicode="&#x2dd;" horiz-adv-x="1024" d="M415 1404h2q53 -9 53 -47v-20q0 -13 -162 -224q-10 -11 -17 -11h-8q-13 0 -19 22q101 253 118 269q19 11 33 11zM661 1392q57 -11 57 -55q0 -23 -103 -153q-61 -94 -76 -94h-12q-13 0 -19 22q0 9 108 255q25 25 45 25z" />
-<glyph unicode="&#x384;" horiz-adv-x="392" d="M253 1400q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43z" />
-<glyph unicode="&#x385;" horiz-adv-x="797" d="M446 1365q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM154 1284q58 -14 58 -53q-11 -57 -53 -57q-57 11 -57 52q14 58 52 58zM606 1284q58 -14 58 -53q-11 -57 -53 -57q-57 11 -57 52q14 58 52 58z" />
-<glyph unicode="&#x386;" horiz-adv-x="1254" d="M341 1496q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM566 1403q49 0 78 -121q454 -1181 457 -1205v-9q0 -35 -48 -43h-2q-46 0 -70 110l-176 457h-474l-210 -553q-17 -14 -32 -14h-6q-48 9 -48 46l126 341 q336 874 363 965q23 26 42 26zM549 1167l-177 -478h384v34l-169 444h-38z" />
-<glyph unicode="&#x387;" horiz-adv-x="405" d="M179 977q70 0 91 -85v-18q0 -48 -68 -78q-7 -4 -23 -4h-3q-75 0 -91 96q0 57 71 85q8 4 23 4z" />
-<glyph unicode="&#x388;" horiz-adv-x="1347" d="M393 1405l-9 2h746l15 4q40 0 48 -57q-10 -44 -58 -44h-717v-560h480l53 3q30 0 42 -53q0 -30 -41 -48l-69 4h-465v-534h736q31 0 38 -52q-13 -45 -42 -45h-780q-49 9 -49 47v1286q7 49 72 49v-2zM191 1435q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4 q-27 0 -37 48v4q0 24 108 145q31 43 51 43z" />
-<glyph unicode="&#x389;" horiz-adv-x="1466" d="M200 1400q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM365 1412h12q46 -9 46 -35v-623h762v610q8 48 43 48h9q45 -9 45 -43v-1301q0 -29 -50 -39h1q-48 9 -48 47v585h-762v-589q0 -35 -48 -43h-2q-37 0 -47 53v1271 q6 59 39 59z" />
-<glyph unicode="&#x38a;" horiz-adv-x="748" d="M182 1427q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM369 1422l15 -2h146l13 2q51 -10 51 -48q-9 -53 -47 -53h-41v-1197h48q30 0 40 -51v1q-9 -49 -47 -49h-178q-49 9 -49 47v1q10 51 40 51h48v1197h-41 q-41 0 -47 56v3q0 28 49 42z" />
-<glyph unicode="&#x38c;" horiz-adv-x="1734" d="M191 1423q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM887 1410q350 0 586 -325q106 -184 106 -371q0 -346 -314 -576q-177 -113 -371 -113h-15q-357 0 -583 333q-102 167 -102 363q0 331 292 558q189 131 401 131z M291 710q0 -286 252 -481q158 -107 336 -107h19q280 0 473 248q111 160 111 348q0 323 -295 511q-146 84 -300 84q-295 0 -489 -256q-107 -154 -107 -347z" />
-<glyph unicode="&#x38e;" horiz-adv-x="1457" d="M209 1418q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM414 1408h16q32 0 57 -59l354 -529h30q377 569 389 578q13 10 19 10h23q26 0 39 -50q0 -21 -124 -192l-312 -464v-618q-6 -59 -39 -59h-16q-31 0 -43 40v617 q0 22 -163 265l-266 400l-3 13q11 48 39 48z" />
-<glyph unicode="&#x38f;" horiz-adv-x="1646" d="M756 1412q354 0 592 -328q107 -192 107 -360q0 -328 -247 -543h-20v-54h187q50 -10 50 -39v-13q-10 -46 -44 -46h-492q-38 0 -46 53q12 45 43 45q115 0 307 164q167 196 167 425q0 284 -254 489q-170 108 -335 108h-30q-285 0 -481 -259q-108 -166 -108 -338 q0 -345 317 -535q55 -34 180 -64q29 -12 29 -44q-14 -48 -48 -48h-482q-53 11 -53 48q12 51 48 51h185v40q-99 75 -168 181q-103 180 -103 379q0 324 299 559q192 129 400 129zM176 1414q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145 q31 43 51 43z" />
-<glyph unicode="&#x390;" horiz-adv-x="740" d="M389 1752q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM97 1671q58 -14 58 -53q-11 -57 -53 -57q-57 11 -57 52q14 58 52 58zM549 1671q58 -14 58 -53q-11 -57 -53 -57q-57 11 -57 52q14 58 52 58zM246 1422l15 -2h146 l13 2q51 -10 51 -48q-9 -53 -47 -53h-41v-1197h48q30 0 40 -51v1q-9 -49 -47 -49h-178q-49 9 -49 47v1q10 51 40 51h48v1197h-41q-41 0 -47 56v3q0 28 49 42z" />
-<glyph unicode="&#x391;" horiz-adv-x="1246" d="M566 1403q49 0 78 -121q454 -1181 457 -1205v-9q0 -35 -48 -43h-2q-46 0 -70 110l-176 457h-474l-210 -553q-17 -14 -32 -14h-6q-48 9 -48 46l126 341q336 874 363 965q23 26 42 26zM549 1167l-177 -478h384v34l-169 444h-38z" />
-<glyph unicode="&#x392;" horiz-adv-x="991" d="M125 1402l-9 2h234l15 3q158 0 272 -152q56 -83 56 -181v-11q0 -120 -116 -252q259 -143 259 -385q0 -243 -253 -373q-80 -28 -144 -28h-337q-49 9 -49 47v1283q7 49 72 49v-2zM150 1307v-473h164q202 0 261 148q17 42 17 85v11q0 164 -191 225l-82 4h-169zM150 737v-615 h221q230 0 311 135q53 75 53 169v7q0 221 -242 297l-110 7h-233z" />
-<glyph unicode="&#x393;" horiz-adv-x="1030" d="M96 1408h727q46 -9 46 -35v-19q0 -35 -49 -43h-666v-1243q0 -35 -48 -43h-2q-37 0 -47 53v1271q6 59 39 59z" />
-<glyph unicode="&#x394;" horiz-adv-x="1242" d="M570 1407h12q39 0 63 -99q460 -1200 467 -1235v-1q0 -31 -37 -47l-77 4h-844l-75 -4q-39 14 -39 49l496 1315q17 18 34 18zM559 1178l-399 -1052h832q-391 1041 -433 1052z" />
-<glyph unicode="&#x395;" horiz-adv-x="1109" d="M129 1405l-9 2h746l15 4q40 0 48 -57q-10 -44 -58 -44h-717v-560h480l53 3q30 0 42 -53q0 -30 -41 -48l-69 4h-465v-534h736q31 0 38 -52q-13 -45 -42 -45h-780q-49 9 -49 47v1286q7 49 72 49v-2z" />
-<glyph unicode="&#x396;" horiz-adv-x="1342" d="M122 1412h1021q34 0 43 -49v-1q0 -20 -77 -110l-874 -1129h902q49 -7 49 -47v-2q-9 -49 -47 -49h-1009q-38 0 -47 57q0 17 177 237l771 996h-895q-53 11 -53 47q11 50 39 50z" />
-<glyph unicode="&#x397;" horiz-adv-x="1223" d="M114 1412h12q46 -9 46 -35v-623h762v610q8 48 43 48h9q45 -9 45 -43v-1301q0 -29 -50 -39h1q-48 9 -48 47v585h-762v-589q0 -35 -48 -43h-2q-37 0 -47 53v1271q6 59 39 59z" />
-<glyph unicode="&#x398;" horiz-adv-x="1611" d="M761 1406q349 0 585 -324q105 -183 105 -370q0 -345 -313 -574q-177 -113 -370 -113h-15q-355 0 -582 332q-101 167 -101 362q0 330 291 556q189 131 400 131zM167 708q0 -286 251 -479q157 -107 335 -107h19q279 0 472 247q110 159 110 347q0 322 -294 510 q-145 83 -299 83q-295 0 -487 -255q-107 -154 -107 -346zM406 762h710q49 -9 49 -46v-2q-9 -49 -47 -49h-716q-46 10 -46 43v15q0 29 50 39z" />
-<glyph unicode="&#x399;" horiz-adv-x="581" d="M158 1422l15 -2h146l13 2q51 -10 51 -48q-9 -53 -47 -53h-41v-1197h48q30 0 40 -51v1q-9 -49 -47 -49h-178q-49 9 -49 47v1q10 51 40 51h48v1197h-41q-41 0 -47 56v3q0 28 49 42z" />
-<glyph unicode="&#x39a;" horiz-adv-x="1118" d="M93 1409h1q49 -8 49 -43v-713q735 734 733 734l27 4h3q45 -9 45 -43v-12q0 -25 -71 -83l-482 -485l543 -672l2 -15v-9q0 -35 -48 -43h-2q-32 0 -105 107l-463 562l-182 -186v-444q0 -35 -49 -43h-1q-37 0 -47 52v1280q10 52 47 52z" />
-<glyph unicode="&#x39b;" horiz-adv-x="1232" d="M567 1413h11q40 0 63 -99q463 -1205 470 -1240q-9 -49 -47 -49h-4q-34 0 -52 52q-412 1102 -454 1102l-429 -1135q-20 -19 -40 -19h-4q-38 0 -46 52l497 1318q17 18 35 18z" />
-<glyph unicode="&#x39c;" horiz-adv-x="1479" d="M99 1407h15q39 0 59 -81l497 -1111q47 55 366 784l184 396q12 12 28 12h15q33 0 39 -59v-1270q-10 -53 -47 -53h-2q-48 8 -48 43v966h-45q-429 -973 -441 -992q-20 -17 -38 -17q-48 0 -94 143l-385 862h-45v-962q0 -35 -48 -43h-2q-37 0 -47 53v1270q6 59 39 59z" />
-<glyph unicode="&#x39d;" horiz-adv-x="1329" d="M105 1406h15q32 0 62 -64q58 -65 830 -1062q-5 0 -5 6l16 -21h41v1096q9 45 43 45h11q35 0 43 -48v-1283q0 -41 -56 -50q-28 0 -110 122l-832 1062v-1137q0 -35 -49 -43h-1q-37 0 -47 52v1266q6 59 39 59z" />
-<glyph unicode="&#x39e;" horiz-adv-x="1158" d="M83 1407h874q45 -9 45 -43v-15q0 -33 -59 -39h-846q-53 11 -53 47q11 50 39 50zM205 778h634q49 -8 49 -47v-1q-9 -49 -47 -49h-636q-37 0 -46 49q12 48 46 48zM91 123h862q49 -9 49 -43v-10q-9 -45 -43 -45h-868q-37 0 -46 50q12 48 46 48z" />
-<glyph unicode="&#x39f;" horiz-adv-x="1620" d="M768 1410q350 0 586 -325q106 -184 106 -371q0 -346 -314 -576q-177 -113 -371 -113h-15q-357 0 -583 333q-102 167 -102 363q0 331 292 558q189 131 401 131zM172 710q0 -286 252 -481q158 -107 336 -107h19q280 0 473 248q111 160 111 348q0 323 -295 511 q-146 84 -300 84q-295 0 -489 -256q-107 -154 -107 -347z" />
-<glyph unicode="&#x3a0;" horiz-adv-x="1184" d="M105 1406h870q45 -9 45 -43v-1299q0 -29 -50 -39h2q-49 9 -49 47v1236h-760v-1240q0 -35 -49 -43h-1q-37 0 -47 52v1269q6 60 39 60z" />
-<glyph unicode="&#x3a1;" horiz-adv-x="946" d="M96 1413h346q189 0 323 -197q50 -100 50 -180v-27q0 -177 -161 -306q-109 -75 -212 -75h-287v-560q0 -34 -49 -43h-2q-37 0 -47 53v1275q6 60 39 60zM155 1315v-589h260q207 0 285 198q17 42 17 100q0 183 -186 270q-47 21 -108 21h-268z" />
-<glyph unicode="&#x3a3;" horiz-adv-x="1124" d="M106 1290h802q39 -8 39 -38v-14q0 -28 -52 -34h-684q446 -510 463 -535l2 -13v-9q0 -22 -70 -87l-354 -412v-37h652q43 -8 43 -38v-8q-8 -40 -37 -40h-797q-32 0 -41 47q0 16 70 77l435 505l-499 574q-6 10 -6 18q10 44 34 44z" />
-<glyph unicode="&#x3a4;" horiz-adv-x="1262" d="M104 1411h931q45 -9 45 -43v-15q0 -33 -59 -39h-400v-1246q0 -35 -49 -43h-1q-37 0 -47 53v1236h-406q-53 11 -53 47q11 50 39 50z" />
-<glyph unicode="&#x3a5;" horiz-adv-x="1237" d="M117 1408h16q32 0 56 -59l354 -529h31q377 569 388 578q14 10 20 10h23q26 0 39 -50q0 -21 -125 -192l-311 -464v-618q-7 -59 -39 -59h-16q-31 0 -43 40v617q0 22 -164 265l-266 400l-2 13q11 48 39 48z" />
-<glyph unicode="&#x3a6;" horiz-adv-x="1629" d="M748 1414h9q46 -9 46 -43v-99q202 -16 388 -120q261 -184 261 -434q0 -234 -241 -413q-110 -84 -326 -128q-82 -4 -82 -36v-76q0 -30 -50 -40h1q-49 9 -49 47v101h-29q-133 0 -334 103q-283 181 -283 446q0 251 266 431q112 81 380 120v92q8 49 43 49zM157 722 q0 -278 331 -434q128 -43 217 -43v956q-221 -25 -376 -142q-172 -154 -172 -337zM803 1202v-957h28q155 0 354 138q165 153 165 320v34q0 223 -259 381q-91 55 -288 84z" />
-<glyph unicode="&#x3a7;" horiz-adv-x="1338" d="M106 1412h16q29 0 51 -44l446 -571l475 610q9 5 21 5h12q34 0 43 -49v-1q0 -24 -96 -136l-396 -509l486 -622l6 -22v1q-9 -49 -47 -49h-4q-33 0 -62 60l-438 559l-477 -611q-10 -8 -24 -8h-2q-49 9 -49 47v11q0 16 158 208l334 433q-481 609 -489 627l-3 14q11 47 39 47z " />
-<glyph unicode="&#x3a8;" horiz-adv-x="1342" d="M98 1412h13q46 -9 46 -36v-315q11 -139 44 -215q91 -176 258 -233l100 -28v767q7 60 40 60h12q46 -9 46 -36v-783h30q112 7 260 141q117 139 117 350v283q9 45 43 45h11q35 0 44 -49v-332q0 -311 -309 -492q-132 -51 -196 -51v-420q0 -34 -49 -43h-1q-37 0 -48 53v408 q-105 9 -243 81q-257 179 -257 487v299q6 59 39 59z" />
-<glyph unicode="&#x3a9;" horiz-adv-x="1658" d="M756 1412q354 0 592 -328q107 -192 107 -360q0 -328 -247 -543h-20v-54h187q50 -10 50 -39v-13q-10 -46 -44 -46h-492q-38 0 -46 53q12 45 43 45q115 0 307 164q167 196 167 425q0 284 -254 489q-170 108 -335 108h-30q-285 0 -481 -259q-108 -166 -108 -338 q0 -345 317 -535q55 -34 180 -64q29 -12 29 -44q-14 -48 -48 -48h-482q-53 11 -53 48q12 51 48 51h185v40q-99 75 -168 181q-103 180 -103 379q0 324 299 559q192 129 400 129z" />
-<glyph unicode="&#x3aa;" horiz-adv-x="648" d="M119 1658h12q46 -9 46 -35v-19q0 -34 -47 -43q-50 10 -50 48q11 49 39 49zM412 1658h5q46 -10 46 -39v-11q0 -39 -50 -47q-47 10 -47 47v11q0 29 46 39zM188 1405l15 -3h145l13 3q49 -10 49 -48q-9 -52 -46 -52h-40v-1183h47q29 0 39 -49v1q-8 -49 -46 -49h-175 q-49 9 -49 47q10 50 39 50h48v1183h-40q-41 0 -47 55v3q0 27 48 42z" />
-<glyph unicode="&#x3ab;" horiz-adv-x="1216" d="M96 1408h16q32 0 56 -59l354 -529h31q377 569 388 578q14 10 20 10h23q26 0 39 -50q0 -21 -125 -192l-311 -464v-618q-7 -59 -39 -59h-16q-31 0 -43 40v617q0 22 -164 265l-266 400l-2 13q11 48 39 48zM387 1662h12q46 -9 46 -35v-19q0 -34 -47 -43q-50 10 -50 48 q11 49 39 49zM679 1662h6q46 -10 46 -39v-11q0 -39 -50 -47q-47 10 -47 47v11q0 29 45 39z" />
-<glyph unicode="&#x3ac;" horiz-adv-x="1414" d="M549 990q243 0 405 -229l49 -97q40 64 128 302q18 24 39 24q51 -10 51 -47q-3 -18 -161 -435q161 -420 161 -431q-12 -52 -49 -52q-49 0 -84 141l-58 155h-42q-52 -128 -165 -205q-118 -91 -281 -91h-15q-194 0 -362 184q-102 144 -102 299q0 260 250 422q124 60 236 60z M158 508q0 -234 233 -357q84 -31 162 -31q224 0 349 233l55 154q-69 238 -186 314q-101 71 -214 71h-19q-210 0 -333 -202q-47 -96 -47 -182zM645 1395q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43z" />
-<glyph unicode="&#x3ad;" horiz-adv-x="900" d="M348 992h37q150 0 299 -156q19 -20 19 -37v-8q0 -37 -63 -47q-33 0 -92 77q-105 72 -176 72h-21q-109 0 -167 -131v-55q0 -88 123 -137q20 -10 57 -10h66q59 -9 59 -48v-7q0 -44 -87 -44q-142 0 -195 -108l-15 -61q32 -168 185 -168h4q119 0 239 139q19 10 35 10 q52 0 61 -57v2q-25 -74 -167 -150q-84 -43 -168 -43h-17q-171 0 -269 169q-19 56 -19 100q0 104 116 212q-129 110 -129 224q0 173 221 255zM485 1391q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43z" />
-<glyph unicode="&#x3ae;" horiz-adv-x="1191" d="M104 975q48 -12 48 -37v-137q195 174 374 174q195 0 348 -163q111 -138 111 -289v-881q0 -29 -50 -36q-43 12 -43 44v825q0 293 -257 388q-61 15 -109 15h-11q-215 0 -331 -219q-32 -70 -32 -213v-385q0 -33 -47 -41h-1q-35 0 -45 50v845q6 60 45 60zM599 1374 q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43z" />
-<glyph unicode="&#x3af;" horiz-adv-x="467" d="M175 983q48 -12 48 -38v-879q0 -33 -47 -41h-2q-35 0 -45 51v846q6 61 46 61zM249 1366q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43z" />
-<glyph unicode="&#x3b0;" horiz-adv-x="1203" d="M129 979q48 -12 48 -37v-392q0 -266 154 -358q95 -74 215 -74q230 0 346 236q24 76 24 152v423q10 50 45 50q48 -11 48 -45v-465q0 -206 -199 -361q-125 -83 -253 -83h-25q-215 0 -375 213q-73 113 -73 282v399q6 60 45 60zM610 1365q51 -12 51 -45v-7q0 -21 -76 -106 q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43zM318 1284q58 -14 58 -53q-11 -57 -53 -57q-57 11 -57 52q14 58 52 58zM770 1284q58 -14 58 -53q-11 -57 -53 -57q-57 11 -57 52q14 58 52 58z" />
-<glyph unicode="&#x3b1;" horiz-adv-x="1414" d="M562 990q243 0 405 -229l49 -97q40 64 128 302q18 24 39 24q51 -10 51 -47q-3 -18 -161 -435q161 -420 161 -431q-12 -52 -49 -52q-49 0 -84 141l-58 155h-42q-52 -128 -165 -205q-118 -91 -281 -91h-15q-194 0 -362 184q-102 144 -102 299q0 260 250 422q124 60 236 60z M171 508q0 -234 233 -357q84 -31 162 -31q224 0 349 233l55 154q-69 238 -186 314q-101 71 -214 71h-19q-210 0 -333 -202q-47 -96 -47 -182z" />
-<glyph unicode="&#x3b2;" horiz-adv-x="999" d="M426 1409h4q221 0 334 -223q25 -63 25 -127v-15q0 -146 -138 -276v-28q191 -126 191 -332q0 -216 -223 -344q-93 -36 -170 -36q-119 0 -281 114v-489q-1 -51 -47 -52.5t-53 41.5v77v629v132v591q0 178 194 300q83 38 164 38zM168 1000v-599q0 -131 121 -221 q72 -50 164 -50q205 0 277 212l9 57v17q0 201 -223 275l-58 3h-129q-50 8 -50 47v16q0 27 47 39h62q214 0 280 160q17 52 17 88v19q0 173 -204 241l-54 4q-185 0 -252 -198z" />
-<glyph unicode="&#x3b3;" horiz-adv-x="1057" d="M143 983q45 0 80 -125l250 -618h41q284 716 294 726q25 16 35 17q51 -10 51 -50q0 -14 -346 -862l-8 -35v-402q0 -38 -50 -46q-46 10 -46 46v411q0 27 -348 869l-3 18q10 51 50 51z" />
-<glyph unicode="&#x3b4;" horiz-adv-x="1233" d="M173 1408l11 -1h706q52 -10 52 -47v-6q-9 -45 -68 -45h-568l573 -421q169 -163 169 -370q0 -277 -263 -436q-113 -57 -218 -57h-30q-198 0 -369 187q-105 148 -105 306q0 265 251 427q118 57 237 57l-435 327q-11 16 -11 29q8 49 68 49v1zM164 529v-19q0 -222 213 -343 q79 -41 167 -41h23q230 0 351 238q29 75 29 146v19q0 185 -169 311q-100 69 -226 69q-252 0 -367 -262q-21 -65 -21 -118z" />
-<glyph unicode="&#x3b5;" horiz-adv-x="896" d="M348 992h37q150 0 299 -156q19 -20 19 -37v-8q0 -37 -63 -47q-33 0 -92 77q-105 72 -176 72h-21q-109 0 -167 -131v-55q0 -88 123 -137q20 -10 57 -10h66q59 -9 59 -48v-7q0 -44 -87 -44q-142 0 -195 -108l-15 -61q32 -168 185 -168h4q119 0 239 139q19 10 35 10 q52 0 61 -57v2q-25 -74 -167 -150q-84 -43 -168 -43h-17q-171 0 -269 169q-19 56 -19 100q0 104 116 212q-129 110 -129 224q0 173 221 255z" />
-<glyph unicode="&#x3b6;" horiz-adv-x="1052" d="M249 1410h582q47 -9 47 -35v-19q0 -29 -61 -59q-445 -394 -496 -450q-97 -128 -97 -282q0 -249 233 -389q96 -58 253 -58q114 -28 165 -96q56 -75 56 -160v-4q0 -183 -203 -252h-1q-50 10 -50 40v15q0 36 76 57q84 54 84 144q0 102 -104 150l-45 12l-34 -4 q-223 0 -409 204q-119 162 -119 322v42q0 252 265 460l297 264h-429q-53 10 -53 47v2q8 49 43 49z" />
-<glyph unicode="&#x3b7;" horiz-adv-x="1178" d="M104 975q48 -12 48 -37v-137q195 174 374 174q195 0 348 -163q111 -138 111 -289v-881q0 -29 -50 -36q-43 12 -43 44v825q0 293 -257 388q-61 15 -109 15h-11q-215 0 -331 -219q-32 -70 -32 -213v-385q0 -33 -47 -41h-1q-35 0 -45 50v845q6 60 45 60z" />
-<glyph unicode="&#x3b8;" horiz-adv-x="1158" d="M533 1405q230 0 353 -247q70 -215 70 -398v-86q0 -225 -91 -451q-129 -198 -324 -198h-12q-212 0 -334 227q-81 206 -81 459v12q0 269 95 484q131 198 324 198zM195 765h676q0 193 -83 399q-104 148 -251 148q-171 0 -264 -173q-64 -174 -66 -290zM198 669 q5 -176 75 -386q100 -165 253 -165h11q262 0 315 364q19 108 19 187h-673z" />
-<glyph unicode="&#x3b9;" horiz-adv-x="442" d="M163 983q48 -12 48 -38v-879q0 -33 -47 -41h-2q-35 0 -45 51v846q6 61 46 61z" />
-<glyph unicode="&#x3ba;" horiz-adv-x="1086" d="M118 1048l16 1q34 -9 37 -57v-411q573 380 656 427h12q39 0 47 -56q0 -29 -109 -87q-290 -196 -319 -201v-33l425 -540l3 -14v1q-9 -49 -47 -49h-7q-31 0 -113 118l-349 434h-22l-177 -113v-400q0 -35 -49 -43h-2q-35 0 -47 46v922q9 46 45 55z" />
-<glyph unicode="&#x3bb;" horiz-adv-x="1120" d="M357 1357l600 -1257q9 -70 -36 -73t-70 40l-337 702h-37q-320 -686 -352 -728q-27 -35 -69.5 -15t-4.5 107l236 497l145 306l-173 374q-23 76 28 88.5t70 -41.5z" />
-<glyph unicode="&#x3bc;" horiz-adv-x="1199" d="M116 979q48 -12 48 -37v-393q0 -266 154 -359q96 -73 216 -73q230 0 346 236q24 76 24 152v424q10 50 45 50q48 -11 48 -45v-873q0 -28 -47 -37h1q-47 8 -47 44v95h-39q-153 -139 -320 -139h-26q-162 0 -355 174v-552q0 -26 -51 -37q-31 0 -42 54v1256q6 60 45 60z" />
-<glyph unicode="&#x3bd;" horiz-adv-x="1220" d="M131 1004h7q41 0 79 -109l345 -709q371 786 389 805q17 13 30 13q52 -10 52 -46v-4q0 -13 -162 -350l-276 -565q-18 -14 -33 -14h-3q-46 0 -90 128q-363 742 -381 794v12q9 45 43 45z" />
-<glyph unicode="&#x3be;" horiz-adv-x="951" d="M382 1408h180q50 -9 50 -47v-2q-9 -50 -48 -50h-167q-160 0 -207 -148l-9 -47q29 -201 201 -201h6l88 18q48 -12 48 -39v-23q0 -36 -97 -52q-227 -116 -227 -324v-27q0 -204 210 -315q39 -24 221 -41q190 -74 190 -249v-4q0 -183 -204 -253q-51 10 -51 40v15q0 37 77 57 q83 56 83 147q-27 160 -166 160l-11 -4q-223 0 -382 220q-69 127 -69 238q0 184 167 360q-182 106 -182 280q0 169 180 267q53 24 119 24z" />
-<glyph unicode="&#x3bf;" horiz-adv-x="1245" d="M561 979q184 0 334 -140q143 -149 143 -337q0 -268 -254 -421q-110 -56 -212 -56h-29q-192 0 -358 182q-101 142 -101 295q0 232 206 390q132 87 271 87zM181 513v-18q0 -215 207 -334q76 -39 162 -39h22q223 0 342 231q27 74 27 142v18q0 179 -163 302q-98 67 -221 67 q-244 0 -356 -254q-20 -63 -20 -115z" />
-<glyph unicode="&#x3c0;" horiz-adv-x="1165" d="M133 982l11 -1h772l37 3q44 -15 44 -41v-11q0 -31 -41 -45l-55 4h-44v-825q0 -33 -47 -41h-2q-35 0 -45 51v815h-462v-828q0 -29 -47 -38q-47 8 -47 45v821h-44l-55 -4q-41 15 -41 47q8 47 66 47v1z" />
-<glyph unicode="&#x3c1;" horiz-adv-x="1187" d="M542 995q185 0 336 -141q145 -152 145 -341q0 -271 -257 -426q-111 -56 -214 -56h-30q-166 0 -369 183v-567q0 -27 -52 -38q-30 0 -42 52v819q0 367 346 494q42 13 137 21zM157 524v-19q0 -217 209 -336q77 -40 164 -40h22q226 0 345 233q28 74 28 143v19q0 182 -165 305 q-99 68 -223 68q-246 0 -359 -257q-21 -64 -21 -116z" />
-<glyph unicode="&#x3c2;" horiz-adv-x="997" d="M559 993q147 0 147 -59v-17q-12 -42 -47 -42h-10l-84 12q-244 0 -357 -243q-18 -43 -26 -137q0 -240 253 -357q63 -16 202 -29q201 -78 201 -263v-4q0 -194 -215 -267h-2q-53 11 -53 43v16q0 40 81 61q87 58 87 151q0 118 -131 164l-32 6l-14 -5q-268 0 -426 263 q-53 105 -53 196v44q0 243 247 406q127 61 232 61z" />
-<glyph unicode="&#x3c3;" horiz-adv-x="1355" d="M514 981l80 -4h521l29 4q43 -14 43 -38v-22q0 -22 -38 -37l-57 4h-268q187 -199 187 -385q0 -241 -220 -401q-126 -77 -247 -77h-29q-202 0 -362 188q-98 136 -98 275v33q0 217 217 383q140 77 242 77zM148 503q0 -235 240 -357q78 -24 127 -24h33q192 0 314 188 q52 90 52 200q0 207 -204 331q-85 43 -184 43q-207 0 -331 -200q-47 -95 -47 -181z" />
-<glyph unicode="&#x3c4;" horiz-adv-x="1187" d="M146 984l11 -1h783l29 4q43 -13 43 -45v-8q0 -30 -38 -45l-57 4h-322v-817q-10 -51 -45 -51h-2q-47 8 -47 41v827h-325l-54 -4q-42 15 -42 47q8 47 66 47v1z" />
-<glyph unicode="&#x3c5;" horiz-adv-x="1216" d="M129 979q48 -12 48 -37v-392q0 -266 154 -358q95 -74 215 -74q230 0 346 236q24 76 24 152v423q10 50 45 50q48 -11 48 -45v-465q0 -206 -199 -361q-125 -83 -253 -83h-25q-215 0 -375 213q-73 113 -73 282v399q6 60 45 60z" />
-<glyph unicode="&#x3c6;" horiz-adv-x="1213" d="M679 986h28q132 0 268 -208q66 -120 66 -241q0 -293 -279 -456q-116 -47 -187 -47v-387q0 -43 -55 -51q-46 12 -46 43v396q-119 14 -249 102q-190 167 -190 404q0 235 217 404q15 10 28 10h9q47 -9 47 -44v-16q0 -20 -68 -65q-129 -136 -129 -274v-42q0 -207 214 -339 l121 -44v649q0 126 149 195zM575 758v-620h29q102 8 233 124q100 130 100 252v42q0 183 -193 320l-45 10q-87 0 -121 -89z" />
-<glyph unicode="&#x3c7;" horiz-adv-x="1237" d="M162 983q37 0 90 -106l305 -477h35q318 509 368 571q13 10 26 12q50 -10 50 -49q0 -26 -178 -287l-219 -349q0 -29 323 -526q74 -112 74 -128q-11 -52 -46 -52q-42 0 -93 107q-50 69 -305 476h-35q-341 -547 -366 -570q-13 -10 -34 -13q-33 0 -44 55v-1q9 33 279 440 q25 50 127 197l-406 643v5q10 52 49 52z" />
-<glyph unicode="&#x3c8;" horiz-adv-x="1376" d="M136 994h2q49 -7 49 -48v-303q0 -271 139 -386q75 -85 215 -117l49 -11v801q6 60 40 60h13q47 -9 47 -36v-819h29q112 7 250 130q127 130 127 348v331q9 50 48 50h4q51 0 51 -86v-326q0 -337 -333 -514q-113 -40 -176 -40v-343q0 -35 -50 -44h-2q-38 0 -48 54v331 q-114 9 -260 90q-246 184 -246 485v332q9 61 52 61z" />
-<glyph unicode="&#x3c9;" horiz-adv-x="1321" d="M277 991h5q45 -8 45 -44v-4q0 -7 -81 -174q-88 -230 -88 -426v-29q0 -134 149 -186l43 -8q153 0 201 165l4 90v320l-4 36q15 43 40 43h11q37 0 43 -59v-374l3 -27l-3 -10q0 -110 138 -180l59 -8q144 0 197 157l3 40v30q0 274 -169 588v10q8 46 43 46h4q40 0 82 -108 q135 -281 135 -565q0 -178 -184 -269q-50 -20 -98 -20h-22q-118 0 -239 128q-106 -124 -231 -124h-14q-180 0 -270 193q-16 54 -16 92q0 344 183 661q15 16 31 16z" />
-<glyph unicode="&#x3ca;" horiz-adv-x="589" d="M268 983q48 -12 48 -38v-879q0 -33 -47 -41h-2q-35 0 -45 51v846q6 61 46 61zM113 1211h12q46 -9 46 -35v-19q0 -34 -47 -43q-50 10 -50 48q11 49 39 49zM406 1211h5q46 -10 46 -39v-11q0 -39 -50 -47q-47 10 -47 47v11q0 29 46 39z" />
-<glyph unicode="&#x3cb;" horiz-adv-x="1208" d="M129 979q48 -12 48 -37v-392q0 -266 154 -358q95 -74 215 -74q230 0 346 236q24 76 24 152v423q10 50 45 50q48 -11 48 -45v-465q0 -206 -199 -361q-125 -83 -253 -83h-25q-215 0 -375 213q-73 113 -73 282v399q6 60 45 60zM382 1246h12q46 -9 46 -35v-19q0 -34 -47 -43 q-50 10 -50 48q11 49 39 49zM675 1246h5q46 -10 46 -39v-11q0 -39 -50 -47q-47 10 -47 47v11q0 29 46 39z" />
-<glyph unicode="&#x3cc;" horiz-adv-x="1229" d="M561 979q184 0 334 -140q143 -149 143 -337q0 -268 -254 -421q-110 -56 -212 -56h-29q-192 0 -358 182q-101 142 -101 295q0 232 206 390q132 87 271 87zM181 513v-18q0 -215 207 -334q76 -39 162 -39h22q223 0 342 231q27 74 27 142v18q0 179 -163 302q-98 67 -221 67 q-244 0 -356 -254q-20 -63 -20 -115zM593 1362q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43z" />
-<glyph unicode="&#x3cd;" horiz-adv-x="1178" d="M129 979q48 -12 48 -37v-392q0 -266 154 -358q95 -74 215 -74q230 0 346 236q24 76 24 152v423q10 50 45 50q48 -11 48 -45v-465q0 -206 -199 -361q-125 -83 -253 -83h-25q-215 0 -375 213q-73 113 -73 282v399q6 60 45 60zM598 1388q51 -12 51 -45v-7q0 -21 -76 -106 q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43z" />
-<glyph unicode="&#x3ce;" horiz-adv-x="1309" d="M277 991h5q45 -8 45 -44v-4q0 -7 -81 -174q-88 -230 -88 -426v-29q0 -134 149 -186l43 -8q153 0 201 165l4 90v320l-4 36q15 43 40 43h11q37 0 43 -59v-374l3 -27l-3 -10q0 -110 138 -180l59 -8q144 0 197 157l3 40v30q0 274 -169 588v10q8 46 43 46h4q40 0 82 -108 q135 -281 135 -565q0 -178 -184 -269q-50 -20 -98 -20h-22q-118 0 -239 128q-106 -124 -231 -124h-14q-180 0 -270 193q-16 54 -16 92q0 344 183 661q15 16 31 16zM678 1375q51 -12 51 -45v-7q0 -21 -76 -106q-54 -82 -93 -82h-4q-27 0 -37 48v4q0 24 108 145q31 43 51 43z " />
-<glyph unicode="&#x2000;" horiz-adv-x="919" />
-<glyph unicode="&#x2001;" horiz-adv-x="1838" />
-<glyph unicode="&#x2002;" horiz-adv-x="919" />
-<glyph unicode="&#x2003;" horiz-adv-x="1838" />
-<glyph unicode="&#x2004;" horiz-adv-x="612" />
-<glyph unicode="&#x2005;" horiz-adv-x="459" />
-<glyph unicode="&#x2006;" horiz-adv-x="306" />
-<glyph unicode="&#x2007;" horiz-adv-x="306" />
-<glyph unicode="&#x2008;" horiz-adv-x="229" />
-<glyph unicode="&#x2009;" horiz-adv-x="367" />
-<glyph unicode="&#x200a;" horiz-adv-x="102" />
-<glyph unicode="&#x2010;" horiz-adv-x="670" d="M119 623h400q38 0 50 -55q-12 -51 -50 -51h-400q-44 0 -51 57q14 49 51 49z" />
-<glyph unicode="&#x2011;" horiz-adv-x="670" d="M119 623h400q38 0 50 -55q-12 -51 -50 -51h-400q-44 0 -51 57q14 49 51 49z" />
-<glyph unicode="&#x2013;" horiz-adv-x="1108" d="M156 484l14 -1h722l36 4q38 0 50 -58q0 -33 -44 -52l-62 4h-682l-59 -4q-47 17 -47 53q9 53 72 53v1z" />
-<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M72 552l14 -1h1826l36 4q38 0 50 -58q0 -33 -44 -52l-62 4h-1786l-59 -4q-47 17 -47 53q9 53 72 53v1z" />
-<glyph unicode="&#x2015;" horiz-adv-x="2007" d="M165 591l14 -1h1602l33 4q49 -14 49 -51v-8q0 -34 -43 -51l-63 4h-1558l-59 -4q-47 17 -47 53q9 53 72 53v1z" />
-<glyph unicode="&#x2017;" horiz-adv-x="951" d="M46 -54h882q52 -9 52 -45v-10q-10 -47 -45 -47h-889q-42 0 -49 55q13 47 49 47z" />
-<glyph unicode="&#x2018;" horiz-adv-x="557" d="M340 1541q2 -1 2 -6v-3q-59 -141 -60 -249q0 -67 49 -149l3 -13q0 -41 -61 -53q-72 0 -97 228q0 121 132 233z" />
-<glyph unicode="&#x2019;" horiz-adv-x="557" d="M236 1533h28q61 0 87 -213v-18q0 -117 -133 -227q-21 -12 -25 -12q-6 2 -8 6q60 144 60 241v12q0 69 -48 151v10q10 50 39 50z" />
-<glyph unicode="&#x201a;" horiz-adv-x="557" d="M231 195h28q61 0 87 -213v-18q0 -117 -133 -227q-21 -12 -25 -12q-6 2 -8 6q60 144 60 241v12q0 69 -48 151v10q10 50 39 50z" />
-<glyph unicode="&#x201b;" horiz-adv-x="450" d="M263 1473v-10q-49 -82 -49 -151v-12q0 -97 61 -241q-2 -4 -8 -6q-4 0 -26 12q-134 110 -134 227v18q26 213 88 213h28q30 0 40 -50z" />
-<glyph unicode="&#x201c;" horiz-adv-x="910" d="M388 1562q2 -1 2 -6v-3q-59 -141 -60 -249q0 -67 49 -149l3 -13q0 -41 -61 -53q-72 0 -97 228q0 121 132 233zM670 1555q8 -3 8 -6q-64 -142 -64 -249q0 -68 52 -159v-3q-10 -53 -47 -53h-16q-61 0 -91 181v66q0 96 127 208q20 15 31 15z" />
-<glyph unicode="&#x201d;" horiz-adv-x="910" d="M271 1556h28q61 0 87 -213v-18q0 -117 -133 -227q-21 -12 -25 -12q-6 2 -8 6q60 144 60 241v12q0 69 -48 151v10q10 50 39 50zM575 1560h12q72 0 95 -220v-7q0 -120 -132 -230l-32 -13q-2 0 -2 7v-1q60 141 60 253q0 69 -48 147v22q12 42 47 42z" />
-<glyph unicode="&#x201e;" horiz-adv-x="910" d="M253 210h28q61 0 87 -213v-18q0 -117 -133 -227q-21 -12 -25 -12q-6 2 -8 6q60 144 60 241v12q0 69 -48 151v10q10 50 39 50zM557 214h12q72 0 95 -220v-7q0 -120 -132 -230l-32 -13q-2 0 -2 7v-1q60 141 60 253q0 69 -48 147v22q12 42 47 42z" />
-<glyph unicode="&#x2020;" d="M484 1416h12q38 0 47 -53v-311h218l36 4q35 0 50 -58q0 -35 -47 -52l-55 4h-202v-1249q0 -46 -58 -54q-48 12 -48 46v1257h-198l-59 -4q-47 17 -47 53q9 53 72 53v1l14 -1h218v315q10 49 47 49z" />
-<glyph unicode="&#x2021;" d="M487 1416h12q38 0 47 -53v-311h218l36 4q35 0 50 -58q0 -35 -47 -52l-55 4h-202v-834h261q29 0 42 -52q-10 -54 -54 -54h-249v-309q0 -46 -58 -54q-48 12 -48 46v317h-247q-57 11 -57 52q12 54 43 54h261v834h-198l-59 -4q-47 17 -47 53q9 53 72 53v1l14 -1h218v315 q10 49 47 49z" />
-<glyph unicode="&#x2022;" horiz-adv-x="1024" d="M216 718q0 113 79.5 191.5t192.5 78.5q112 0 191 -79t79 -191t-80 -192t-192 -80q-113 0 -191.5 79.5t-78.5 192.5z" />
-<glyph unicode="&#x2026;" horiz-adv-x="2048" d="M1608 249q85 0 110 -103v-21q0 -59 -82 -95q-9 -5 -28 -5h-4q-91 0 -110 116q0 69 85 103q10 5 29 5zM917 245q85 0 110 -103v-21q0 -59 -82 -95q-9 -5 -28 -5h-4q-91 0 -110 116q0 69 85 103q10 5 29 5zM244 249q85 0 110 -103v-21q0 -59 -82 -95q-9 -5 -28 -5h-4 q-91 0 -110 116q0 69 85 103q10 5 29 5z" />
-<glyph unicode="&#x202f;" horiz-adv-x="367" />
-<glyph unicode="&#x2030;" horiz-adv-x="2494" d="M474 1411h19q155 0 264 -142q63 -93 63 -190q0 -217 -226 -320q-63 -18 -105 -18h-7q-195 0 -300 191q-35 71 -35 144q0 220 234 321q46 14 93 14zM1308 1411h8q46 -9 46 -44v-15q0 -13 -135 -186l-857 -1131q-18 -10 -28 -10h-1q-50 10 -50 39v16q0 22 101 143l892 1179 q13 9 24 9zM245 1081v-9q0 -168 186 -230l42 -3h20q165 0 226 190l4 46q0 173 -182 233l-53 9q-172 0 -235 -178zM1171 698q196 0 310 -204q25 -74 25 -130v-12q0 -196 -208 -302q-64 -25 -127 -25h-7q-171 0 -282 166q-46 80 -46 157v23q0 176 177 285q85 42 158 42z M930 365q0 -168 175 -234l57 -8h17q161 0 225 182l4 39v27q0 168 -194 226l-42 4q-179 0 -238 -198zM1964 703q196 0 310 -204q25 -74 25 -130v-12q0 -196 -208 -302q-64 -25 -127 -25h-7q-171 0 -282 166q-46 80 -46 157v23q0 176 177 285q85 42 158 42zM1723 370 q0 -168 175 -234l57 -8h17q161 0 225 182l4 39v27q0 168 -194 226l-42 4q-179 0 -238 -198z" />
-<glyph unicode="&#x2032;" horiz-adv-x="455" d="M251 1404h2q53 -9 53 -47v-20q0 -13 -162 -224q-10 -11 -17 -11h-8q-13 0 -19 22q101 253 118 269q19 11 33 11z" />
-<glyph unicode="&#x2033;" horiz-adv-x="673" d="M259 1404h2q53 -9 53 -47v-20q0 -13 -162 -224q-10 -11 -17 -11h-8q-13 0 -19 22q101 253 118 269q19 11 33 11zM505 1392q57 -11 57 -55q0 -23 -103 -153q-61 -94 -76 -94h-12q-13 0 -19 22q0 9 108 255q25 25 45 25z" />
-<glyph unicode="&#x2039;" horiz-adv-x="631" d="M371 658h6q53 -8 53 -51v-4q0 -38 -107 -109l-13 -13v-27q120 -82 120 -119v-2q-9 -53 -47 -53h-20q-20 0 -190 153l-5 18v40q0 25 140 125q38 42 63 42z" />
-<glyph unicode="&#x203a;" horiz-adv-x="631" d="M147 654q28 0 153 -115q54 -33 54 -56v-36q0 -33 -103 -105q-74 -70 -104 -70h-2q-53 10 -53 51v4q0 37 105 106l24 36q-129 91 -129 126v2q11 57 55 57z" />
-<glyph unicode="&#x203c;" horiz-adv-x="850" d="M593 1417h12q39 0 48 -46v-950q-12 -50 -51 -50q-57 9 -57 44v959q9 43 48 43zM584 181h6q80 -12 80 -67v-22q0 -51 -73 -67h-9q-59 0 -74 78q16 78 70 78zM189 1417h12q39 0 48 -46v-950q-12 -50 -51 -50q-57 9 -57 44v959q9 43 48 43zM180 181h6q80 -12 80 -67v-22 q0 -51 -73 -67h-9q-59 0 -74 78q16 78 70 78z" />
-<glyph unicode="&#x203e;" horiz-adv-x="837" d="M186 1334l14 -1h402l36 4q35 0 50 -58q0 -35 -47 -52l-55 4h-366l-59 -4q-47 17 -47 53q9 53 72 53v1z" />
-<glyph unicode="&#x2044;" horiz-adv-x="462" d="M610 1428h12q38 0 47 -53v-2q0 -24 -111 -156q-968 -1257 -975 -1261l-26 -10h-11q-34 0 -47 43v16q0 25 110 156l975 1258q11 9 26 9z" />
-<glyph unicode="&#x2215;" horiz-adv-x="462" d="M610 1428h12q38 0 47 -53v-2q0 -24 -111 -156q-968 -1257 -975 -1261l-26 -10h-11q-34 0 -47 43v16q0 25 110 156l975 1258q11 9 26 9z" />
-<glyph unicode="&#x205f;" horiz-adv-x="459" />
-<glyph unicode="&#x207f;" horiz-adv-x="787" d="M94 1040q20 -5 20 -13v-105q131 118 235 118q113 0 202 -95q64 -80 64 -167v-281q0 -8 -19 -12h2q-19 4 -19 17v247q0 183 -161 243q-39 10 -69 10h-7q-135 0 -208 -138q-20 -44 -20 -133v-231q0 -12 -19 -15q-13 0 -17 21v507q3 27 16 27z" />
-<glyph unicode="&#x20a3;" horiz-adv-x="1127" d="M250 1406l-10 2h725l15 4q37 0 45 -57q-10 -44 -56 -44h-696v-561h466l51 4q29 0 40 -54q0 -30 -38 -47l-68 4h-451v-308h148l33 4q32 0 43 -53q0 -31 -38 -48l-57 4h-129v-163l4 -20q-11 -48 -45 -48h-5q-47 9 -47 47v184h-125l-55 -4q-40 13 -40 47v7q0 33 40 47l33 -4 h147v1010q7 49 70 49v-2z" />
-<glyph unicode="&#x20a4;" horiz-adv-x="946" d="M414 1403h38q164 0 277 -151l3 -15q-12 -52 -50 -52q-24 0 -81 65q-73 56 -149 56h-23q-167 0 -236 -197l-3 -53q0 -66 78 -212l36 -78h270q53 -11 53 -47q-11 -50 -39 -50h-237l15 -106h208q49 -9 49 -47v-2q-9 -48 -47 -48h-188q-27 0 -47 -89l-112 -255h419 q22 0 62 89q20 20 38 20q52 -10 52 -50q0 -21 -67 -142q-15 -14 -32 -14h-554q-37 0 -47 51q1 12 141 318l23 72h-179q-45 9 -45 43v11q0 34 49 43h182l-20 106h-162q-49 10 -49 45q10 52 50 52h111q-108 189 -108 293q0 210 221 323q69 21 100 21z" />
-<glyph unicode="&#x20a7;" horiz-adv-x="2028" d="M98 1315v-589h260q207 0 285 198q17 42 17 100q0 183 -186 270q-47 21 -108 21h-268zM1253 890q49 37 70 50q106 56 210 56q243 0 380 -216l2 -22v-3q0 -37 -51 -45q-33 0 -78 76q-113 109 -253 109q-185 0 -294 -179l-4 -26q0 -74 132 -86q423 -102 459 -115 q93 -62 93 -156v-3q0 -139 -212 -260q-91 -41 -196 -41q-111 0 -235 72q-16 -76 -51 -76h-77q-159 0 -237 175q-13 42 -13 101v586h-161q-45 -107 -140 -184q-109 -75 -212 -75h-287v-560q0 -34 -49 -43h-2q-37 0 -47 53v1275q6 60 39 60h346q189 0 323 -197 q50 -100 50 -180v-60h140v332q6 57 38 57h11q44 -9 44 -34v-355h178l33 4q28 0 51 -90zM1257 112q-79 79 -107 117q-10 16 -10 27v22q0 32 58 38q21 0 80 -85q108 -100 248 -100q169 0 282 162l9 29v8q0 70 -87 80q-489 109 -514 131q-83 63 -83 151q0 76 105 190l-85 5 h-162v-564q0 -159 112 -198z" />
-<glyph unicode="&#x20ac;" horiz-adv-x="1193" d="M700 1432q218 0 403 -130q9 -18 9 -29v-7q0 -42 -57 -48h4l-131 67q-139 44 -228 44q-276 0 -480 -244q-45 -68 -90 -178h779q50 -8 50 -48v-2q-9 -50 -48 -50h-802l-6 -78l6 -83h800q50 -8 50 -48v-2q-9 -49 -48 -49h-781q106 -263 326 -367q122 -52 236 -52h12 q175 0 348 108h13q47 -10 47 -44v-12q0 -62 -239 -133q-77 -22 -162 -22h-19q-347 0 -581 323q-111 186 -111 381q0 365 334 596q178 107 366 107z" />
-<glyph unicode="&#x2105;" horiz-adv-x="1768" d="M1319 1405h12q34 0 43 -49v-1q0 -25 -120 -163q-95 -133 -891 -1158q-15 -9 -29 -9q-46 13 -46 39v23q0 14 138 185q806 1051 869 1125q11 8 24 8zM386 1405q128 0 231 -95q3 -5 3 -11q-5 -27 -25 -27h-3q-10 0 -71 46q-65 33 -128 33h-15q-169 0 -254 -176 q-20 -59 -20 -106q0 -170 175 -259q53 -20 112 -20q99 0 189 75l13 3h5q17 0 22 -26q0 -37 -150 -95q-52 -9 -77 -9h-21q-133 0 -249 127q-71 100 -71 207q0 162 144 273q91 60 190 60zM1291 684q125 0 228 -96q98 -102 98 -230q0 -184 -174 -289q-75 -38 -145 -38h-21 q-130 0 -244 125q-69 97 -69 202q0 159 141 267q90 59 186 59zM1017 365v-13q0 -154 149 -240q55 -28 117 -28h15q161 0 247 166q19 54 19 102v13q0 129 -117 218q-71 48 -159 48q-176 0 -257 -183q-14 -45 -14 -83z" />
-<glyph unicode="&#x2113;" horiz-adv-x="846" d="M511 1407q154 0 215 -165l7 -49v-17q0 -82 -119 -230l-224 -335v-370q0 -115 89 -115h24q62 26 74 26q31 0 42 -50q-17 -77 -140 -77q-120 0 -179 139l-7 67v237q-112 -179 -142 -179h-7q-39 0 -47 56q0 15 184 275l12 22v526q0 178 173 233zM390 793q242 338 242 375v34 q0 81 -116 105h-7q-100 0 -119 -129v-385z" />
-<glyph unicode="&#x2116;" horiz-adv-x="2271" d="M39 1406h15q32 0 62 -64q58 -65 830 -1062q-5 0 -5 6l16 -21h41v1096q9 45 43 45h11q35 0 43 -48v-1283q0 -41 -56 -50q-28 0 -110 122l-832 1062v-1137q0 -35 -49 -43h-1q-37 0 -47 52v1266q6 59 39 59zM1287 391l14 -1h722l36 4q38 0 50 -58q0 -33 -44 -52l-62 4h-682 l-59 -4q-47 17 -47 53q9 53 72 53v1zM1657 1251q143 0 260 -109q111 -116 111 -262q0 -209 -198 -328q-85 -43 -164 -43h-24q-148 0 -278 141q-78 111 -78 230q0 181 160 304q102 67 211 67zM1352 889v-14q0 -174 166 -268q61 -32 130 -32h18q179 0 274 185q22 60 22 115v14 q0 145 -131 242q-78 54 -177 54q-196 0 -286 -203q-16 -51 -16 -93z" />
-<glyph unicode="&#x2122;" horiz-adv-x="1497" d="M159 1416h433q9 -2 9 -7v-7q0 -3 -16 -5h-198v-594q0 -5 -11 -7h1q-7 0 -9 12v589h-202q-12 2 -12 8q3 11 5 11zM766 1415h8q8 0 15 -29l245 -548q37 45 188 392l86 184q0 1 2 1h8q3 0 5 -15v-600q-3 -13 -9 -13q-11 2 -11 7v471h-43q-206 -468 -210 -473q-5 -5 -8 -5 q-13 0 -32 59l-186 417h-43v-469q0 -5 -11 -7q-6 0 -9 13v600q2 15 5 15z" />
-<glyph unicode="&#x2126;" horiz-adv-x="1709" d="M794 1412q354 0 592 -328q107 -192 107 -360q0 -328 -247 -543h-20v-54h187q50 -10 50 -39v-13q-10 -46 -44 -46h-492q-38 0 -46 53q12 45 43 45q115 0 307 164q167 196 167 425q0 284 -254 489q-170 108 -335 108h-30q-285 0 -481 -259q-108 -166 -108 -338 q0 -345 317 -535q55 -34 180 -64q29 -12 29 -44q-14 -48 -48 -48h-482q-53 11 -53 48q12 51 48 51h185v40q-99 75 -168 181q-103 180 -103 379q0 324 299 559q192 129 400 129z" />
-<glyph unicode="&#x212e;" horiz-adv-x="1174" d="M541 979q276 0 429 -262q52 -102 52 -222v-17q-9 -50 -45 -50h-807q57 -188 210 -271q90 -35 169 -35q90 0 200 55h14q43 -9 43 -41v-11q0 -69 -241 -100h-24q-256 0 -410 241q-63 113 -63 236q0 262 247 418q121 59 226 59zM165 521h757q0 108 -94 236 q-130 122 -257 122h-41q-189 0 -310 -184q-43 -74 -55 -174z" />
-<glyph unicode="&#x215b;" horiz-adv-x="1498" d="M1168 1417h12q35 0 43 -49v-2q0 -25 -120 -164q-96 -134 -899 -1168q-15 -9 -30 -9q-46 13 -46 40v23q0 14 140 185q812 1061 875 1136q11 8 25 8zM304 1409q8 0 17 -15l-3 -50v-656l3 -31q-6 -19 -20 -19q-11 0 -17 11v710l-93 -21h-10q-11 6 -11 16q0 27 110 44 q0 6 24 11zM1136 781q84 0 143 -76q34 -45 34 -99v-11q0 -74 -92 -156q126 -91 126 -200q0 -108 -100 -181q-56 -37 -116 -37h-11q-103 0 -179 103q-32 59 -32 115q0 113 136 210q-68 52 -82 110q-5 14 -5 36v11q0 93 90 150q45 25 88 25zM991 598q0 -99 116 -139l28 -2 q102 0 139 108l6 34q0 108 -114 144l-32 2q-99 0 -139 -106zM942 243q0 -132 133 -181q20 -8 56 -8q123 0 176 136l5 36v24q0 106 -121 163q-34 11 -62 11q-132 0 -180 -137z" />
-<glyph unicode="&#x215c;" horiz-adv-x="1523" d="M1210 1417h12q35 0 43 -49v-2q0 -25 -120 -164q-96 -134 -899 -1168q-15 -9 -30 -9q-46 13 -46 40v23q0 14 140 185q812 1061 875 1136q11 8 25 8zM1178 781q84 0 143 -76q34 -45 34 -99v-11q0 -74 -92 -156q126 -91 126 -200q0 -108 -100 -181q-56 -37 -116 -37h-11 q-103 0 -179 103q-32 59 -32 115q0 113 136 210q-68 52 -82 110q-5 14 -5 36v11q0 93 90 150q45 25 88 25zM1033 598q0 -99 116 -139l28 -2q102 0 139 108l6 34q0 108 -114 144l-32 2q-99 0 -139 -106zM984 243q0 -132 133 -181q20 -8 56 -8q123 0 176 136l5 36v24 q0 106 -121 163q-34 11 -62 11q-132 0 -180 -137zM303 1493q107 0 164 -114q13 -30 13 -54v-22q0 -72 -89 -158q123 -86 123 -201q0 -158 -176 -216l-49 -4h-6q-148 0 -209 176l-4 49q0 5 12 12h12q16 0 20 -63q52 -137 172 -137h12q131 0 176 152l4 33q0 129 -150 182 q-47 0 -47 21q5 19 36 19q96 0 127 128v29q0 89 -120 131h-26q-103 0 -142 -119v-32q-6 -11 -13 -11h-9q-15 3 -15 12v8q0 125 142 175z" />
-<glyph unicode="&#x215d;" horiz-adv-x="1569" d="M1269 1417h12q35 0 43 -49v-2q0 -25 -120 -164q-96 -134 -899 -1168q-15 -9 -30 -9q-46 13 -46 40v23q0 14 140 185q812 1061 875 1136q11 8 25 8zM1237 781q84 0 143 -76q34 -45 34 -99v-11q0 -74 -92 -156q126 -91 126 -200q0 -108 -100 -181q-56 -37 -116 -37h-11 q-103 0 -179 103q-32 59 -32 115q0 113 136 210q-68 52 -82 110q-5 14 -5 36v11q0 93 90 150q45 25 88 25zM1092 598q0 -99 116 -139l28 -2q102 0 139 108l6 34q0 108 -114 144l-32 2q-99 0 -139 -106zM1043 243q0 -132 133 -181q20 -8 56 -8q123 0 176 136l5 36v24 q0 106 -121 163q-34 11 -62 11q-132 0 -180 -137zM120 1412l17 -2h323q13 0 17 -22q0 -9 -23 -14h-314v-261h145q126 0 197 -131q23 -54 23 -94q0 -116 -111 -193q-56 -31 -111 -31h-7q-131 0 -204 136q-18 51 -18 81q7 19 19 19q21 0 21 -53q32 -95 100 -128q50 -20 84 -20 q127 0 178 127q11 27 11 62q0 137 -146 185l-55 4h-147q-11 0 -15 14v309q0 6 16 12z" />
-<glyph unicode="&#x215e;" horiz-adv-x="1494" d="M1160 1417h12q35 0 43 -49v-2q0 -25 -120 -164q-96 -134 -899 -1168q-15 -9 -30 -9q-46 13 -46 40v23q0 14 140 185q812 1061 875 1136q11 8 25 8zM1128 781q84 0 143 -76q34 -45 34 -99v-11q0 -74 -92 -156q126 -91 126 -200q0 -108 -100 -181q-56 -37 -116 -37h-11 q-103 0 -179 103q-32 59 -32 115q0 113 136 210q-68 52 -82 110q-5 14 -5 36v11q0 93 90 150q45 25 88 25zM983 598q0 -99 116 -139l28 -2q102 0 139 108l6 34q0 108 -114 144l-32 2q-99 0 -139 -106zM934 243q0 -132 133 -181q20 -8 56 -8q123 0 176 136l5 36v24 q0 106 -121 163q-34 11 -62 11q-132 0 -180 -137zM118 1404h411q17 -3 17 -9v-11q0 -3 -18 -30l-401 -711q-5 -3 -9 -3q-18 4 -18 16v3q4 14 374 664l17 47h-363q-22 4 -22 15q4 19 12 19z" />
-<glyph unicode="&#x2190;" horiz-adv-x="1923" d="M550 984q44 -8 44 -42v-7q0 -33 -131 -101l-112 -68l-67 -43h1471q45 -9 45 -40q-9 -47 -42 -47h-1467l295 -190q8 -16 8 -26v-5q-8 -40 -38 -40h-15q-27 7 -411 255q-46 15 -46 48q0 37 107 87q334 219 354 219h5z" />
-<glyph unicode="&#x2191;" horiz-adv-x="833" d="M391 1413q34 0 85 -107q218 -335 218 -353v-7q-8 -41 -38 -41h-18q-23 0 -72 96l-132 211v-1469q0 -30 -43 -38q-43 8 -43 42v1468l-44 -68q-136 -239 -152 -239l-17 -3h-12q-35 11 -35 31v17q0 16 91 156l178 288q11 12 34 16z" />
-<glyph unicode="&#x2192;" horiz-adv-x="1910" d="M1316 984q22 0 284 -172q149 -86 174 -112l5 -15v-18q0 -22 -61 -48q-382 -244 -393 -244h-12q-41 8 -41 38v15q0 28 153 109l157 99h-1473q-35 0 -42 48q11 39 38 39h1475l-65 43q-214 125 -239 149l-4 23v11q0 26 44 35z" />
-<glyph unicode="&#x2193;" horiz-adv-x="808" d="M378 1419q27 0 42 -38l-3 -55v-1403l192 296q13 8 24 8h2q43 -8 43 -42v-7q0 -15 -90 -154l-179 -289q-15 -13 -30 -13h-4q-34 0 -82 102q-215 331 -217 348v17q0 30 43 38h2q34 0 72 -85l141 -215v1399l-3 56q0 25 47 37z" />
-<glyph unicode="&#x2194;" horiz-adv-x="1961" d="M1355 976h2q22 0 260 -157q178 -106 194 -121l7 -29q0 -29 -56 -52q-370 -235 -399 -245h-16q-35 11 -35 31v17q0 32 122 93q5 10 119 74l78 44h-1360l75 -43q209 -123 243 -155q5 -9 5 -20v-7q0 -33 -47 -41q-16 0 -303 185q-149 86 -153 99l-3 21v2q0 31 59 55 q362 232 399 245h1q47 -7 47 -41v-7q0 -32 -92 -76l-142 -77l-90 -54h1352q-279 169 -304 191l-6 17v13q0 30 43 38z" />
-<glyph unicode="&#x2195;" horiz-adv-x="825" d="M372 1407h7q31 0 54 -58q238 -374 242 -393v-1q-9 -47 -44 -47q-38 0 -78 91l-130 215v-1318l178 292q18 15 30 15q47 -9 47 -44q0 -22 -137 -232q-125 -206 -139 -218l-22 -4h-8q-29 0 -61 76q-232 355 -232 375q9 47 44 47t82 -94l91 -147l42 -65v1329l-42 -69 q-123 -209 -152 -241l-28 -8q-34 0 -40 50v-3q12 37 252 410q17 42 44 42z" />
-<glyph unicode="&#x21a8;" horiz-adv-x="879" d="M401 1407h7q31 0 54 -58q238 -374 242 -393v-1q-9 -47 -44 -47q-38 0 -78 91l-130 207v-1299l178 281q18 15 30 15q47 -9 47 -44q0 -22 -137 -232q-125 -206 -139 -218l-22 -4h-8q-29 0 -61 76q-232 355 -232 375q9 47 44 47t82 -94l91 -147l42 -68v1329l-42 -66 q-123 -209 -152 -241l-28 -8q-34 0 -40 50v-3q12 37 252 410q17 42 44 42z" />
-<glyph unicode="&#x2202;" horiz-adv-x="1131" d="M92 1407q533 0 791 -456q102 -164 102 -486q0 -152 -147 -311q-148 -129 -316 -129h-23q-226 0 -389 224q-70 126 -70 250q0 251 240 409q113 62 234 62q114 0 265 -78v52q-134 233 -432 334q-120 32 -213 32l-46 -4q-29 0 -40 48v7q9 46 44 46zM133 499q0 -231 227 -348 q78 -33 154 -33q227 0 345 223q33 77 33 162q0 224 -232 345q-88 29 -146 29q-224 0 -343 -219q-38 -87 -38 -159z" />
-<glyph unicode="&#x2206;" horiz-adv-x="1144" d="M538 1418h12q41 0 60 -97q475 -1225 475 -1240v-12q0 -35 -50 -44h-988q-39 0 -47 53l503 1321q17 19 35 19zM525 1173l-399 -1048h837l-399 1048h-39z" />
-<glyph unicode="&#x220f;" horiz-adv-x="1378" d="M129 1418h996q53 -10 53 -47v-1q-10 -50 -39 -50h-105v-1620h91q53 -11 53 -49q-9 -49 -68 -49h-107l-16 -4l-21 4h-106l-23 -4q-34 0 -45 57v1q0 32 54 44h90v1620h-619v-1620h91q53 -11 53 -49q-8 -49 -68 -49h-107l-16 -4l-21 4h-106l-23 -4q-34 0 -45 57v1 q0 32 54 44h90v1620h-105q-30 0 -39 57q0 29 54 41z" />
-<glyph unicode="&#x2211;" horiz-adv-x="1206" d="M115 1402h847q46 -9 46 -35v-19q0 -34 -48 -42h-736l646 -788l3 -18v-9q0 -18 -155 -193l-483 -591h732q52 -10 52 -39v-22q0 -24 -44 -38l-23 3h-800l-20 -3q-47 12 -47 38v22q0 19 155 194l511 624v22l-676 825l-5 22v8q0 29 45 39z" />
-<glyph unicode="&#x2212;" horiz-adv-x="1092" d="M162 743l14 -1h722l36 4q38 0 50 -58q0 -33 -44 -52l-62 4h-682l-59 -4q-47 17 -47 53q9 53 72 53v1z" />
-<glyph unicode="&#x221a;" horiz-adv-x="1127" d="M910 1553l33 -3h93l31 3q45 -13 45 -47v-7q0 -34 -42 -47l-57 4h-46q-24 0 -716 -1396q-16 -35 -45 -35h-4q-42 0 -83 111q-119 197 -119 224v7q0 32 56 43q32 0 70 -92l57 -105h35q648 1310 661 1325z" />
-<glyph unicode="&#x221e;" horiz-adv-x="1313" d="M385 958q124 0 249 -122q129 122 259 122q196 0 299 -219l12 -98v-2q0 -223 -244 -307l-72 -8q-129 0 -254 121q-122 -121 -255 -121q-208 0 -303 228l-12 93q0 206 228 301zM688 626q0 -131 171 -196h73q112 0 180 148l11 67q0 149 -171 214h-72q-133 0 -192 -182v-51z M144 622q0 -131 171 -196h73q112 0 180 148l11 67q0 149 -171 214h-72q-133 0 -192 -182v-51z" />
-<glyph unicode="&#x221f;" horiz-adv-x="1431" d="M129 1225q48 -12 48 -37v-1070h1063q37 0 44 -50q-13 -43 -44 -43h-1112q-34 0 -44 50v1090q6 60 45 60z" />
-<glyph unicode="&#x2229;" horiz-adv-x="1221" d="M554 1412q275 0 432 -270q46 -108 46 -197v-881q0 -29 -50 -39h2q-49 10 -49 39v798q0 244 -111 332q-108 117 -270 117q-244 0 -351 -241q-30 -50 -30 -208v-794q0 -35 -48 -43q-49 9 -49 47v873q0 235 230 399q127 68 248 68z" />
-<glyph unicode="&#x222b;" horiz-adv-x="920" d="M669 1632h15q118 0 173 -128q-7 -48 -42 -48h-7q-29 0 -58 58q-27 21 -71 30q-109 0 -109 -150l-180 -1483q-64 -127 -174 -127h-18q-125 0 -180 149v-3q10 45 35 45h18q29 0 53 -68q44 -35 78 -35h11q103 0 103 162l176 1468q62 130 177 130z" />
-<glyph unicode="&#x2248;" d="M302 1001h2q48 0 349 -84h31q57 0 125 66l19 5q43 -10 43 -34v-16q0 -42 -122 -96l-71 -11h-6q-46 0 -349 84h-27q-58 0 -120 -62q-14 -10 -26 -10q-45 9 -45 43v12q0 40 141 96zM320 701q38 0 349 -84h35q48 0 127 70l13 2q43 -9 43 -43v-8q0 -44 -134 -100l-55 -7h-26 q-27 0 -337 84h-11q-73 0 -133 -62q-12 -10 -24 -10q-46 9 -46 35v16q0 28 64 63q64 44 135 44z" />
-<glyph unicode="&#x2260;" horiz-adv-x="1028" d="M444 702h-257q-43 0 -51 57q14 49 51 49h257v144q0 30 43 36q43 -6 43 -40v-140h269q39 0 50 -55q-12 -51 -50 -51h-269v-226h263q57 -11 57 -52q-11 -54 -51 -54h-269v-141q-7 -46 -41 -46h-5q-40 6 -40 42v145h-265q-34 0 -43 61q0 32 58 45h250v226z" />
-<glyph unicode="&#x2261;" horiz-adv-x="1161" d="M151 253l14 -1h722l36 4q38 0 50 -58q0 -33 -44 -52l-62 4h-682l-59 -4q-47 17 -47 53q9 53 72 53v1zM156 1032l14 -1h722l36 4q38 0 50 -58q0 -33 -44 -52l-62 4h-682l-59 -4q-47 17 -47 53q9 53 72 53v1zM156 644l14 -1h722l36 4q38 0 50 -58q0 -33 -44 -52l-62 4h-682 l-59 -4q-47 17 -47 53q9 53 72 53v1z" />
-<glyph unicode="&#x2264;" d="M785 1131q54 -11 54 -51v-8q0 -39 -83 -78l-499 -310l571 -363q11 -13 11 -29v-12q0 -39 -57 -47q-22 0 -128 72l-545 342q-12 17 -12 33q0 44 135 110q532 341 544 341h9zM132 131h668q32 0 39 -49v-8q-9 -49 -35 -49h-664q-37 0 -43 54q9 52 35 52z" />
-<glyph unicode="&#x2265;" d="M168 1136q23 0 300 -184q347 -208 377 -238q7 -12 7 -25v-16q0 -29 -107 -82q-551 -349 -558 -349l-26 -4q-51 8 -51 51v4q0 45 123 102l437 276v32q-513 313 -547 344q-13 14 -13 42q0 33 58 47zM145 136h668q31 0 39 -45v-12q-9 -49 -35 -49h-672q-26 0 -35 55 q8 51 35 51z" />
-<glyph unicode="&#xf001;" horiz-adv-x="1021" d="M566 1411q171 0 274 -174l13 -46q0 -33 -53 -44q-35 0 -71 84q-76 79 -168 79q-132 0 -194 -147l-13 -91v-96h189l60 4q27 0 39 -50v-8q0 -27 -46 -39h-242v-774l4 -42q0 -30 -53 -42q-32 0 -48 42l4 42v774h-222q-31 0 -39 56q0 21 40 41l70 -4h147v97q0 230 198 314 q33 17 111 24zM804 1014q53 -11 53 -50v-886q-9 -49 -47 -49h-2q-48 10 -48 39v896q10 50 44 50z" />
-<glyph unicode="&#xfb01;" horiz-adv-x="1021" d="M566 1411q171 0 274 -174l13 -46q0 -33 -53 -44q-35 0 -71 84q-76 79 -168 79q-132 0 -194 -147l-13 -91v-96h189l60 4q27 0 39 -50v-8q0 -27 -46 -39h-242v-774l4 -42q0 -30 -53 -42q-32 0 -48 42l4 42v774h-222q-31 0 -39 56q0 21 40 41l70 -4h147v97q0 230 198 314 q33 17 111 24zM804 1014q53 -11 53 -50v-886q-9 -49 -47 -49h-2q-48 10 -48 39v896q10 50 44 50z" />
-<glyph unicode="&#xf002;" horiz-adv-x="1081" d="M568 1418q173 0 276 -176l14 -35l-4 -40v-1040h104q30 0 40 -50v1q-9 -49 -47 -49h-148q-37 0 -47 53v1103q-41 117 -191 131q-132 0 -196 -147l-13 -92v-96h190l60 4q28 0 39 -50v-9q0 -27 -46 -39h-243v-778l4 -42q0 -30 -54 -42q-32 0 -48 43l4 41v778h-222 q-31 0 -40 57q0 20 41 41l70 -4h147v97q0 231 198 315q35 18 112 25z" />
-<glyph unicode="&#xfb02;" horiz-adv-x="1081" d="M568 1418q173 0 276 -176l14 -35l-4 -40v-1040h104q30 0 40 -50v1q-9 -49 -47 -49h-148q-37 0 -47 53v1103q-41 117 -191 131q-132 0 -196 -147l-13 -92v-96h190l60 4q28 0 39 -50v-9q0 -27 -46 -39h-243v-778l4 -42q0 -30 -54 -42q-32 0 -48 43l4 41v778h-222 q-31 0 -40 57q0 20 41 41l70 -4h147v97q0 231 198 315q35 18 112 25z" />
-<glyph horiz-adv-x="0" />
-</font>
-</defs></svg> 
\ No newline at end of file
diff --git a/hubs/static/css/fonts/Comfortaa_Thin-webfont.ttf b/hubs/static/css/fonts/Comfortaa_Thin-webfont.ttf
deleted file mode 100644
index 8289a85..0000000
Binary files a/hubs/static/css/fonts/Comfortaa_Thin-webfont.ttf and /dev/null differ
diff --git a/hubs/static/css/fonts/Comfortaa_Thin-webfont.woff b/hubs/static/css/fonts/Comfortaa_Thin-webfont.woff
deleted file mode 100644
index 8d75a95..0000000
Binary files a/hubs/static/css/fonts/Comfortaa_Thin-webfont.woff and /dev/null differ

From 426e9f8b0f6fbd3026a9c122ec835f2abe90efa7 Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Oct 20 2015 08:14:26 +0000
Subject: [PATCH 222/254] Defined url_for for easier access of flask.url_for


---

diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index d3ae5b5..5f39e20 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -90,6 +90,7 @@ def get_site_vars():
     return dict(
         session=flask.app.session,
         g=flask.g,
+        url_for=flask.url_for,
     )
 
 

From daea24c3c12b0015417694fa9385e7786a845734 Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Oct 20 2015 08:16:18 +0000
Subject: [PATCH 223/254] Fixed issue #46: Added href tag to view owners hubs page


---

diff --git a/hubs/widgets/rules.py b/hubs/widgets/rules.py
index ce50aff..9793207 100644
--- a/hubs/widgets/rules.py
+++ b/hubs/widgets/rules.py
@@ -18,7 +18,8 @@ template = jinja2.Template("""
   <div class="row">
     {% for owner in owners %}
         <div class="col-sm-6">
-            <img class="img-circle" src="{{owners[owner]}}"/> {{owner}}
+            <img class="img-circle" src="{{owners[owner]}}"/>
+            <a href="{{ url_for('hub', name=owner)}}">{{owner}}</a>
         </div>
     {% endfor %}
   </div>

From 1b4bcb71b436ce3477b5045f374a28324c206324 Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Oct 25 2015 19:29:14 +0000
Subject: [PATCH 224/254] Fixed issue #49: Updated the bodhiurl responsible for the bug


---

diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index 49b54e2..ea0a996 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -48,10 +48,9 @@ giveaway = 'can be pushed to stable now'
 def data(session, widget, username):
 
     # First, get all of my updates currently in testing.
-    bodhiurl = 'https://admin.fedoraproject.org/updates/'
-    baseurl = bodhiurl + 'list'
+    bodhiurl = 'https://bodhi.fedoraproject.org/updates/'
     query = '?username={username}&status=testing'.format(username=username)
-    url = baseurl + query
+    url = bodhiurl + query
     headers = {'Accept': 'application/json'}
     response = requests.get(url, headers=headers)
     data = response.json()

From 4c953064352d426a747e16730d41b2ac860608ba Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Oct 28 2015 21:05:36 +0000
Subject: [PATCH 225/254] Added the parse_nvr function to extract the package name


---

diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index ea0a996..7140fda 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -35,7 +35,7 @@ template = jinja2.Template("""
 
 from hubs.widgets.chrome import panel
 # If 'updates' is empty, then don't render any chrome.
-chrome = panel('Updates Ready for Stable', key='updates')
+chrome = panel('Updates Ready for Stable') #, key='updates')
 
 
 giveaway = 'can be pushed to stable now'
@@ -49,10 +49,11 @@ def data(session, widget, username):
 
     # First, get all of my updates currently in testing.
     bodhiurl = 'https://bodhi.fedoraproject.org/updates/'
-    query = '?username={username}&status=testing'.format(username=username)
+    query = '?user={username}&status=testing'.format(username=username)
     url = bodhiurl + query
     headers = {'Accept': 'application/json'}
     response = requests.get(url, headers=headers)
+    print response
     data = response.json()
 
     # Limit it this to only the updates that haven't already requested stable
@@ -66,13 +67,20 @@ def data(session, widget, username):
     # Stuff some useful information in there.
     baseurl = 'https://apps.fedoraproject.org/packages/images/icons/'
     for update in data['updates']:
-        package = update['builds'][0]['package']['name']
-        update['icon'] = baseurl + package + '.png'
+        nvr = update['builds'][0]
+        package = parse_nvr(nvr)
+        update['icon'] = baseurl + package[0] + '.png'
         update['link'] = bodhiurl + update['title']
 
     return data
 
 
+def parse_nvr(nvr):
+    # Return the [ name, version, release ] of a given name-ver-rel.
+    x = nvr.items()[0][1].split('-')
+    return ['-'.join(x[:-2]), x[-2], x[-1]]
+
+
 @hint(topics=[_('bodhi.update.comment')])
 def should_invalidate(message, session, widget):
     if giveaway in message['msg']['comment']['text']:

From 1fcc95464d0e91e80f5035c91c5388209224264c Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Oct 29 2015 11:16:38 +0000
Subject: [PATCH 226/254] Removed few testing edits


---

diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index 7140fda..836b6ce 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -35,7 +35,7 @@ template = jinja2.Template("""
 
 from hubs.widgets.chrome import panel
 # If 'updates' is empty, then don't render any chrome.
-chrome = panel('Updates Ready for Stable') #, key='updates')
+chrome = panel('Updates Ready for Stable', key='updates')
 
 
 giveaway = 'can be pushed to stable now'
@@ -53,7 +53,6 @@ def data(session, widget, username):
     url = bodhiurl + query
     headers = {'Accept': 'application/json'}
     response = requests.get(url, headers=headers)
-    print response
     data = response.json()
 
     # Limit it this to only the updates that haven't already requested stable

From 26fd97a8aa754876ee2190a1afc51ba170753e16 Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Oct 29 2015 12:04:53 +0000
Subject: [PATCH 227/254] Edited the parse_nvr() function for a dict with more than one value


---

diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index 836b6ce..1a27be6 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -66,7 +66,8 @@ def data(session, widget, username):
     # Stuff some useful information in there.
     baseurl = 'https://apps.fedoraproject.org/packages/images/icons/'
     for update in data['updates']:
-        nvr = update['builds'][0]
+        build = update['builds'][0]
+        nvr = build['nvr']
         package = parse_nvr(nvr)
         update['icon'] = baseurl + package[0] + '.png'
         update['link'] = bodhiurl + update['title']
@@ -76,7 +77,7 @@ def data(session, widget, username):
 
 def parse_nvr(nvr):
     # Return the [ name, version, release ] of a given name-ver-rel.
-    x = nvr.items()[0][1].split('-')
+    x = nvr.split('-')
     return ['-'.join(x[:-2]), x[-2], x[-1]]
 
 

From b9d93906f27ceb17d278e758554afc243502364d Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Oct 30 2015 18:34:25 +0000
Subject: [PATCH 228/254] Add a requirement on pytz.


---

diff --git a/requirements.txt b/requirements.txt
index 5585e6c..844a2ec 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11,3 +11,4 @@ fmn.rules
 datanommer.models
 psycopg2
 gunicorn
+pytz

From a93a640a44d411c649967c7d2b72239f95e3bb3d Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Nov 03 2015 17:05:05 +0000
Subject: [PATCH 229/254] Fixed issue #53: Edited 'subscribes to' into clickable links


---

diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
index 4b0df3a..36e830d 100644
--- a/hubs/widgets/subscriptions.py
+++ b/hubs/widgets/subscriptions.py
@@ -18,7 +18,11 @@ template = jinja2.Template("""
     {% endif %}
     <hr/>
     {% if subscriptions %}
-        <p><strong>Subscribes to:</strong> {{subscriptions_text}}</p>
+        <p><strong>Subscribes to:</strong>
+        {% for subscription in subscriptions %}
+        <a href="{{ url_for('hub', name=subscription)}}">
+        {{subscription}}</a>
+        {% endfor %}</p>
     {% endif %}
 {% endif %}
 """)

From 8cbbdbb84d071835e4660442b95c8ec55c0ed7a2 Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Nov 03 2015 17:05:05 +0000
Subject: [PATCH 230/254] Merge #51 `Fixed issue #49: Updated the bodhiurl responsible for the bug`


---

diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
index 4b0df3a..36e830d 100644
--- a/hubs/widgets/subscriptions.py
+++ b/hubs/widgets/subscriptions.py
@@ -18,7 +18,11 @@ template = jinja2.Template("""
     {% endif %}
     <hr/>
     {% if subscriptions %}
-        <p><strong>Subscribes to:</strong> {{subscriptions_text}}</p>
+        <p><strong>Subscribes to:</strong>
+        {% for subscription in subscriptions %}
+        <a href="{{ url_for('hub', name=subscription)}}">
+        {{subscription}}</a>
+        {% endfor %}</p>
     {% endif %}
 {% endif %}
 """)
diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index 49b54e2..1a27be6 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -48,10 +48,9 @@ giveaway = 'can be pushed to stable now'
 def data(session, widget, username):
 
     # First, get all of my updates currently in testing.
-    bodhiurl = 'https://admin.fedoraproject.org/updates/'
-    baseurl = bodhiurl + 'list'
-    query = '?username={username}&status=testing'.format(username=username)
-    url = baseurl + query
+    bodhiurl = 'https://bodhi.fedoraproject.org/updates/'
+    query = '?user={username}&status=testing'.format(username=username)
+    url = bodhiurl + query
     headers = {'Accept': 'application/json'}
     response = requests.get(url, headers=headers)
     data = response.json()
@@ -67,13 +66,21 @@ def data(session, widget, username):
     # Stuff some useful information in there.
     baseurl = 'https://apps.fedoraproject.org/packages/images/icons/'
     for update in data['updates']:
-        package = update['builds'][0]['package']['name']
-        update['icon'] = baseurl + package + '.png'
+        build = update['builds'][0]
+        nvr = build['nvr']
+        package = parse_nvr(nvr)
+        update['icon'] = baseurl + package[0] + '.png'
         update['link'] = bodhiurl + update['title']
 
     return data
 
 
+def parse_nvr(nvr):
+    # Return the [ name, version, release ] of a given name-ver-rel.
+    x = nvr.split('-')
+    return ['-'.join(x[:-2]), x[-2], x[-1]]
+
+
 @hint(topics=[_('bodhi.update.comment')])
 def should_invalidate(message, session, widget):
     if giveaway in message['msg']['comment']['text']:

From ee18daa8fa38eef8ba61ca557bb90ae944ccb5e2 Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Nov 04 2015 13:10:06 +0000
Subject: [PATCH 231/254] Fixed issue #53: Added clickable links for subscribed hubs


---

diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
index 4b0df3a..36e830d 100644
--- a/hubs/widgets/subscriptions.py
+++ b/hubs/widgets/subscriptions.py
@@ -18,7 +18,11 @@ template = jinja2.Template("""
     {% endif %}
     <hr/>
     {% if subscriptions %}
-        <p><strong>Subscribes to:</strong> {{subscriptions_text}}</p>
+        <p><strong>Subscribes to:</strong>
+        {% for subscription in subscriptions %}
+        <a href="{{ url_for('hub', name=subscription)}}">
+        {{subscription}}</a>
+        {% endfor %}</p>
     {% endif %}
 {% endif %}
 """)

From 2b6acc854a6a0bfe3ae298b2476df86162fe8bb3 Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Nov 05 2015 19:23:11 +0000
Subject: [PATCH 232/254] Added manage_subscriptions() to hyperlink subscriptions and memberships


---

diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
index 36e830d..d32e47b 100644
--- a/hubs/widgets/subscriptions.py
+++ b/hubs/widgets/subscriptions.py
@@ -8,21 +8,20 @@ import hubs.models
 
 from fedmsg.meta.base import BaseConglomerator as BC
 
+import flask
 import jinja2
 
 chrome = panel('Hubs', key='associations')
 template = jinja2.Template("""
 {% if associations %}
     {% if memberships %}
-        <p><strong>Belongs to: </strong>{{memberships_text}}</p>
+        <p><strong>Belongs to: </strong>
+        {{memberships_text}}</p>
     {% endif %}
     <hr/>
     {% if subscriptions %}
         <p><strong>Subscribes to:</strong>
-        {% for subscription in subscriptions %}
-        <a href="{{ url_for('hub', name=subscription)}}">
-        {{subscription}}</a>
-        {% endfor %}</p>
+        {{subscriptions_text}}</p>
     {% endif %}
 {% endif %}
 """)
@@ -37,16 +36,29 @@ def data(session, widget, username):
     ownerships = [u.name for u in user.ownerships]
     memberships = [u.name for u in user.memberships]
     subscriptions = [u.name for u in user.subscriptions]
+    subs = subscriptions
+    mems = memberships
+    subscriptions_list = manage_subscriptions(subs)
+    memberships_list = manage_subscriptions(mems)
     return dict(
         associations=memberships + ownerships,
         ownerships=ownerships,
         memberships=memberships,
         subscriptions=subscriptions,
         ownerships_text=BC.list_to_series(ownerships),
-        memberships_text=BC.list_to_series(memberships),
-        subscriptions_text=BC.list_to_series(subscriptions),
+        memberships_text=BC.list_to_series(memberships_list),
+        subscriptions_text=BC.list_to_series(subscriptions_list),
     )
 
 
+# function hyperlinks
+def manage_subscriptions(s):
+    for j, i in enumerate(s[0:3]):
+        link = '<a href="{link}">{item}</a>'.format(link=flask.url_for(
+            'hub', name=i), item=i)
+        s[j] = link
+    return s
+
+
 def should_invalidate(message, session, widget):
     raise NotImplementedError()

From 6811d345beaea95c65b010186cc5288220ae198a Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Nov 05 2015 19:55:17 +0000
Subject: [PATCH 233/254] Edited comments


---

diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
index d32e47b..25c670b 100644
--- a/hubs/widgets/subscriptions.py
+++ b/hubs/widgets/subscriptions.py
@@ -1,4 +1,4 @@
-#from hubs.hinting import hint, prefixed as _
+# from hubs.hinting import hint, prefixed as _
 from hubs.widgets.base import argument
 from hubs.widgets.chrome import panel
 
@@ -51,7 +51,7 @@ def data(session, widget, username):
     )
 
 
-# function hyperlinks
+# function hyperlinks the hubs in the subscription widget
 def manage_subscriptions(s):
     for j, i in enumerate(s[0:3]):
         link = '<a href="{link}">{item}</a>'.format(link=flask.url_for(

From f36cd76b3c8c8b019df373ed432285c027dfa674 Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Nov 06 2015 20:46:30 +0000
Subject: [PATCH 234/254] Added generator to avoid changes in json data


---

diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
index 25c670b..aa9d394 100644
--- a/hubs/widgets/subscriptions.py
+++ b/hubs/widgets/subscriptions.py
@@ -15,13 +15,11 @@ chrome = panel('Hubs', key='associations')
 template = jinja2.Template("""
 {% if associations %}
     {% if memberships %}
-        <p><strong>Belongs to: </strong>
-        {{memberships_text}}</p>
+        <p><strong>Belongs to: </strong>{{memberships_text}}</p>
     {% endif %}
     <hr/>
     {% if subscriptions %}
-        <p><strong>Subscribes to:</strong>
-        {{subscriptions_text}}</p>
+        <p><strong>Subscribes to:</strong>{{subscriptions_text}}</p>
     {% endif %}
 {% endif %}
 """)
@@ -36,10 +34,8 @@ def data(session, widget, username):
     ownerships = [u.name for u in user.ownerships]
     memberships = [u.name for u in user.memberships]
     subscriptions = [u.name for u in user.subscriptions]
-    subs = subscriptions
-    mems = memberships
-    subscriptions_list = manage_subscriptions(subs)
-    memberships_list = manage_subscriptions(mems)
+    subscriptions_list = manage_subscriptions(subscriptions)
+    memberships_list = manage_subscriptions(memberships)
     return dict(
         associations=memberships + ownerships,
         ownerships=ownerships,
@@ -52,12 +48,11 @@ def data(session, widget, username):
 
 
 # function hyperlinks the hubs in the subscription widget
-def manage_subscriptions(s):
-    for j, i in enumerate(s[0:3]):
+def manage_subscriptions(items):
+    for index, item in enumerate(items[0:3]):
         link = '<a href="{link}">{item}</a>'.format(link=flask.url_for(
-            'hub', name=i), item=i)
-        s[j] = link
-    return s
+            'hub', name=item), item=item)
+        yield link
 
 
 def should_invalidate(message, session, widget):

From 46e0cbf917a3f9641dcd00fbce613a4902acba1f Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Nov 06 2015 21:02:44 +0000
Subject: [PATCH 235/254] Edited typo


---

diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
index aa9d394..f5e51f1 100644
--- a/hubs/widgets/subscriptions.py
+++ b/hubs/widgets/subscriptions.py
@@ -15,11 +15,11 @@ chrome = panel('Hubs', key='associations')
 template = jinja2.Template("""
 {% if associations %}
     {% if memberships %}
-        <p><strong>Belongs to: </strong>{{memberships_text}}</p>
+        <p><strong>Belongs to: </strong> {{memberships_text}}</p>
     {% endif %}
     <hr/>
     {% if subscriptions %}
-        <p><strong>Subscribes to:</strong>{{subscriptions_text}}</p>
+        <p><strong>Subscribes to:</strong> {{subscriptions_text}}</p>
     {% endif %}
 {% endif %}
 """)

From 23497dc6be5af13cfbcb54b1e41c4c3282fe3f67 Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Nov 06 2015 21:02:44 +0000
Subject: [PATCH 236/254] Merge #54 `Fixed issue #53: Added clickable links for subscribed hubs`


---

diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
index 36e830d..db23691 100644
--- a/hubs/widgets/subscriptions.py
+++ b/hubs/widgets/subscriptions.py
@@ -1,4 +1,4 @@
-#from hubs.hinting import hint, prefixed as _
+# from hubs.hinting import hint, prefixed as _
 from hubs.widgets.base import argument
 from hubs.widgets.chrome import panel
 
@@ -8,13 +8,14 @@ import hubs.models
 
 from fedmsg.meta.base import BaseConglomerator as BC
 
+import flask
 import jinja2
 
 chrome = panel('Hubs', key='associations')
 template = jinja2.Template("""
 {% if associations %}
     {% if memberships %}
-        <p><strong>Belongs to: </strong>{{memberships_text}}</p>
+        <p><strong>Belongs to: </strong> {{memberships_text}}</p>
     {% endif %}
     <hr/>
     {% if subscriptions %}
@@ -37,16 +38,26 @@ def data(session, widget, username):
     ownerships = [u.name for u in user.ownerships]
     memberships = [u.name for u in user.memberships]
     subscriptions = [u.name for u in user.subscriptions]
+    subscriptions_list = manage_subscriptions(subscriptions)
+    memberships_list = manage_subscriptions(memberships)
     return dict(
         associations=memberships + ownerships,
         ownerships=ownerships,
         memberships=memberships,
         subscriptions=subscriptions,
         ownerships_text=BC.list_to_series(ownerships),
-        memberships_text=BC.list_to_series(memberships),
-        subscriptions_text=BC.list_to_series(subscriptions),
+        memberships_text=BC.list_to_series(memberships_list),
+        subscriptions_text=BC.list_to_series(subscriptions_list),
     )
 
 
+# function hyperlinks the hubs in the subscription widget
+def manage_subscriptions(items):
+    for index, item in enumerate(items[0:3]):
+        link = '<a href="{link}">{item}</a>'.format(link=flask.url_for(
+            'hub', name=item), item=item)
+        yield link
+
+
 def should_invalidate(message, session, widget):
     raise NotImplementedError()

From aae7e26f50cb64cceafa1b5ac1a835ebbdf52ad1 Mon Sep 17 00:00:00 2001
From: Dhriti Shikhar <dhrish20@gmail.com>
Date: Nov 17 2015 05:36:17 +0000
Subject: [PATCH 237/254] Adds a pagure pull requests widget


---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index ce29c74..56a93c1 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -53,4 +53,11 @@ def add_user_widgets(session, hub, username, fullname):
             'username': username,
         }))
     hub.widgets.append(widget)
+    widget = hubs.models.Widget(
+        plugin='pagure_pr', index=5, 
+        _config=json.dumps({
+            'repo': 'pagure',
+        }))
+    hub.widgets.append(widget)
+
     return hub
diff --git a/hubs/validators.py b/hubs/validators.py
index 5bdf053..8248b29 100644
--- a/hubs/validators.py
+++ b/hubs/validators.py
@@ -22,3 +22,6 @@ def fmn_context(session, value):
     return value in [
         'irc', 'email', 'android', 'desktop', 'hubs',
     ]
+
+def repo(session, value):
+    return value
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index d3ae5b5..9865be6 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -11,6 +11,7 @@ from hubs.widgets import feed
 from hubs.widgets import subscriptions
 from hubs.widgets import cobwebs
 from hubs.widgets import meetings
+from hubs.widgets import pagure_pr
 
 from hubs.widgets.workflow import pendingacls
 from hubs.widgets.workflow import updates2stable
@@ -31,6 +32,7 @@ registry = {
     'subscriptions': subscriptions,
     'cobwebs': cobwebs,
     'meetings': meetings,
+    'pagure_pr': pagure_pr,    
 
     'workflow.pendingacls': pendingacls,
     'workflow.updates2stable': updates2stable,
diff --git a/hubs/widgets/pagure_pr.py b/hubs/widgets/pagure_pr.py
new file mode 100644
index 0000000..f00ffd2
--- /dev/null
+++ b/hubs/widgets/pagure_pr.py
@@ -0,0 +1,80 @@
+from hubs.hinting import hint
+from hubs.widgets.chrome import panel
+import jinja2
+import requests
+from hubs.widgets.base import argument
+import hubs.validators as validators
+chrome = panel("Pagure: Newest Open Pull Requests")
+
+pagure_url = "https://pagure.io/api/0"
+
+template = jinja2.Template("""
+  <br />
+    <div class="container">
+      {% for i in range(0,total_req) %}
+        <div>
+          <table class="table-responsive table-condensed">
+            <tr>
+              <td valign="top" class="panel-heading">
+                <b>#{{ all_pr[i]['pr_id'] }}</b>
+              </td>
+              <td width="260px">
+                <b>{{ all_pr[i]['pr_title'] }} ...</b>
+              </td>
+            </tr>
+           </table>
+         <table class="table-responsive table-condensed">
+            <tr>
+              <td width="280px" >
+                <font size="2">
+                  <i>Opened by <a href="https://pagure.io/user/{{ all_pr[i]['pr_openedby'] }}" target="_blank">{{ all_pr[i]['pr_openedby'] }}</a>
+                  {% if all_pr[i]['pr_assignee'] %}
+                    <br>Assigned to <a href="https://pagure.io/user/{{ all_pr[i]['pr_assignee'] }}" target="_blank">{{ all_pr[i]['pr_assignee'] }}</a></i>
+                  {% endif %}
+                </font>
+              </td>
+              <td>
+                <a href="https://pagure.io/{{ repo }}/pull-request/{{ all_pr[i]['pr_id'] }}" target="_blank">
+                  <button type="button" class="btn btn-default" aria-label="Left Align">
+                    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
+                  </button>
+                </a>
+              </td>
+            </tr>
+          </table>
+        </div>
+      {%endfor%}
+    <br />
+    </div class="row">
+      <center><a href="https://pagure.io/{{ repo }}/pull-requests" target="_blank">All Pull-Requests</a><center>
+    </div>
+  </div>
+""")
+
+@argument(name="repo",
+          default=None,
+          validator=validators.repo,
+          help="Repo")
+def data(session, widget, repo):
+    repo="pagure"
+    url = '/'.join([pagure_url, repo, "pull-requests"])
+    response = requests.get(url)
+    data = response.json()
+    total_req = data['total_requests']
+    all_pr = list()
+    for i in range(0,total_req):
+      all_pr.append(dict(
+      pr_id=data['requests'][i]['id'],
+      pr_title=data['requests'][i]['title'][:45],
+      pr_openedby=data['requests'][i]['user']['name'],
+      pr_assignee=data['requests'][i]['assignee'],
+    ))
+    all_pr.reverse() 
+    return dict(all_pr=all_pr,
+    total_req=total_req,
+    repo=repo,		
+)
+
+@hint()
+def should_invalidate(message, session, widget):
+   raise NotImplementedError

From ffa3ecd8c3949bacfab2ccb646a803da0afb0b6f Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Nov 17 2015 13:52:12 +0000
Subject: [PATCH 238/254] Merge #56 `Adds a pagure pull requests widget`


---

diff --git a/hubs/defaults.py b/hubs/defaults.py
index ce29c74..56a93c1 100644
--- a/hubs/defaults.py
+++ b/hubs/defaults.py
@@ -53,4 +53,11 @@ def add_user_widgets(session, hub, username, fullname):
             'username': username,
         }))
     hub.widgets.append(widget)
+    widget = hubs.models.Widget(
+        plugin='pagure_pr', index=5, 
+        _config=json.dumps({
+            'repo': 'pagure',
+        }))
+    hub.widgets.append(widget)
+
     return hub
diff --git a/hubs/validators.py b/hubs/validators.py
index 5bdf053..8248b29 100644
--- a/hubs/validators.py
+++ b/hubs/validators.py
@@ -22,3 +22,6 @@ def fmn_context(session, value):
     return value in [
         'irc', 'email', 'android', 'desktop', 'hubs',
     ]
+
+def repo(session, value):
+    return value
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 5f39e20..416f7d6 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -11,6 +11,7 @@ from hubs.widgets import feed
 from hubs.widgets import subscriptions
 from hubs.widgets import cobwebs
 from hubs.widgets import meetings
+from hubs.widgets import pagure_pr
 
 from hubs.widgets.workflow import pendingacls
 from hubs.widgets.workflow import updates2stable
@@ -31,6 +32,7 @@ registry = {
     'subscriptions': subscriptions,
     'cobwebs': cobwebs,
     'meetings': meetings,
+    'pagure_pr': pagure_pr,    
 
     'workflow.pendingacls': pendingacls,
     'workflow.updates2stable': updates2stable,
diff --git a/hubs/widgets/pagure_pr.py b/hubs/widgets/pagure_pr.py
new file mode 100644
index 0000000..f00ffd2
--- /dev/null
+++ b/hubs/widgets/pagure_pr.py
@@ -0,0 +1,80 @@
+from hubs.hinting import hint
+from hubs.widgets.chrome import panel
+import jinja2
+import requests
+from hubs.widgets.base import argument
+import hubs.validators as validators
+chrome = panel("Pagure: Newest Open Pull Requests")
+
+pagure_url = "https://pagure.io/api/0"
+
+template = jinja2.Template("""
+  <br />
+    <div class="container">
+      {% for i in range(0,total_req) %}
+        <div>
+          <table class="table-responsive table-condensed">
+            <tr>
+              <td valign="top" class="panel-heading">
+                <b>#{{ all_pr[i]['pr_id'] }}</b>
+              </td>
+              <td width="260px">
+                <b>{{ all_pr[i]['pr_title'] }} ...</b>
+              </td>
+            </tr>
+           </table>
+         <table class="table-responsive table-condensed">
+            <tr>
+              <td width="280px" >
+                <font size="2">
+                  <i>Opened by <a href="https://pagure.io/user/{{ all_pr[i]['pr_openedby'] }}" target="_blank">{{ all_pr[i]['pr_openedby'] }}</a>
+                  {% if all_pr[i]['pr_assignee'] %}
+                    <br>Assigned to <a href="https://pagure.io/user/{{ all_pr[i]['pr_assignee'] }}" target="_blank">{{ all_pr[i]['pr_assignee'] }}</a></i>
+                  {% endif %}
+                </font>
+              </td>
+              <td>
+                <a href="https://pagure.io/{{ repo }}/pull-request/{{ all_pr[i]['pr_id'] }}" target="_blank">
+                  <button type="button" class="btn btn-default" aria-label="Left Align">
+                    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
+                  </button>
+                </a>
+              </td>
+            </tr>
+          </table>
+        </div>
+      {%endfor%}
+    <br />
+    </div class="row">
+      <center><a href="https://pagure.io/{{ repo }}/pull-requests" target="_blank">All Pull-Requests</a><center>
+    </div>
+  </div>
+""")
+
+@argument(name="repo",
+          default=None,
+          validator=validators.repo,
+          help="Repo")
+def data(session, widget, repo):
+    repo="pagure"
+    url = '/'.join([pagure_url, repo, "pull-requests"])
+    response = requests.get(url)
+    data = response.json()
+    total_req = data['total_requests']
+    all_pr = list()
+    for i in range(0,total_req):
+      all_pr.append(dict(
+      pr_id=data['requests'][i]['id'],
+      pr_title=data['requests'][i]['title'][:45],
+      pr_openedby=data['requests'][i]['user']['name'],
+      pr_assignee=data['requests'][i]['assignee'],
+    ))
+    all_pr.reverse() 
+    return dict(all_pr=all_pr,
+    total_req=total_req,
+    repo=repo,		
+)
+
+@hint()
+def should_invalidate(message, session, widget):
+   raise NotImplementedError

From b95aee4d3c6688ac28bc6aa43c70b68ade5eab6b Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Dec 14 2015 18:24:24 +0000
Subject: [PATCH 239/254] Mark up feed entries with links to other hub users.


---

diff --git a/hubs/widgets/feed.py b/hubs/widgets/feed.py
index d3d0b4b..058c280 100644
--- a/hubs/widgets/feed.py
+++ b/hubs/widgets/feed.py
@@ -13,6 +13,8 @@ import jinja2
 import munch
 import requests
 
+import flask
+
 import hubs.validators as validators
 
 import datetime
@@ -39,7 +41,7 @@ template = jinja2.Template("""
         </a>
       </div>
       <div class="media-body">
-        <h4 class="media-heading">{{match['subtitle']}}</h4>
+        <h4 class="media-heading">{{match['markup']}}</h4>
         {{match['human_time']}}
       </div>
     </div>
@@ -106,6 +108,23 @@ def data(session, widget, username, fmn_context):
     # Smash multiple messages into single ones
     matches = fedmsg.meta.conglomerate(matches, **config)
 
+    # Apply some html markup to the subtitles for extra fanciness.
+    for match in matches:
+        match['markup'] = match['subtitle']
+        for username in match['usernames']:
+            match['markup'] = match['markup'].replace(
+                username, '<a href="{url}">@{username}</a>'.format(
+                    url=flask.url_for('hub', name=username),
+                    username=username,
+                ))
+        for package in match['packages']:
+            match['markup'] = match['markup'].replace(
+                package, '<a href="{url}">{package}</a>'.format(
+                    url='https://apps.fedoraproject.org/packages/' + package,
+                    package=package,
+                ))
+
+
     return dict(
         matches=matches,
     )

From 00d2f30b456b0d294898d10ead785459682c30f6 Mon Sep 17 00:00:00 2001
From: Shalini Roy <shaliniroy012@gmail.com>
Date: Jan 12 2016 21:08:49 +0000
Subject: [PATCH 240/254] Handling response code while fetching widget from feed.py


---

diff --git a/hubs/widgets/feed.py b/hubs/widgets/feed.py
index 058c280..b80775d 100644
--- a/hubs/widgets/feed.py
+++ b/hubs/widgets/feed.py
@@ -69,39 +69,42 @@ def data(session, widget, username, fmn_context):
     log.info("Getting FMN preferences from %s" % url)
     print(url)
     response = requests.get(url)
-    preference = response.json()
-    preference = rehydrate_preferences(preference)
-
-    # The smaller we make this, the faster it is.
-    delta = datetime.timedelta(days=365)
-    end = datetime.datetime.utcnow()
-
-    # We currently only support getting the first page.
-    # The widget framework as currently written doesn't support
-    # multiple pages yet.
-    page = 1
-
     messages = []
-    for filter in preference['filters']:
-        rules = filter['rules']
-        fmn_hinting = fmn.lib.hinting.gather_hinting(config, rules, paths)
-        total, pages, rows = datanommer.models.Message.grep(
-            start=end-delta,
-            end=end,
-            rows_per_page=bazillion,
-            page=page,
-            order='desc',
-            **fmn_hinting
-        )
-        messages.extend(rows)
-
     matches = []
-    for message in messages:
-        original = message.__json__()
-        recipients = fmn.lib.recipients(
-            [preference], message.__json__(), paths, config)
-        if recipients:
-            matches.append(original)
+    if response.status_code == 200:
+        preference = response.json()
+        preference = rehydrate_preferences(preference)
+
+        # The smaller we make this, the faster it is.
+        delta = datetime.timedelta(days=365)
+        end = datetime.datetime.utcnow()
+
+        # We currently only support getting the first page.
+        # The widget framework as currently written doesn't support
+        # multiple pages yet.
+        page = 1
+
+        for filter in preference['filters']:
+            rules = filter['rules']
+            fmn_hinting = fmn.lib.hinting.gather_hinting(config, rules, paths)
+            total, pages, rows = datanommer.models.Message.grep(
+                start=end-delta,
+                end=end,
+                rows_per_page=bazillion,
+                page=page,
+                order='desc',
+                **fmn_hinting
+            )
+            messages.extend(rows)
+
+        for message in messages:
+            original = message.__json__()
+            recipients = fmn.lib.recipients(
+                [preference], message.__json__(), paths, config)
+            if recipients:
+                matches.append(original)
+    else:
+        print("You don't have any preferences")
 
     # TODO - sort messages and remove duplicates
 

From 103b6f7def0015082716cf7a87fd53c7bafce43b Mon Sep 17 00:00:00 2001
From: Shalini Roy <shaliniroy012@gmail.com>
Date: Jan 12 2016 21:27:13 +0000
Subject: [PATCH 241/254] Changed print to log.warn


---

diff --git a/hubs/widgets/feed.py b/hubs/widgets/feed.py
index b80775d..77a57ab 100644
--- a/hubs/widgets/feed.py
+++ b/hubs/widgets/feed.py
@@ -104,7 +104,7 @@ def data(session, widget, username, fmn_context):
             if recipients:
                 matches.append(original)
     else:
-        print("You don't have any preferences")
+        log.warn("You don't have any preferences. \n Url=%s" % url)
 
     # TODO - sort messages and remove duplicates
 

From 1a3150b1430a775848b8e74acd829cd7e4f7fddd Mon Sep 17 00:00:00 2001
From: Shalini Roy <shaliniroy012@gmail.com>
Date: Jan 12 2016 21:43:39 +0000
Subject: [PATCH 242/254] Handling response in data method in updates2stable


---

diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index 1a27be6..0ee6c90 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -53,26 +53,30 @@ def data(session, widget, username):
     url = bodhiurl + query
     headers = {'Accept': 'application/json'}
     response = requests.get(url, headers=headers)
-    data = response.json()
-
-    # Limit it this to only the updates that haven't already requested stable
-    # but which can actually be pushed to stable now.
-    data['updates'] = [
-        update for update in data['updates']
-        if update['request'] is None and
-        any([giveaway in comment['text'] for comment in update['comments']])
-    ]
-
-    # Stuff some useful information in there.
-    baseurl = 'https://apps.fedoraproject.org/packages/images/icons/'
-    for update in data['updates']:
-        build = update['builds'][0]
-        nvr = build['nvr']
-        package = parse_nvr(nvr)
-        update['icon'] = baseurl + package[0] + '.png'
-        update['link'] = bodhiurl + update['title']
-
-    return data
+    if response.status_code == 200:
+        data = response.json()
+
+        # Limit it this to only the updates that haven't already requested stable
+        # but which can actually be pushed to stable now.
+        data['updates'] = [
+            update for update in data['updates']
+            if update['request'] is None and
+            any([giveaway in comment['text'] for comment in update['comments']])
+        ]
+
+        # Stuff some useful information in there.
+        baseurl = 'https://apps.fedoraproject.org/packages/images/icons/'
+        for update in data['updates']:
+            build = update['builds'][0]
+            nvr = build['nvr']
+            package = parse_nvr(nvr)
+            update['icon'] = baseurl + package[0] + '.png'
+            update['link'] = bodhiurl + update['title']
+
+        return data
+    else:
+        data = {}
+        return data
 
 
 def parse_nvr(nvr):

From 9dfc2a77018073ee69ffcd423ac881248ee745ca Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jan 13 2016 14:58:33 +0000
Subject: [PATCH 243/254] Merge #69 `Handling response in data method in updates2stable`


---

diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index 1a27be6..0ee6c90 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -53,26 +53,30 @@ def data(session, widget, username):
     url = bodhiurl + query
     headers = {'Accept': 'application/json'}
     response = requests.get(url, headers=headers)
-    data = response.json()
-
-    # Limit it this to only the updates that haven't already requested stable
-    # but which can actually be pushed to stable now.
-    data['updates'] = [
-        update for update in data['updates']
-        if update['request'] is None and
-        any([giveaway in comment['text'] for comment in update['comments']])
-    ]
-
-    # Stuff some useful information in there.
-    baseurl = 'https://apps.fedoraproject.org/packages/images/icons/'
-    for update in data['updates']:
-        build = update['builds'][0]
-        nvr = build['nvr']
-        package = parse_nvr(nvr)
-        update['icon'] = baseurl + package[0] + '.png'
-        update['link'] = bodhiurl + update['title']
-
-    return data
+    if response.status_code == 200:
+        data = response.json()
+
+        # Limit it this to only the updates that haven't already requested stable
+        # but which can actually be pushed to stable now.
+        data['updates'] = [
+            update for update in data['updates']
+            if update['request'] is None and
+            any([giveaway in comment['text'] for comment in update['comments']])
+        ]
+
+        # Stuff some useful information in there.
+        baseurl = 'https://apps.fedoraproject.org/packages/images/icons/'
+        for update in data['updates']:
+            build = update['builds'][0]
+            nvr = build['nvr']
+            package = parse_nvr(nvr)
+            update['icon'] = baseurl + package[0] + '.png'
+            update['link'] = bodhiurl + update['title']
+
+        return data
+    else:
+        data = {}
+        return data
 
 
 def parse_nvr(nvr):

From fc3fa854cb92803f149eef58166f6acacc1ac099 Mon Sep 17 00:00:00 2001
From: Shalini Roy <shaliniroy012@gmail.com>
Date: Jan 13 2016 17:42:31 +0000
Subject: [PATCH 244/254] Fixed typo


---

diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index 0ee6c90..8b0d802 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -56,7 +56,7 @@ def data(session, widget, username):
     if response.status_code == 200:
         data = response.json()
 
-        # Limit it this to only the updates that haven't already requested stable
+        # Limit this to only the updates that haven't already requested stable
         # but which can actually be pushed to stable now.
         data['updates'] = [
             update for update in data['updates']

From ca6927aadf2701e612395dd16be0fd3c8a720f54 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jan 13 2016 18:03:45 +0000
Subject: [PATCH 245/254] Merge #70 `Fixed typo`


---

diff --git a/hubs/widgets/workflow/updates2stable.py b/hubs/widgets/workflow/updates2stable.py
index 0ee6c90..8b0d802 100644
--- a/hubs/widgets/workflow/updates2stable.py
+++ b/hubs/widgets/workflow/updates2stable.py
@@ -56,7 +56,7 @@ def data(session, widget, username):
     if response.status_code == 200:
         data = response.json()
 
-        # Limit it this to only the updates that haven't already requested stable
+        # Limit this to only the updates that haven't already requested stable
         # but which can actually be pushed to stable now.
         data['updates'] = [
             update for update in data['updates']

From 8cce3561d0fa8613d594a98fe0056c793eb1e35a Mon Sep 17 00:00:00 2001
From: Shalini Roy <shaliniroy012@gmail.com>
Date: Jan 13 2016 18:17:28 +0000
Subject: [PATCH 246/254] Changed generator implementation to list in manage_subscription method


---

diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
index db23691..d1b59cf 100644
--- a/hubs/widgets/subscriptions.py
+++ b/hubs/widgets/subscriptions.py
@@ -53,10 +53,9 @@ def data(session, widget, username):
 
 # function hyperlinks the hubs in the subscription widget
 def manage_subscriptions(items):
-    for index, item in enumerate(items[0:3]):
-        link = '<a href="{link}">{item}</a>'.format(link=flask.url_for(
-            'hub', name=item), item=item)
-        yield link
+    return ['<a href="{link}">{item}</a>'.format(link=flask.url_for('hub',
+            name=item), item=item) for index, item
+            in enumerate(items[0:3])]
 
 
 def should_invalidate(message, session, widget):

From 64c07cdfc4a8c1a7d7f8f460331c597d52b3fda2 Mon Sep 17 00:00:00 2001
From: Shalini Roy <shaliniroy012@gmail.com>
Date: Jan 13 2016 18:36:25 +0000
Subject: [PATCH 247/254] Splited into multiple lines for better readability


---

diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
index d1b59cf..395ee0c 100644
--- a/hubs/widgets/subscriptions.py
+++ b/hubs/widgets/subscriptions.py
@@ -53,9 +53,12 @@ def data(session, widget, username):
 
 # function hyperlinks the hubs in the subscription widget
 def manage_subscriptions(items):
-    return ['<a href="{link}">{item}</a>'.format(link=flask.url_for('hub',
-            name=item), item=item) for index, item
-            in enumerate(items[0:3])]
+    return [
+        '<a href="{link}">{item}</a>'.format(
+            link=flask.url_for('hub', name=item),
+            item=item,
+        ) for index, item in enumerate(items[0:3])
+    ]
 
 
 def should_invalidate(message, session, widget):

From 68c4ea2d019f9b8af47926a67bed247ba22c8644 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jan 13 2016 19:18:51 +0000
Subject: [PATCH 248/254] Merge #71 `Changed generator implementation to list in manage_subscription method`


---

diff --git a/hubs/widgets/subscriptions.py b/hubs/widgets/subscriptions.py
index db23691..395ee0c 100644
--- a/hubs/widgets/subscriptions.py
+++ b/hubs/widgets/subscriptions.py
@@ -53,10 +53,12 @@ def data(session, widget, username):
 
 # function hyperlinks the hubs in the subscription widget
 def manage_subscriptions(items):
-    for index, item in enumerate(items[0:3]):
-        link = '<a href="{link}">{item}</a>'.format(link=flask.url_for(
-            'hub', name=item), item=item)
-        yield link
+    return [
+        '<a href="{link}">{item}</a>'.format(
+            link=flask.url_for('hub', name=item),
+            item=item,
+        ) for index, item in enumerate(items[0:3])
+    ]
 
 
 def should_invalidate(message, session, widget):

From e10608c4354e189e089af0b238a4a062f87fde1c Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jan 21 2016 14:29:46 +0000
Subject: [PATCH 249/254] Also, in long_form.


---

diff --git a/hubs/widgets/feed.py b/hubs/widgets/feed.py
index 77a57ab..68af7eb 100644
--- a/hubs/widgets/feed.py
+++ b/hubs/widgets/feed.py
@@ -115,17 +115,20 @@ def data(session, widget, username, fmn_context):
     for match in matches:
         match['markup'] = match['subtitle']
         for username in match['usernames']:
-            match['markup'] = match['markup'].replace(
-                username, '<a href="{url}">@{username}</a>'.format(
-                    url=flask.url_for('hub', name=username),
-                    username=username,
-                ))
+            args = (username, '<a href="{url}">@{username}</a>'.format(
+                url=flask.url_for('hub', name=username),
+                username=username,
+            ))
+            match['markup'] = match['markup'].replace(*args)
+            match['long_form'] = match['long_form'].replace(*args)
+
         for package in match['packages']:
-            match['markup'] = match['markup'].replace(
-                package, '<a href="{url}">{package}</a>'.format(
-                    url='https://apps.fedoraproject.org/packages/' + package,
-                    package=package,
-                ))
+            args = (package, '<a href="{url}">{package}</a>'.format(
+                url='https://apps.fedoraproject.org/packages/' + package,
+                package=package,
+            ))
+            match['markup'] = match['markup'].replace(*args)
+            match['long_form'] = match['long_form'].replace(*args)
 
 
     return dict(

From 3d86b68b89438b1230c4b531aabb44221ccc6726 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jan 21 2016 16:00:40 +0000
Subject: [PATCH 250/254] A first test for the test suite.


---

diff --git a/.gitignore b/.gitignore
index 0e32795..80d44bf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ fedmsg.d/fas_credentials.py
 node*
 build/
 scratch/
+hubs/tests/vcr-request-data
diff --git a/hubs/tests/__init__.py b/hubs/tests/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/hubs/tests/__init__.py
diff --git a/hubs/tests/test_widgets/__init__.py b/hubs/tests/test_widgets/__init__.py
new file mode 100644
index 0000000..dcf90f9
--- /dev/null
+++ b/hubs/tests/test_widgets/__init__.py
@@ -0,0 +1,55 @@
+from os.path import dirname
+import unittest
+
+import vcr
+
+import hubs.models
+
+cassette_dir = dirname(dirname(__file__)) + '/vcr-request-data/'
+
+
+class WidgetTest(unittest.TestCase):
+    def setUp(self):
+        filename = cassette_dir + self.id()
+        self.vcr = vcr.use_cassette(filename, record_mode='new_episodes')
+        self.vcr.__enter__()
+
+        import hubs.app
+        hubs.app.fedmsg_config = {
+            'hubs.sqlalchemy.uri': 'sqlite://',  # in memory
+        }
+        hubs.app.session = hubs.models.init(
+            hubs.app.fedmsg_config['hubs.sqlalchemy.uri'],
+            create=True,
+        )
+        self.app = hubs.app.app.test_client()
+        self.app.testing = True
+        self.session = hubs.app.session
+        self.populate()
+
+    def tearDown(self):
+        self.vcr.__exit__()
+        self.session.remove()
+
+
+    def populate(self):
+        for user in ['devyani7', 'dhrish', 'shalini', 'ralph', 'decause']:
+            openid = '%s.id.fedoraproject.org' % user
+            fullname = user.title()
+            hubs.models.User.get_or_create(
+                hubs.app.session, openid=openid, fullname=fullname)
+
+        for team in ['i18n', 'infra']:
+            hub = hubs.models.Hub(name=team, summary="the %s team" % team)
+            hubs.app.session.add(hub)
+
+
+    # TODO - test that it is in the registry
+    # TODO - test that it has all the things it needs
+
+    def widget_instance(self, hubname, plugin):
+        hub = hubs.models.Hub.by_name(self.session, hubname)
+        for widget in hub.widgets:
+            if widget.plugin == plugin:
+                return widget
+        raise KeyError("No such widget found for %s/%s" % (hubname, plugin))
diff --git a/hubs/tests/test_widgets/test_badges.py b/hubs/tests/test_widgets/test_badges.py
new file mode 100644
index 0000000..9005b2f
--- /dev/null
+++ b/hubs/tests/test_widgets/test_badges.py
@@ -0,0 +1,15 @@
+import json
+
+import hubs.tests.test_widgets
+
+
+class TestBadges(hubs.tests.test_widgets.WidgetTest):
+    plugin = 'badges'  # The name in hubs.widgets.registry
+
+    def test_data_simple(self):
+        widget = self.widget_instance('ralph', self.plugin)
+        response = self.app.get('/ralph/%i/json/' % widget.idx)
+        assert response.status_code == 200, response.status_code
+        data = json.loads(response.data)
+        self.assertEquals(data['plugin'], 'badges')
+        assert 'assertions' in data['data'], data['data'].keys()
diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py
index 416f7d6..c5d1e9a 100644
--- a/hubs/widgets/__init__.py
+++ b/hubs/widgets/__init__.py
@@ -32,7 +32,7 @@ registry = {
     'subscriptions': subscriptions,
     'cobwebs': cobwebs,
     'meetings': meetings,
-    'pagure_pr': pagure_pr,    
+    'pagure_pr': pagure_pr,
 
     'workflow.pendingacls': pendingacls,
     'workflow.updates2stable': updates2stable,
diff --git a/hubs/widgets/test.py b/hubs/widgets/test.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/hubs/widgets/test.py
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..963de6b
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,4 @@
+[nosetests]
+verbosity=2
+nocapture=1
+with-yanc=1
diff --git a/test-requirements.txt b/test-requirements.txt
new file mode 100644
index 0000000..c1358b7
--- /dev/null
+++ b/test-requirements.txt
@@ -0,0 +1,4 @@
+nose
+vcrpy
+mock
+yanc

From 77da1c772f8f0b6200611e794bb07f29b4094201 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jan 21 2016 16:11:43 +0000
Subject: [PATCH 251/254] Some initial tests for should_invalidate


---

diff --git a/hubs/tests/test_widgets/__init__.py b/hubs/tests/test_widgets/__init__.py
index dcf90f9..8b732c3 100644
--- a/hubs/tests/test_widgets/__init__.py
+++ b/hubs/tests/test_widgets/__init__.py
@@ -1,6 +1,7 @@
 from os.path import dirname
 import unittest
 
+import requests
 import vcr
 
 import hubs.models
@@ -31,7 +32,6 @@ class WidgetTest(unittest.TestCase):
         self.vcr.__exit__()
         self.session.remove()
 
-
     def populate(self):
         for user in ['devyani7', 'dhrish', 'shalini', 'ralph', 'decause']:
             openid = '%s.id.fedoraproject.org' % user
@@ -53,3 +53,11 @@ class WidgetTest(unittest.TestCase):
             if widget.plugin == plugin:
                 return widget
         raise KeyError("No such widget found for %s/%s" % (hubname, plugin))
+
+    @staticmethod
+    def get_fedmsg(idx):
+        url = 'https://apps.fedoraproject.org/datagrepper/id'
+        response = requests.get(url, params=dict(id=idx))
+        if not bool(response):
+            raise IOError("Failed to talk to %r %r" % (response.url, response))
+        return response.json()
diff --git a/hubs/tests/test_widgets/test_badges.py b/hubs/tests/test_widgets/test_badges.py
index 9005b2f..4f668b1 100644
--- a/hubs/tests/test_widgets/test_badges.py
+++ b/hubs/tests/test_widgets/test_badges.py
@@ -13,3 +13,24 @@ class TestBadges(hubs.tests.test_widgets.WidgetTest):
         data = json.loads(response.data)
         self.assertEquals(data['plugin'], 'badges')
         assert 'assertions' in data['data'], data['data'].keys()
+
+    def test_should_invalidate_wrong_topic(self):
+        widget = self.widget_instance('ralph', self.plugin)
+        msg = self.get_fedmsg('2016-ebb84660-59e9-4e68-af8f-4e6f49348b88')
+        module = hubs.widgets.registry[widget.plugin]
+        result = module.should_invalidate(msg, self.session, widget)
+        assert not result
+
+    def test_should_invalidate_wrong_user(self):
+        widget = self.widget_instance('ralph', self.plugin)
+        msg = self.get_fedmsg('2016-e371c7f6-bc8e-4632-8e33-b9102dc30b5f')
+        module = hubs.widgets.registry[widget.plugin]
+        result = module.should_invalidate(msg, self.session, widget)
+        assert not result
+
+    def test_should_invalidate_good_match(self):
+        widget = self.widget_instance('ralph', self.plugin)
+        msg = self.get_fedmsg('2016-1fbb1135-681b-4d3b-9a40-d0f6ebd313f4')
+        module = hubs.widgets.registry[widget.plugin]
+        result = module.should_invalidate(msg, self.session, widget)
+        assert result

From bdb95af680cd1c637789f23120759390591eb1ef Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Jan 21 2016 16:17:18 +0000
Subject: [PATCH 252/254] Tests instructions.


---

diff --git a/README.rst b/README.rst
index f07a965..5d45d4d 100644
--- a/README.rst
+++ b/README.rst
@@ -58,6 +58,20 @@ the db alltogether, re-populates it, and restarts the app::
 
     $ rm /var/tmp/hubs.db; PYTHONPATH=. python populate.py; gunicorn -w 8 -t 240 --log-config logging.ini hubs.app:app
 
+Run the tests!
+--------------
+
+We have a test suite.  You should run it *before* you start working on some
+code, to make sure that nothing is broken before you start.  And you should run
+it after you finish your change, before you push, to verify that your change
+didn't inadvertently break something else.
+
+You can run it with::
+
+    $ pip install -r test-requirements.txt
+    $ PYTHONPATH=. nosetests
+
+
 Feed Widget - the Extra Mile
 ----------------------------
 

From 3222dedd21e9c4e2c98abc97f012380f553d64b0 Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Jan 21 2016 16:51:59 +0000
Subject: [PATCH 253/254] WIP : Updated according to coding standards


---

diff --git a/hubs/models.py b/hubs/models.py
index 79a481f..b80f22b 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -133,7 +133,7 @@ class Hub(BASE):
     avatar = sa.Column(sa.String(256), default=placekitten)
     header_img = sa.Column(sa.String(256), default=randomheader)
 
-    #fas_group = sa.Column(sa.String(32), nullable=False)
+    # fas_group = sa.Column(sa.String(32), nullable=False)
 
     @property
     def days_idle(self):
@@ -166,7 +166,7 @@ class Hub(BASE):
     @property
     def members(self):
         return [assoc.user for assoc in self.associations
-                if assoc.role == 'member' or assoc.role =='owner']
+                if assoc.role == 'member' or assoc.role == 'owner']
 
     @property
     def subscribers(self):
@@ -248,6 +248,7 @@ class Hub(BASE):
             'subscribers': [u.username for u in self.subscribers],
         }
 
+
 def _config_default(context):
     plugin_name = context.current_parameters['plugin']
     plugin = hubs.widgets.registry[plugin_name]
@@ -304,7 +305,6 @@ class User(BASE):
     fullname = sa.Column(sa.Text)
     created_on = sa.Column(sa.DateTime, default=datetime.datetime.utcnow)
 
-
     def __json__(self, session):
         return {
             'username': self.username,
@@ -313,17 +313,18 @@ class User(BASE):
             'fullname': self.fullname,
             'created_on': self.created_on,
             # We'll need hubs subscribed to, owned, etc..
-            #'hubs': [hub.idx for hub in self.hubx],
+            # 'hubs': [hub.idx for hub in self.hubx],
         }
 
     @property
     def ownerships(self):
         return [assoc.hub for assoc in self.associations
                 if assoc.role == 'owner']
+
     @property
     def memberships(self):
         return [assoc.hub for assoc in self.associations
-                if assoc.role == 'member' or assoc.role =='owner']
+                if assoc.role == 'member' or assoc.role == 'owner']
 
     @property
     def subscriptions(self):

From 1f82836595ce60304a30571c77d6a03cb0e89aba Mon Sep 17 00:00:00 2001
From: Devyani Kota <divs.passion.18@gmail.com>
Date: Mar 14 2016 16:48:06 +0000
Subject: [PATCH 254/254] Fixed issue #10: Added Subscribed_to stats and Subscribe/Unsubscribe button


---

diff --git a/hubs/models.py b/hubs/models.py
index b80f22b..e19cd3f 100644
--- a/hubs/models.py
+++ b/hubs/models.py
@@ -125,6 +125,7 @@ class Hub(BASE):
     summary = sa.Column(sa.String(128))
     created_on = sa.Column(sa.DateTime, default=datetime.datetime.utcnow)
     widgets = relation('Widget', backref=backref('hub'))
+    users = relation('Association', backref=backref('hubs'))
     left_width = sa.Column(sa.Integer, nullable=False, default=8)
     archived = sa.Column(sa.Boolean, default=False)
     user_hub = sa.Column(sa.Boolean, default=False)
@@ -304,6 +305,7 @@ class User(BASE):
     openid = sa.Column(sa.Text, primary_key=True)
     fullname = sa.Column(sa.Text)
     created_on = sa.Column(sa.DateTime, default=datetime.datetime.utcnow)
+    hubs = relation('Association', backref=backref('users'))
 
     def __json__(self, session):
         return {
diff --git a/hubs/widgets/fedmsgstats.py b/hubs/widgets/fedmsgstats.py
index b81a2cd..5ff412f 100644
--- a/hubs/widgets/fedmsgstats.py
+++ b/hubs/widgets/fedmsgstats.py
@@ -3,6 +3,7 @@ from hubs.widgets.chrome import panel
 
 from hubs.utils import commas
 
+import flask
 import jinja2
 import requests
 
@@ -16,13 +17,21 @@ template = jinja2.Template("""
 <div class="stats-container row">
   <div class="col-sm-7 col-md-12 col-lg-7">
   <table class="stats-table">
-    <tr><th>FedMsgs</th><th>Subscribers</th></tr>
-    <tr class="text-info"><td>{{fedmsgs_text}}</td><td class="text-right">{{subscribers_text}}</td></tr>
+    <tr><th>subscribers</th><th>Subscribed_to</th></tr>
+    <tr class="text-info"><td>{{subscribers_text}}</td><td class="text-center">{{subscribed_text}}</td></tr>
   </table>
   </div>
   <div class="col-sm-5 col-md-12 col-lg-5">
   {% if session['nickname'] != username %}
-  <div class="pull-right"><button class="btn btn-info">Subscribe</button></div>
+    {% if session['nickname'] in subscribers %}
+    <li><form action="{{hub_unsubscribe_url}}" method="POST">
+        <button class="btn btn-info"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span> Unsubscribe</button>
+    </form></li>
+    {% else %}
+    <li><form action="{{hub_subscribe_url}}" method="POST">
+        <button class="btn btn-default"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Subscribe</button>
+    </form></li>
+    {% endif %}
   {% endif %}
   </div>
 </div>
@@ -34,12 +43,19 @@ def data(session, widget, username):
     url = url.format(username=username)
     response = requests.get(url)
     fedmsgs = response.json()['total']
+    for assoc in widget.hub.users:
+        sub_list = [u.name for u in assoc.user.subscriptions]
+    subscribers = [u.username for u in widget.hub.subscribers]
     return dict(
         username=username,
         fedmsgs=fedmsgs,
-        subscribers=len(widget.hub.subscribers),
+        subscribers=subscribers,
+        subscribed_to=sub_list,
         fedmsgs_text=commas(fedmsgs),
-        subscribers_text=commas(len(widget.hub.subscribers)),
+        subscribers_text=commas(len(subscribers)),
+        subscribed_text=commas(len(sub_list)),
+        hub_subscribe_url=flask.url_for('hub_subscribe', hub=widget.hub.name),
+        hub_unsubscribe_url=flask.url_for('hub_unsubscribe', hub=widget.hub.name),
     )
 
 

