fix: move `build directory to resources/shop`

This commit is contained in:
Valentin Lab
2025-10-04 10:00:24 +02:00
parent 0d0e7c4652
commit c94d815e5a
93 changed files with 26 additions and 25 deletions

View File

114
resources/shop/css/main.css Normal file
View File

@@ -0,0 +1,114 @@
ul .jqtree_common {
list-style: none;
padding-left: 0;
}
.select2 {
width: 100%;
}
.select2-selection__choice, .select2-selection__choice__remove {
background-color: rgba(0,163,203, 1)!important;
color: #FFF!important;
}
.select2-container--default .select2-selection--single {
border: 1px solid #ced4da;
padding: .46875rem .75rem;
height: calc(2.25rem + 2px);
}
.select2-container--default .select2-selection--single {
border: 1px solid #ced4da;
padding: .46875rem .75rem;
height: calc(2.25rem + 2px);
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height: 31px!important;
right: 6px;
}
.navbar-green, .bg-green {
background-color: #527C39!important;
}
.green {
color: #527C39!important;
}
.sidebar-dark-green, .bg-dark-green {
background-color: #344F16!important;
}
.dark-green {
color: #344F16!important;
}
.bg-yellow {
background-color: #F2B90F!important;
}
.yellow {
color: #F2B90F!important;
}
body {
font-size: 0.8rem;
}
.dashboard {
color: #527C39!important;
}
.dashboard .counter .index {
font-size: 1.6em;
font-weight: 600;
}
.dashboard .counter .value {
font-size: 24px;
font-weight: 600;
}
.dashboard .counter .table {
font-size: 14px;
font-weight: 600;
}
.dashtable .card-header {
padding: 4px 0 4px 10px;
background-color: #527C39!important;
color: white;
}
.dashtable .card-title {
margin: 0;
}
.dashtable td {
padding: 0px;
}
.dashtable .text-muted {
font-size: 0.8em;
}
.dashtable .counter .index {
color: #527C39!important;
font-size: 1.2em;
font-weight: 400;
}
.dashtable .counter .value {
color: #527C39!important;
font-size: 1.4em;
}
.bg-lighter {
background-color: rgba(255,255,255,0.05)!important;
}
.bg-darker {
background-color: rgba(0,0,0,0.05)!important;
}

View File

@@ -0,0 +1,185 @@
.drop-shadow {
position:relative;
float:left;
width:100%;
background:#fff;
box-shadow: 0px 10px 21px #344f17;
}
.drop-shadow:before,
.drop-shadow:after {
content:"";
position:absolute;
z-index:-2;
}
/* Lifted corners */
.lifted {
-moz-border-radius:4px;
border-radius:4px;
}
.lifted:before,
.lifted:after {
bottom:15px;
left:10px;
width:50%;
height:20%;
max-width:300px;
max-height:100px;
-webkit-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
-moz-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
-webkit-transform:rotate(-3deg);
-moz-transform:rotate(-3deg);
-ms-transform:rotate(-3deg);
-o-transform:rotate(-3deg);
transform:rotate(-3deg);
}
.lifted:after {
right:10px;
left:auto;
-webkit-transform:rotate(3deg);
-moz-transform:rotate(3deg);
-ms-transform:rotate(3deg);
-o-transform:rotate(3deg);
transform:rotate(3deg);
}
/* Curled corners */
.curled {
border:1px solid #efefef;
-moz-border-radius:0 0 120px 120px / 0 0 6px 6px;
border-radius:0 0 120px 120px / 0 0 6px 6px;
}
.curled:before,
.curled:after {
bottom:12px;
left:10px;
width:50%;
height:55%;
max-width:200px;
max-height:100px;
-webkit-box-shadow:0 8px 12px rgba(0, 0, 0, 0.5);
-moz-box-shadow:0 8px 12px rgba(0, 0, 0, 0.5);
box-shadow:0 8px 12px rgba(0, 0, 0, 0.5);
-webkit-transform:skew(-8deg) rotate(-3deg);
-moz-transform:skew(-8deg) rotate(-3deg);
-ms-transform:skew(-8deg) rotate(-3deg);
-o-transform:skew(-8deg) rotate(-3deg);
transform:skew(-8deg) rotate(-3deg);
}
.curled:after {
right:10px;
left:auto;
-webkit-transform:skew(8deg) rotate(3deg);
-moz-transform:skew(8deg) rotate(3deg);
-ms-transform:skew(8deg) rotate(3deg);
-o-transform:skew(8deg) rotate(3deg);
transform:skew(8deg) rotate(3deg);
}
/* Perspective */
.perspective:before {
left:80px;
bottom:5px;
width:50%;
height:35%;
max-width:200px;
max-height:50px;
-webkit-box-shadow:-80px 0 8px rgba(0, 0, 0, 0.4);
-moz-box-shadow:-80px 0 8px rgba(0, 0, 0, 0.4);
box-shadow:-80px 0 8px rgba(0, 0, 0, 0.4);
-webkit-transform:skew(50deg);
-moz-transform:skew(50deg);
-ms-transform:skew(50deg);
-o-transform:skew(50deg);
transform:skew(50deg);
-webkit-transform-origin:0 100%;
-moz-transform-origin:0 100%;
-ms-transform-origin:0 100%;
-o-transform-origin:0 100%;
transform-origin:0 100%;
}
.perspective:after {
display:none;
}
/* Raised shadow - no pseudo-elements needed */
.raised {
-webkit-box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
/* Curved shadows */
.curved:before {
top:10px;
bottom:10px;
left:0;
right:50%;
-webkit-box-shadow:0 0 15px rgba(0,0,0,0.6);
-moz-box-shadow:0 0 15px rgba(0,0,0,0.6);
box-shadow:0 0 15px rgba(0,0,0,0.6);
-moz-border-radius:10px / 100px;
border-radius:10px / 100px;
}
.curved-vt-2:before {
right:0;
}
.curved-hz-1:before {
top:50%;
bottom:0;
left:10px;
right:10px;
-moz-border-radius:100px / 10px;
border-radius:100px / 10px;
}
.curved-hz-2:before {
top:0;
bottom:0;
left:10px;
right:10px;
-moz-border-radius:100px / 10px;
border-radius:100px / 10px;
}
/* Rotated box */
.rotated {
-webkit-box-shadow:none;
-moz-box-shadow:none;
box-shadow:none;
-webkit-transform:rotate(-3deg);
-moz-transform:rotate(-3deg);
-ms-transform:rotate(-3deg);
-o-transform:rotate(-3deg);
transform:rotate(-3deg);
}
.rotated > :first-child:before {
content:"";
position:absolute;
z-index:-1;
top:0;
bottom:0;
left:0;
right:0;
background:#fff;
-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}

351
resources/shop/css/site.css Normal file
View File

@@ -0,0 +1,351 @@
body {
font-family: 'noto_sanscondensed', sans-serif;
background: rgb(52,91,71);
background: linear-gradient(180deg, rgba(52,91,71,1) 0%, rgba(45,81,63,1) 10%, rgba(24,48,39,1) 90%, rgba(28,54,45,1) 100%);
background-size: cover;
background-attachment: fixed;
}
.h1, h1 {
font-size: 2.5rem;
color: #527C39;
margin-bottom: .5rem;
font-weight: 500;
line-height: 1.2;
}
.h2, h2 {
font-size: 2rem;
color: #527C39;
}
.h3, h3 {
font-size: 1.75rem;
color: #527c39;
margin-bottom: .5rem;
font-weight: 500;
line-height: 1.2;
margin-top: 0;
}
.h4, h4 {
font-size: 1.2rem;
font-weight: bold;
color: #527C39;
text-transform: uppercase;
}
p {
margin-top: 0;
margin-bottom: 1rem;
color: #344f17;
}
a {
color: #669d48;
text-decoration: none;
}
a:hover, a:focus {
color: #527C39;
font-weight: bold;
}
a.active {
color: #F2B90F;
}
.card-body {
background-color: #eeeee8;
}
label {
margin-top: 0.5rem;
}
.gradient-green1 {
background: linear-gradient(to right top, #395339, #3c573a, #3f5b3c, #425f3d, #45633e);
}
.gradient-green2 {
background: linear-gradient(to right top, #2c5f45, #25503c, #1e4233, #19342a, #142620);
}
.gradient-yellow1 {
background-image: linear-gradient(to left top, #efeac9, #e3dcb8, #d7cea6, #cbc196, #bfb385);
}
.content-wrapper {
min-height: calc(100vh - 340px);
}
.bg-green {
background-color: #517C39;
}
.bg-green-dark {
background-color: #335012;
}
.bg-green-ultra-dark {
background: linear-gradient(to left top, #102723, #112723, #122724, #122724, #132724);
color: #a5b94f;
}
.bg-green-ultra-dark a {
color: #a5b94f;
}
.green-fluo {
color: #a5b94f!important;
}
.bg-green-light {
background-color: #f3f8f1;
}
.green, a.green {
color: #517C39 !important;
}
.green-dark, a.green-dark {
color: #335012;
text-decoration: none;
}
a.green-dark:hover {
color: #335012;
text-decoration: none;
text-shadow: 4px black;
}
.btn-success {
color: #fff;
border-color: #527c39;
background-color: #527c39;
}
.btn-success:hover {
color: #fff;
border-color: #669d48;
background-color: #669d48;
}
.btn-link {
color: #527c39;
}
.btn-green-dark {
color: #fff;
background-color: #344f17;
border: 1px solid #527C39;
}
.btn-green-dark:hover {
color: #335012;
background-color: #f1f7ee;
}
.green-light {
color: #F1F7EE;
}
.bg-yellow {
background-color: #f4c234;
color: #19342a;
}
.bg-yellow-light {
background-color: #f9e7b4;
}
.bg-grey {
background-color: #AAA;
}
.yellow {
color: #e5c551;
}
.yellow2 {
color: #F2B90F;
}
.light {
color: #F5F5F5;
}
.megamenu {
position: static
}
.megamenu .dropdown-menu {
background: none;
border: none;
width: 100%
}
div.megamenu ul.megamenu a, div#megamenu ul.megamenu span.separator
{
color: #517C39;
font-family: 'noto_sanscondensed', "Helvetica Neue", Helvetica, Arial, sans-serif;
letter-spacing: 0.05em;
font-weight: normal;
}
div.megamenu ul.megamenu li.megamenu.level1
{
list-style: none;
text-align: left;
cursor: pointer;
}
#navbarContent > ul > li:hover, #navbarContent > ul > li.show, #navbarContent > ul > li.active
{
border-bottom: 3px solid #F2B90F!important;
margin-bottom: -3px;
}
#navbarContent > ul > li > a
{
color: #FFF;
}
#navbarContent > ul > li.show > a, #navbarContent > ul > li:hover > a
{
color: #F2B90F;
}
.dropdown-menu a > div.w-100:hover, .dropdown-menu a > div.w-100.active
{
color: #335012;
background-color: #F2B90F;
}
.slick-prev:before, .slick-next:before {
color: #335012!important;
}
.shadow2 {
box-shadow: 0px 10px 21px #344f17;
}
.filters-width {
width: 192px;
}
.content {
position: relative;
width: 100%;
max-width: 400px;
margin: auto;
overflow: hidden
}
.content .content-overlay {
background: rgba(0, 0, 0, 0.7);
position: absolute;
height: 99%;
width: 100%;
left: 0;
top: 0;
bottom: 0;
right: 0;
opacity: 0;
-webkit-transition: all 0.4s ease-in-out 0s;
-moz-transition: all 0.4s ease-in-out 0s;
transition: all 0.4s ease-in-out 0s
}
.content:hover .content-overlay {
opacity: 1
}
.content-image {
width: 100%
}
.content-details {
position: absolute;
text-align: center;
padding-left: 1em;
padding-right: 1em;
width: 100%;
top: 50%;
left: 50%;
opacity: 0;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
-webkit-transition: all 0.3s ease-in-out 0s;
-moz-transition: all 0.3s ease-in-out 0s;
transition: all 0.3s ease-in-out 0s;
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
}
.content:hover .content-details {
top: 50%;
left: 50%;
opacity: 1
}
.content-details h3 {
color: #fff;
font-weight: 500;
letter-spacing: 0.15em;
margin-bottom: 0.5em;
text-transform: uppercase
}
.content-details p {
color: #fff;
font-size: 0.8em
}
.sp-lightbox {
z-index: 1300;
}
@font-face {
font-family: 'noto_sanscondensed';
src: url('/fonts/notosans-condensed/notosans-condensed-webfont.eot');
src: url('/fonts/notosans-condensed/notosans-condensed-webfont.eot?#iefix') format('embedded-opentype'),
url('/fonts/notosans-condensed/notosans-condensed-webfont.woff2') format('woff2'),
url('/fonts/notosans-condensed/notosans-condensed-webfont.woff') format('woff'),
url('/fonts/notosans-condensed/notosans-condensed-webfont.ttf') format('truetype'),
url('/fonts/notosans-condensed/notosans-condensed-webfont.svg#noto_sanscondensed') format('svg');
font-weight: normal;
font-style: normal;
}
@media (min-width: 992px){
.dropdown-menu .dropdown-toggle:after{
border-top: .3em solid transparent;
border-right: 0;
border-bottom: .3em solid transparent;
border-left: .3em solid;
}
.dropdown-menu .dropdown-menu{
margin-left:0; margin-right: 0;
}
.dropdown-menu li{
position: relative;
}
.nav-item .submenu{
display: none;
position: absolute;
left:100%; top:-7px;
}
.nav-item .submenu-left{
right:100%; left:auto;
}
.dropdown-menu > li:hover{ background-color: #f1f1f1 }
.dropdown-menu > li:hover > .submenu{
display: block;
}
}

View File

@@ -0,0 +1,448 @@
<?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" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata></metadata>
<defs>
<font id="noto_sanscondensed" horiz-adv-x="966" >
<font-face units-per-em="2048" ascent="1638" descent="-410" />
<missing-glyph horiz-adv-x="425" />
<glyph horiz-adv-x="0" />
<glyph horiz-adv-x="682" />
<glyph horiz-adv-x="0" />
<glyph horiz-adv-x="0" />
<glyph unicode="&#xd;" horiz-adv-x="425" />
<glyph unicode=" " horiz-adv-x="425" />
<glyph unicode="&#x09;" horiz-adv-x="425" />
<glyph unicode="&#xa0;" horiz-adv-x="425" />
<glyph unicode="!" horiz-adv-x="501" d="M135 113q0 133 117 133q51 0 83 -31t32 -102q0 -70 -34 -101.5t-81 -31.5q-53 0 -85 32.5t-32 100.5zM147 1462h207l-43 -1050h-121z" />
<glyph unicode="&#x22;" horiz-adv-x="794" d="M123 1462h192l-34 -528h-121zM479 1462h193l-35 -528h-121z" />
<glyph unicode="#" horiz-adv-x="1056" d="M43 440v133h215l49 338h-209v133h228l59 418h135l-61 -418h229l62 418h129l-60 -418h197v-133h-215l-47 -338h209v-133h-230l-63 -440h-133l63 440h-229l-62 -440h-131l62 440h-197zM391 573h227l50 338h-230z" />
<glyph unicode="$" d="M96 172v164q61 -33 150.5 -57.5t181.5 -28.5v432q-176 63 -254 143t-78 219q0 143 91.5 232.5t240.5 103.5v176h109v-172q172 -8 307 -73l-49 -140q-113 53 -258 66v-432q170 -63 255 -138t85 -214q0 -135 -88.5 -226.5t-251.5 -113.5v-232h-109v223q-98 2 -185 20.5 t-147 47.5zM252 1053q0 -82 38 -125t138 -80v385q-88 -10 -132 -59.5t-44 -120.5zM537 258q94 16 139 65.5t45 118.5q0 74 -41 118t-143 81v-383z" />
<glyph unicode="%" horiz-adv-x="1462" d="M88 1026q0 219 63.5 338t192.5 119q125 0 192.5 -119t67.5 -338t-66.5 -340t-193.5 -121q-125 0 -190.5 121t-65.5 340zM229 1026q0 -168 26 -251t89 -83q117 0 117 334q0 332 -119 332q-61 0 -87 -83t-26 -249zM358 0l603 1462h141l-602 -1462h-142zM860 442 q0 223 64.5 340t191.5 117q125 0 192.5 -120t67.5 -337q0 -221 -66.5 -340.5t-193.5 -119.5q-125 0 -190.5 121.5t-65.5 338.5zM1001 442q0 -168 27 -252t88 -84q117 0 117 336q0 332 -119 332q-59 0 -86 -83t-27 -249z" />
<glyph unicode="&#x26;" horiz-adv-x="1134" d="M74 373q0 139 63.5 237.5t190.5 188.5q-66 94 -102 180t-36 199q0 143 79 224t212 81t207 -81t74 -228q0 -125 -55.5 -219.5t-157.5 -178.5l262 -358q33 57 53.5 130t30.5 159h174q-16 -111 -54 -225.5t-97 -202.5l217 -279h-213l-115 156q-78 -82 -166 -129t-213 -47 q-174 0 -264 108.5t-90 284.5zM250 381q0 -115 53 -180.5t143 -65.5q82 0 147.5 39t117.5 109l-295 403q-86 -66 -126 -134.5t-40 -170.5zM356 1176q0 -70 27 -147t76 -140q78 59 109.5 130t31.5 157q0 167 -123 167q-55 0 -88 -43t-33 -124z" />
<glyph unicode="'" horiz-adv-x="436" d="M123 1462h192l-34 -528h-121z" />
<glyph unicode="(" horiz-adv-x="602" d="M94 565q0 256 76 490.5t219 414.5h152q-135 -199 -205 -429t-70 -474q0 -240 70 -470t203 -421h-150q-147 176 -221 405.5t-74 483.5z" />
<glyph unicode=")" horiz-adv-x="602" d="M59 1470h154q145 -180 219 -416.5t74 -488.5t-74 -482t-219 -407h-152q133 193 203 423.5t70 467.5q0 246 -69.5 476.5t-205.5 426.5z" />
<glyph unicode="*" horiz-adv-x="907" d="M78 1169l31 168l286 -84l-33 306h181l-33 -306l289 86l30 -170l-282 -22l194 -256l-151 -86l-137 280l-136 -280l-149 86l188 256z" />
<glyph unicode="+" horiz-adv-x="968" d="M74 651v142h338v415h143v-415h336v-142h-336v-411h-143v411h-338z" />
<glyph unicode="," horiz-adv-x="489" d="M78 -268q31 121 56.5 257t37.5 247h180l15 -23q-59 -252 -162 -481h-127z" />
<glyph unicode="-" horiz-adv-x="589" d="M63 469v164h465v-164h-465z" />
<glyph unicode="." horiz-adv-x="489" d="M129 113q0 68 30.5 100.5t84.5 32.5q51 0 83.5 -31t32.5 -102q0 -70 -32.5 -101.5t-83.5 -31.5t-83 32.5t-32 100.5z" />
<glyph unicode="/" horiz-adv-x="759" d="M33 -4l540 1470h162l-538 -1470h-164z" />
<glyph unicode="0" d="M88 731q0 373 95.5 562.5t297.5 189.5q199 0 297.5 -190.5t98.5 -561.5q0 -354 -92.5 -552.5t-303.5 -198.5q-127 0 -215 72.5t-133 237.5t-45 441zM264 731q0 -301 50.5 -448.5t166.5 -147.5q117 0 168 148.5t51 447.5t-51 448.5t-168 149.5t-167 -148.5t-50 -449.5z " />
<glyph unicode="1" d="M143 1145l349 317h147v-1462h-172v995q0 74 2 138.5t6 130.5q-18 -23 -41.5 -47.5t-58.5 -57.5l-135 -123z" />
<glyph unicode="2" d="M78 0v133l315 414q94 121 151.5 210t83 170t25.5 175q0 104 -55 165.5t-156 61.5q-78 0 -138 -27.5t-124 -84.5l-92 118q82 74 168 111t195 37q176 0 277 -102.5t101 -270.5q0 -117 -32.5 -214t-96 -193.5t-155.5 -210.5l-260 -328v-8h581v-156h-788z" />
<glyph unicode="3" d="M80 1343q80 70 172 105t205 35q180 0 277 -98.5t97 -260.5q0 -133 -67.5 -225t-192.5 -131v-8q143 -27 217 -119t74 -235q0 -190 -114.5 -308t-333.5 -118q-98 0 -178 15t-154 50v170q154 -86 319 -86q145 0 213 78t68 207q0 266 -332 266h-94v149h100q143 0 222 77 t79 202q0 109 -56 167t-159 58q-86 0 -149.5 -29.5t-128.5 -80.5z" />
<glyph unicode="4" d="M37 322v143l545 1008h182v-1002h170v-149h-170v-322h-170v322h-557zM197 471h397v528q0 66 2 137.5t6 123.5h-8q-16 -45 -35.5 -89.5t-38.5 -83.5z" />
<glyph unicode="5" d="M109 47v170q63 -41 141 -63.5t151 -22.5q141 0 216 92t75 238q0 143 -71.5 217t-208.5 74q-51 0 -106.5 -9.5t-102.5 -23.5l-76 63l47 680h608v-157h-460l-31 -426q41 8 87 14t93 6q184 0 290.5 -117.5t106.5 -312.5q0 -221 -118.5 -355t-339.5 -134q-188 0 -301 67z" />
<glyph unicode="6" d="M96 623q0 254 49.5 447.5t167 303t318.5 109.5q43 0 85 -6.5t77 -14.5v-153q-68 25 -156 24q-188 0 -275.5 -153.5t-95.5 -423.5h8q39 76 104.5 121t160.5 45q111 0 186.5 -58.5t114.5 -162t39 -236.5q0 -141 -44 -251t-128 -172t-207 -62q-184 0 -294 164t-110 479z M274 518q0 -86 22.5 -175t72 -149.5t129.5 -60.5q96 0 152.5 81t56.5 249q0 152 -52.5 231.5t-154.5 79.5q-72 0 -122 -37t-77 -96t-27 -123z" />
<glyph unicode="7" d="M72 1303v159h813v-131l-484 -1331h-184l490 1303h-635z" />
<glyph unicode="8" d="M78 365q0 135 68.5 231t191.5 166q-106 76 -163.5 167t-57.5 208q0 162 102 254t266 92q168 0 267.5 -92.5t99.5 -251.5q0 -125 -64.5 -216.5t-179.5 -156.5q121 -74 201 -164t80 -229q0 -176 -108.5 -284.5t-288.5 -108.5q-199 0 -306.5 104t-107.5 281zM250 365 q0 -104 59.5 -173t173.5 -69q115 0 174.5 69.5t59.5 180.5q0 86 -54.5 156.5t-160.5 132.5l-39 24q-113 -63 -163 -139t-50 -182zM287 1128q0 -100 52 -163.5t144 -118.5q96 55 146.5 120.5t50.5 161.5q0 98 -53.5 154.5t-145.5 56.5q-88 0 -141 -56t-53 -155z" />
<glyph unicode="9" d="M84 995q0 141 44 251t130 173.5t213 63.5q180 0 287.5 -162t107.5 -471q0 -256 -51 -451.5t-169 -307t-318 -111.5q-39 0 -87 6t-79 14v156q35 -12 76 -19.5t86 -7.5q104 0 173.5 47t111.5 128t62.5 184.5t24.5 216.5h-10q-37 -74 -103.5 -119t-160.5 -45 q-111 0 -186.5 58t-113.5 161.5t-38 234.5zM258 999q0 -152 51 -231.5t154 -79.5q74 0 125 39t76.5 100.5t25.5 128.5q0 55 -11 120t-37 122t-68 94t-105 37q-100 0 -155.5 -81t-55.5 -249z" />
<glyph unicode=":" horiz-adv-x="491" d="M131 113q0 133 115 133q51 0 82.5 -31t31.5 -102q0 -70 -32.5 -101.5t-81.5 -31.5q-53 0 -84 32.5t-31 100.5zM131 979q0 133 115 133q53 0 83.5 -32.5t30.5 -100.5q0 -70 -32.5 -102.5t-81.5 -32.5q-53 0 -84 32.5t-31 102.5z" />
<glyph unicode=";" horiz-adv-x="491" d="M70 -268q33 123 58.5 258t39.5 246h180l14 -23q-59 -252 -161 -481h-131zM129 979q0 68 30.5 100.5t84.5 32.5q53 0 84.5 -32.5t31.5 -100.5q0 -70 -33.5 -102.5t-82.5 -32.5q-53 0 -84 32.5t-31 102.5z" />
<glyph unicode="&#x3c;" horiz-adv-x="968" d="M72 674v100l821 428v-160l-631 -317l631 -305v-160z" />
<glyph unicode="=" horiz-adv-x="968" d="M78 436v142h809v-142h-809zM78 864v142h809v-142h-809z" />
<glyph unicode="&#x3e;" horiz-adv-x="968" d="M74 260v160l631 305l-631 317v160l821 -428v-100z" />
<glyph unicode="?" horiz-adv-x="722" d="M25 1386q70 47 146.5 72t164.5 25q164 0 252 -90t88 -252q0 -88 -21.5 -153.5t-63.5 -124t-104 -130.5q-49 -55 -76.5 -98t-38 -85t-10.5 -99v-39h-135v57q0 109 27 183.5t100 156.5q86 96 120 163.5t34 155.5q0 98 -47 149.5t-133 51.5q-70 0 -126.5 -21.5t-113.5 -56.5 zM184 113q0 68 31 100.5t84 32.5q51 0 83 -31t32 -102q0 -70 -33 -101.5t-82 -31.5q-53 0 -84 32.5t-31 100.5z" />
<glyph unicode="@" horiz-adv-x="1484" d="M104 584q0 266 84 466.5t239 311.5t361 108q182 0 316.5 -96t207 -262t72.5 -375q0 -227 -73.5 -367.5t-210.5 -140.5q-84 0 -130 50.5t-57 134.5h-10q-27 -90 -78 -137.5t-129 -47.5q-119 0 -185.5 98.5t-66.5 274.5q0 221 90.5 346t253.5 125q61 0 124 -11t110 -30 l-18 -424q0 -33 -1.5 -58.5t-1.5 -41.5q0 -86 28 -120t73 -34q70 0 107.5 99.5t37.5 287.5q0 184 -58.5 320.5t-160.5 211.5t-240 75q-141 0 -244.5 -64.5t-170 -172t-98 -242t-31.5 -273.5q0 -186 52 -332.5t158.5 -230.5t270.5 -84q90 0 178 23.5t154 56.5v-131 q-72 -35 -153 -54.5t-183 -19.5q-295 0 -456 198.5t-161 561.5zM590 598q0 -244 129 -244q66 0 98.5 81t40.5 245l14 262q-37 12 -92 12q-96 0 -143 -96t-47 -260z" />
<glyph unicode="A" horiz-adv-x="1038" d="M0 0l420 1464h194l422 -1464h-184l-127 455h-414l-127 -455h-184zM348 616h338l-125 469q-10 45 -24.5 106.5t-20.5 106.5q-20 -111 -45 -213z" />
<glyph unicode="B" horiz-adv-x="1083" d="M164 0v1462h352q217 0 329.5 -86t112.5 -270q0 -137 -58 -222t-171 -110v-8q127 -29 195.5 -111t68.5 -237q0 -193 -108.5 -305.5t-302.5 -112.5h-418zM340 152h217q131 0 192.5 71.5t61.5 204.5q0 125 -67.5 192.5t-204.5 67.5h-199v-536zM340 838h186q137 0 194.5 62.5 t57.5 189.5q0 221 -262 221h-176v-473z" />
<glyph unicode="C" horiz-adv-x="1028" d="M109 733q0 213 61 383t185 269.5t309 99.5q172 0 311 -78l-66 -150q-53 31 -113 50.5t-130 19.5q-125 0 -208 -80t-124 -215t-41 -301q0 -276 99.5 -435t279.5 -159q72 0 136 15.5t124 40.5v-156q-59 -29 -127 -43t-154 -14q-172 0 -292.5 91t-185 260t-64.5 402z" />
<glyph unicode="D" horiz-adv-x="1187" d="M164 0v1462h350q270 0 418.5 -182t148.5 -532q0 -371 -151.5 -559.5t-435.5 -188.5h-330zM340 156h141q211 0 313.5 147t102.5 438q0 287 -101.5 426.5t-293.5 139.5h-162v-1151z" />
<glyph unicode="E" horiz-adv-x="917" d="M164 0v1462h653v-155h-477v-465h448v-156h-448v-528h477v-158h-653z" />
<glyph unicode="F" horiz-adv-x="864" d="M164 0v1462h653v-155h-477v-527h448v-157h-448v-623h-176z" />
<glyph unicode="G" horiz-adv-x="1228" d="M109 733q0 221 69.5 390t205.5 264.5t339 95.5q100 0 192.5 -23.5t171.5 -68.5l-63 -150q-70 41 -146.5 63.5t-154.5 22.5q-207 0 -318.5 -155.5t-111.5 -440.5q0 -170 42 -305t133 -212t239 -77q133 0 227 31v446h-242v158h414v-719q-194 -73 -416 -73h-6 q-193 0 -320.5 96t-191 266t-63.5 391z" />
<glyph unicode="H" horiz-adv-x="1218" d="M164 0v1462h176v-620h541v620h176v-1462h-176v684h-541v-684h-176z" />
<glyph unicode="I" horiz-adv-x="614" d="M74 0v100l143 37v1188l-143 37v100h465v-100l-146 -37v-1188l146 -37v-100h-465z" />
<glyph unicode="J" horiz-adv-x="489" d="M-119 -215q29 -10 59.5 -15.5t65.5 -5.5q72 0 112 54.5t40 191.5v1452h174v-1456q0 -215 -82.5 -307t-229.5 -92q-82 0 -139 24v154z" />
<glyph unicode="K" horiz-adv-x="1021" d="M164 0v1462h176v-729q29 41 66.5 98.5t87.5 133.5l319 497h195l-428 -643l446 -819h-199l-368 682l-119 -125v-557h-176z" />
<glyph unicode="L" horiz-adv-x="854" d="M164 0v1462h176v-1304h475v-158h-651z" />
<glyph unicode="M" horiz-adv-x="1587" d="M164 0v1462h252l375 -1196h6l374 1196h254v-1462h-172v924q0 63 3.5 146t7.5 173h-9l-389 -1243h-153l-387 1243h-9q6 -90 9.5 -173t3.5 -148v-922h-166z" />
<glyph unicode="N" horiz-adv-x="1282" d="M164 0v1462h211l583 -1183h7q-4 78 -7.5 164.5t-3.5 158.5v860h166v-1462h-211l-585 1198h-9q6 -80 10.5 -164t4.5 -162v-872h-166z" />
<glyph unicode="O" horiz-adv-x="1267" d="M109 735q0 365 132 556.5t396 191.5q182 0 298 -98.5t171 -267.5t55 -384t-55 -386t-172 -269t-299 -98q-186 0 -302 100t-170 271t-54 384zM293 733q0 -289 85 -442.5t257 -153.5q170 0 255 152.5t85 443.5t-84 441.5t-254 150.5q-174 0 -259 -151.5t-85 -440.5z" />
<glyph unicode="P" horiz-adv-x="1007" d="M164 0v1462h305q238 0 350.5 -108.5t112.5 -323.5q0 -211 -113.5 -336t-361.5 -125h-117v-569h-176zM340 723h98q164 0 238 70.5t74 232.5q0 150 -69.5 216.5t-219.5 66.5h-121v-586z" />
<glyph unicode="Q" horiz-adv-x="1267" d="M109 735q0 365 132 556.5t396 191.5q254 0 389 -194t135 -556q0 -276 -82 -458.5t-235 -251.5l262 -371h-221l-213 332q-20 -4 -43 -4q-184 0 -299 101t-168 272t-53 382zM293 733q0 -289 85 -442.5t257 -153.5q170 0 255 152.5t85 443.5t-84 441.5t-254 150.5 q-174 0 -259 -151.5t-85 -440.5z" />
<glyph unicode="R" horiz-adv-x="1042" d="M164 0v1462h303q240 0 352.5 -103.5t112.5 -309.5q0 -154 -63.5 -249t-180.5 -145l328 -655h-199l-289 610h-188v-610h-176zM340 758h139q272 0 273 282q0 141 -70 203t-217 62h-125v-547z" />
<glyph unicode="S" horiz-adv-x="929" d="M86 45v178q70 -39 160 -60.5t172 -21.5q121 0 186.5 69t65.5 171q0 72 -24.5 121t-82 90t-155.5 86q-98 47 -168 101.5t-106 131t-36 191.5t50.5 201t141.5 133t210 47q94 0 178 -21.5t149 -52.5l-57 -160q-66 33 -134.5 52.5t-133.5 19.5q-109 0 -167.5 -60.5 t-58.5 -154.5q0 -74 24 -122t79 -88t151 -85q158 -74 237 -168t79 -246q0 -125 -52.5 -219t-148.5 -146t-225 -52q-199 0 -334 65z" />
<glyph unicode="T" horiz-adv-x="888" d="M20 1305v157h844v-157h-334v-1305h-174v1305h-336z" />
<glyph unicode="U" horiz-adv-x="1198" d="M152 475v987h176v-989q0 -172 69.5 -254t204.5 -82q137 0 201.5 84t64.5 254v987h176v-987q0 -242 -110.5 -368.5t-335.5 -126.5q-217 0 -331.5 125.5t-114.5 369.5z" />
<glyph unicode="V" horiz-adv-x="1001" d="M0 1462h184l254 -975q18 -72 33.5 -146.5t26.5 -143.5q10 70 26.5 144.5t36.5 150.5l256 970h184l-405 -1462h-195z" />
<glyph unicode="W" horiz-adv-x="1601" d="M12 1462h181l192 -895q20 -106 35.5 -199.5t23.5 -162.5q12 86 30 181t36 181l205 895h170l207 -897q18 -82 34.5 -174t28.5 -186q10 92 26.5 185t35.5 177l194 895h178l-325 -1462h-199l-217 940q-12 51 -25.5 128t-23.5 159q-6 -53 -18.5 -132t-30.5 -155l-211 -940 h-197z" />
<glyph unicode="X" horiz-adv-x="933" d="M12 0l363 764l-328 698h186l242 -555l242 555h184l-328 -706l349 -756h-191l-260 608l-274 -608h-185z" />
<glyph unicode="Y" horiz-adv-x="909" d="M0 1462h186l271 -696l268 696h184l-366 -893v-569h-176v563z" />
<glyph unicode="Z" horiz-adv-x="868" d="M61 0v135l543 1170h-530v157h727v-137l-545 -1167h561v-158h-756z" />
<glyph unicode="[" horiz-adv-x="649" d="M152 -328v1798h438v-141h-275v-1515h275v-142h-438z" />
<glyph unicode="\" horiz-adv-x="759" d="M33 1466h162l540 -1470h-164z" />
<glyph unicode="]" horiz-adv-x="649" d="M59 -186h275v1515h-275v141h439v-1798h-439v142z" />
<glyph unicode="^" horiz-adv-x="985" d="M45 639l391 825h101l405 -825h-162l-293 618l-282 -618h-160z" />
<glyph unicode="_" horiz-adv-x="899" d="M-4 -174h907v-129h-907v129z" />
<glyph unicode="`" horiz-adv-x="552" d="M82 1550v19h203q23 -47 55.5 -103.5t67 -109.5t63.5 -92v-23h-111q-41 37 -97 93.5t-106.5 114.5t-74.5 101z" />
<glyph unicode="a" horiz-adv-x="942" d="M78 307q0 164 104.5 253t306.5 97l144 7v69q0 131 -42 188.5t-130 57.5q-59 0 -117.5 -19.5t-120.5 -52.5l-53 127q66 39 145.5 61.5t167.5 22.5q168 0 243 -95t75 -280v-743h-129l-27 154h-6q-51 -88 -117.5 -131t-169.5 -43q-133 0 -203.5 93t-70.5 234zM252 309 q0 -98 42 -144t112 -46q102 0 164.5 82t62.5 235v107l-117 -6q-141 -6 -202.5 -63.5t-61.5 -164.5z" />
<glyph unicode="b" horiz-adv-x="1040" d="M145 0v1556h170v-423q0 -45 -2 -91.5t-6 -87.5h10q45 78 112 121t157 43q172 0 267 -143.5t95 -423.5q0 -279 -94 -425t-262 -146q-94 0 -160.5 40.5t-114.5 118.5h-12l-26 -139h-134zM315 532q0 -205 56.5 -306t183.5 -101q217 0 217 428q0 207 -53 312.5t-168 105.5 q-92 0 -143.5 -51.5t-72 -143.5t-20.5 -215v-29z" />
<glyph unicode="c" horiz-adv-x="792" d="M96 543q0 281 106.5 429t305.5 148q70 0 129 -15t104 -40l-51 -139q-41 18 -87 30.5t-87 12.5q-246 0 -246 -424q0 -418 244 -418q57 0 110.5 15.5t102.5 39.5v-145q-47 -29 -106.5 -43t-118.5 -14q-195 0 -300.5 139t-105.5 424z" />
<glyph unicode="d" horiz-adv-x="1040" d="M94 549q0 276 94.5 423.5t262.5 147.5q90 0 159.5 -43t114.5 -119h8q-4 41 -6 81t-2 73v444h172v-1556h-137l-25 141h-10q-45 -76 -110.5 -118.5t-159.5 -42.5q-172 0 -266.5 145t-94.5 424zM268 547q0 -207 54 -315.5t167 -108.5q123 0 180.5 95t57.5 286v53 q0 209 -55.5 311.5t-184.5 102.5q-113 0 -166 -110.5t-53 -313.5z" />
<glyph unicode="e" horiz-adv-x="946" d="M96 543q0 276 101.5 425.5t289.5 149.5q121 0 203 -63.5t124 -174t42 -249.5v-115h-590q6 -391 275 -391q141 0 272 76v-152q-66 -35 -134.5 -52t-152.5 -17q-145 0 -240.5 71.5t-142.5 198.5t-47 293zM268 651h424q-2 137 -51.5 232.5t-153.5 95.5q-201 0 -219 -328z " />
<glyph unicode="f" horiz-adv-x="573" d="M23 961v86l149 59v63q0 197 65.5 297.5t217.5 100.5q51 0 94 -9.5t84 -25.5l-43 -135q-31 8 -60.5 16t-60.5 8q-70 0 -97.5 -55t-27.5 -192v-74h205v-139h-205v-961h-172v961h-149z" />
<glyph unicode="g" horiz-adv-x="1040" d="M94 545q0 279 96.5 427t264.5 148q86 0 153.5 -40t116.5 -126h10l21 146h141v-1114q0 -231 -105.5 -354.5t-332.5 -123.5q-176 0 -301 66v160q145 -78 301 -78q131 0 199.5 71.5t68.5 227.5v35q0 31 1 76t5 86h-8q-94 -172 -274 -172q-168 0 -262.5 145t-94.5 420z M268 543q0 -213 55.5 -315.5t168.5 -102.5q236 0 235 377v49q0 219 -58.5 319.5t-183.5 100.5q-109 0 -163 -109.5t-54 -318.5z" />
<glyph unicode="h" horiz-adv-x="1034" d="M145 0v1556h170v-444q0 -92 -12 -162h12q39 82 111 125t158 43q158 0 233.5 -95t75.5 -286v-737h-170v709q0 137 -40 198.5t-130 61.5q-129 0 -183.5 -98.5t-54.5 -301.5v-569h-170z" />
<glyph unicode="i" horiz-adv-x="460" d="M133 1395q0 59 27.5 87.5t72.5 28.5q96 0 97 -116q0 -57 -25.5 -87t-71.5 -30q-45 0 -72.5 29.5t-27.5 87.5zM145 0v1100h170v-1100h-170z" />
<glyph unicode="j" horiz-adv-x="460" d="M-53 -324q45 -18 92 -18q51 0 78.5 40t27.5 132v1270h170v-1266q1 -324 -249 -326q-37 0 -66 6.5t-53 14.5v147zM133 1395q0 59 27.5 87.5t72.5 28.5q96 0 97 -116q0 -57 -25.5 -87t-71.5 -30q-45 0 -72.5 30t-27.5 87z" />
<glyph unicode="k" horiz-adv-x="901" d="M145 0v1556h170v-784q0 -49 -3 -103.5t-7 -103.5h8q16 31 42 70t46 67l277 398h188l-319 -438l342 -662h-191l-266 532l-117 -126v-406h-170z" />
<glyph unicode="l" horiz-adv-x="458" d="M145 0v1556h170v-1556h-170z" />
<glyph unicode="m" horiz-adv-x="1552" d="M145 0v1100h138l20 -150h10q39 84 106.5 127t155.5 43q102 0 167 -48t89 -130h13q83 178 276 178q150 0 221.5 -95t71.5 -294v-731h-170v707q0 137 -42 200.5t-124 63.5q-117 0 -166 -93.5t-49 -271.5v-606h-168v711q0 137 -40 198.5t-124 61.5q-127 0 -171 -108.5 t-44 -289.5v-573h-170z" />
<glyph unicode="n" horiz-adv-x="1034" d="M145 0v1100h138l20 -150h10q41 82 114 126t159 44q152 0 229.5 -93t77.5 -290v-737h-170v709q0 131 -40 196.5t-130 65.5q-131 0 -184.5 -96.5t-53.5 -303.5v-571h-170z" />
<glyph unicode="o" horiz-adv-x="1009" d="M94 551q0 272 103.5 420.5t308.5 148.5q190 0 299.5 -145t109.5 -424q0 -260 -104 -415.5t-309 -155.5q-195 0 -301.5 154.5t-106.5 416.5zM268 551q0 -207 57.5 -315.5t180.5 -108.5q121 0 179 108.5t58 315.5t-58 314.5t-179 107.5q-125 0 -181.5 -107.5t-56.5 -314.5z " />
<glyph unicode="p" horiz-adv-x="1040" d="M145 -492v1592h140l20 -150h10q45 82 112 126t159 44q172 0 267 -142t95 -427q0 -274 -94 -422.5t-262 -148.5q-94 0 -165 45t-112 120h-8q4 -41 6 -83t2 -74v-480h-170zM315 545q0 -213 55.5 -315.5t182.5 -102.5q111 0 165 108.5t54 315.5q0 205 -52 314.5t-169 109.5 q-123 0 -178.5 -96.5t-57.5 -294.5v-39z" />
<glyph unicode="q" horiz-adv-x="1040" d="M94 545q0 287 97.5 431t263.5 144q94 0 159.5 -42t110.5 -126h10l21 148h141v-1592h-172v459q0 35 3 83t7 102h-10q-45 -82 -112.5 -127t-163.5 -45q-164 0 -259.5 143t-95.5 422zM268 543q1 -416 224 -416q119 0 176 94t59 283v47q0 215 -56.5 317.5t-183.5 102.5 q-113 0 -166 -110.5t-53 -317.5z" />
<glyph unicode="r" horiz-adv-x="690" d="M145 0v1100h136l20 -193h10q41 94 103.5 153.5t148.5 59.5q25 0 51.5 -3t53.5 -11l-25 -170q-20 8 -44 11t-48 3q-68 0 -121 -48t-84 -132t-31 -192v-578h-170z" />
<glyph unicode="s" horiz-adv-x="780" d="M78 829q0 133 94 212t246 79q78 0 147.5 -19.5t132.5 -53.5l-61 -136q-51 29 -106.5 47.5t-114.5 18.5q-82 0 -128 -38t-46 -103q0 -66 46 -107t161 -100q119 -63 188.5 -134t69.5 -198q0 -154 -93.5 -235.5t-257.5 -81.5q-88 0 -156.5 18t-119.5 45v170 q51 -35 125 -60.5t149 -25.5q92 0 139.5 43t47.5 119q0 63 -43 108t-156 101q-121 61 -192.5 131.5t-71.5 199.5z" />
<glyph unicode="t" horiz-adv-x="593" d="M35 961v88l125 53l53 246h111v-248h223v-139h-223v-658q0 -90 28.5 -133t91.5 -43q59 0 115 20v-135q-64 -32 -156 -32h-6q-115 0 -180 71.5t-65 235.5v674h-117z" />
<glyph unicode="u" horiz-adv-x="1034" d="M139 381v719h170v-692q0 -143 41 -211t127 -68q135 0 187.5 97.5t52.5 291.5v582h172v-1100h-139l-21 147h-10q-41 -82 -112.5 -124.5t-157.5 -42.5q-164 0 -237 105t-73 296z" />
<glyph unicode="v" horiz-adv-x="841" d="M6 1100h176l174 -651q16 -63 33 -134t27 -135h8q4 41 20.5 105.5t34.5 132.5l180 682h179l-322 -1100h-192z" />
<glyph unicode="w" horiz-adv-x="1349" d="M20 1100h173l122 -559q16 -86 34 -176.5t28 -167.5h6q10 66 24.5 152.5t36.5 174.5l138 576h188l135 -578q16 -59 32.5 -145t29.5 -180h6q4 43 17.5 112.5t29.5 149.5l141 641h170l-262 -1100h-197l-145 651q-14 68 -27.5 136.5t-21.5 121.5h-6q-8 -57 -20.5 -124.5 t-28.5 -133.5l-154 -651h-195z" />
<glyph unicode="x" horiz-adv-x="860" d="M31 0l301 565l-283 535h184l199 -404l201 404h184l-287 -541l299 -559h-184l-215 428l-217 -428h-182z" />
<glyph unicode="y" horiz-adv-x="843" d="M6 1100h178l176 -625q18 -66 35 -132.5t27 -131.5h8q8 55 24.5 123.5t37.5 142.5l170 623h176l-369 -1262q-49 -164 -124 -247t-202 -83q-33 0 -61.5 4.5t-54.5 12.5v145q20 -4 44.5 -8t47.5 -4q70 0 109.5 48t72.5 157l41 141z" />
<glyph unicode="z" horiz-adv-x="722" d="M59 0v115l408 843h-383v142h571v-125l-405 -834h420v-141h-611z" />
<glyph unicode="{" horiz-adv-x="751" d="M76 504v133q111 0 165 43t54 154v307q0 322 377 325v-139q-102 -4 -155.5 -47t-53.5 -147v-304q0 -113 -47 -174t-154 -80v-10q109 -20 155 -83.5t46 -170.5v-305q0 -100 51 -146t158 -48v-140q-186 4 -281.5 83t-95.5 245v305q0 100 -49 149.5t-170 49.5z" />
<glyph unicode="|" horiz-adv-x="919" d="M383 -487v2048h154v-2048h-154z" />
<glyph unicode="}" horiz-adv-x="751" d="M78 -188q106 2 158.5 48t52.5 146v305q0 109 47 171.5t153 82.5v8q-106 20 -153 82t-47 172v306q0 104 -54.5 148t-156.5 46v139q186 -4 281.5 -82.5t95.5 -242.5v-305q0 -102 49 -150.5t172 -48.5v-133q-117 -2 -169 -47t-52 -152v-307q0 -324 -377 -326v140z" />
<glyph unicode="~" horiz-adv-x="968" d="M72 590v158q88 106 213 106q57 0 107 -16.5t116 -46.5q111 -55 184 -56q53 0 106.5 34t98.5 85v-158q-90 -102 -213 -102q-61 0 -109 14t-116 47q-106 55 -183 56q-49 0 -103 -33t-101 -88z" />
<glyph unicode="&#xa1;" horiz-adv-x="501" d="M137 977q0 133 117 133q47 0 81 -31.5t34 -101.5q0 -72 -33 -102.5t-82 -30.5q-117 0 -117 133zM145 -381l43 1057h123l41 -1057h-207z" />
<glyph unicode="&#xa2;" d="M162 743q0 256 84 399.5t241 170.5v170h119v-164q121 -10 203 -53l-51 -144q-90 45 -174 45q-127 0 -187.5 -104.5t-60.5 -317.5q0 -215 60.5 -316t183.5 -101q57 0 109 15t106 42v-147q-76 -45 -191 -58v-200h-117v204q-326 47 -325 559z" />
<glyph unicode="&#xa3;" d="M78 664v135h164v297q0 190 88 288.5t250 98.5q84 0 155.5 -22.5t132.5 -63.5l-63 -137q-55 35 -108.5 52t-110.5 17q-88 0 -129 -56t-41 -181v-293h301v-135h-301v-228q0 -106 -35 -172.5t-94 -105.5h602v-158h-807v145q76 31 118 100.5t42 188.5v230h-164z" />
<glyph unicode="&#xa4;" horiz-adv-x="1140" d="M115 358l133 134q-76 104 -76 231q0 125 76 229l-133 138l90 86l131 -134q102 78 233 78q133 0 230 -76l135 132l90 -86l-131 -136q74 -102 74 -231q0 -127 -74 -234l131 -133l-88 -88l-137 133q-100 -76 -230 -75q-133 0 -233 75l-131 -131zM295 723q0 -76 37 -138.5 t98.5 -99t138.5 -36.5q80 0 142.5 37.5t98.5 99t36 137.5q2 76 -36 138.5t-101.5 100t-139.5 37.5q-74 0 -136 -36.5t-100 -100t-38 -139.5z" />
<glyph unicode="&#xa5;" d="M59 1462h181l241 -696l240 696h180l-295 -774h215v-125h-254v-174h254v-123h-254v-266h-174v266h-252v123h252v174h-252v125h211z" />
<glyph unicode="&#xa6;" horiz-adv-x="919" d="M383 307h154v-794h-154v794zM383 760v794h154v-794h-154z" />
<glyph unicode="&#xa7;" horiz-adv-x="845" d="M94 102v150q53 -37 130 -61.5t149 -24.5q102 0 153.5 44t51.5 107q0 45 -19.5 76t-68 60.5t-134.5 74.5q-133 66 -196.5 130.5t-63.5 168.5q0 86 43 146.5t111 93.5q-137 90 -137 227q0 127 92 197t239 70q84 0 146.5 -16.5t128.5 -49.5l-53 -125q-59 31 -110.5 46.5 t-113.5 15.5q-88 0 -131 -36t-43 -93q0 -66 47 -105t152 -88q131 -59 200.5 -128t69.5 -181q0 -84 -36.5 -148.5t-94.5 -99.5q127 -94 127 -225q0 -135 -97 -213t-263 -78q-170 0 -279 65zM244 848q0 -66 48 -111t142 -90l66 -31q41 25 66.5 65t25.5 97q0 47 -18.5 82 t-68.5 69t-145 77q-53 -16 -84.5 -59.5t-31.5 -98.5z" />
<glyph unicode="&#xa8;" horiz-adv-x="1107" d="M289 1376q0 53 25.5 78t64.5 25q37 0 62.5 -24.5t25.5 -78.5q0 -53 -25.5 -79.5t-62.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5zM637 1376q0 53 26.5 78t63.5 25t63.5 -24.5t26.5 -78.5q0 -53 -26.5 -79.5t-63.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z" />
<glyph unicode="&#xa9;" horiz-adv-x="1701" d="M98 731q0 166 57.5 304.5t160 238.5t239.5 154.5t295 54.5q164 0 301 -57.5t238.5 -159t157 -238.5t55.5 -297q0 -164 -56.5 -301t-157 -238.5t-238.5 -156.5t-300 -55q-170 0 -308.5 58t-237.5 161.5t-152.5 239.5t-53.5 292zM213 731q0 -186 84 -331.5t227.5 -228.5 t325.5 -83q186 0 328.5 85t224.5 230.5t82 327.5t-82 328.5t-226.5 230.5t-326.5 84q-186 0 -330.5 -85t-225.5 -230.5t-81 -327.5zM475 729q0 205 109.5 331t304.5 126q66 0 131 -14.5t125 -43.5l-55 -118q-53 27 -102.5 38t-94.5 11q-125 0 -195.5 -86t-70.5 -240 q0 -332 262 -332q106 0 217 50v-127q-104 -50 -225 -50q-197 0 -301.5 120t-104.5 335z" />
<glyph unicode="&#xaa;" horiz-adv-x="651" d="M57 985q0 102 69 152.5t204 58.5l94 6v51q0 66 -28.5 93.5t-82.5 27.5q-43 0 -85 -13t-83 -34l-41 94q51 29 107 43.5t117 14.5q223 0 223 -232v-452h-90l-25 96q-37 -51 -86 -80t-114 -29q-82 0 -130.5 55.5t-48.5 147.5zM184 985q0 -98 92 -98q72 0 110 48t38 130v49 l-74 -6q-90 -4 -128 -34t-38 -89z" />
<glyph unicode="&#xab;" horiz-adv-x="972" d="M74 526v29l311 401l119 -63l-238 -352l238 -348l-119 -68zM467 526v29l313 401l117 -63l-235 -352l235 -348l-117 -68z" />
<glyph unicode="&#xac;" horiz-adv-x="968" d="M74 651v142h807v-543h-144v401h-663z" />
<glyph unicode="&#xad;" horiz-adv-x="589" d="M63 469v164h465v-164h-465z" />
<glyph unicode="&#xae;" horiz-adv-x="1701" d="M98 731q0 166 57.5 304.5t160 238.5t239.5 154.5t295 54.5q164 0 301 -57.5t238.5 -159t157 -238.5t55.5 -297q0 -164 -56.5 -301t-157 -238.5t-238.5 -156.5t-300 -55q-170 0 -308.5 58t-237.5 161.5t-152.5 239.5t-53.5 292zM213 731q0 -186 84 -331.5t227.5 -228.5 t325.5 -83q186 0 328.5 85t224.5 230.5t82 327.5t-82 328.5t-226.5 230.5t-326.5 84q-186 0 -330.5 -85t-225.5 -230.5t-81 -327.5zM578 293v883h245q322 0 322 -261q0 -88 -40 -146t-110 -91l209 -385h-166l-178 350h-135v-350h-147zM725 758h92q80 0 127 39t47 114 q0 141 -176 142h-90v-295z" />
<glyph unicode="&#xaf;" horiz-adv-x="931" d="M-8 1556v134h946v-134h-946z" />
<glyph unicode="&#xb0;" horiz-adv-x="786" d="M98 1194q0 133 83 210t212 77q127 0 211 -78t84 -209t-84 -208t-211 -77q-131 0 -213 78t-82 207zM221 1194q0 -80 46 -127t128 -47q80 0 125 48t45 126q0 80 -45 129t-125 49q-86 0 -130 -51t-44 -127z" />
<glyph unicode="&#xb1;" horiz-adv-x="968" d="M74 0v141h819v-141h-819zM74 680v141h338v416h143v-416h336v-141h-336v-412h-143v412h-338z" />
<glyph unicode="&#xb2;" horiz-adv-x="665" d="M51 850v115l199 223q63 72 101 123t55.5 95t17.5 97q0 57 -34 90t-91 33q-88 0 -176 -84l-70 90q49 53 112.5 84t141.5 31q123 0 190.5 -64.5t67.5 -171.5q0 -72 -25.5 -131t-77.5 -123.5t-130 -150.5l-121 -135h367v-121h-527z" />
<glyph unicode="&#xb3;" horiz-adv-x="665" d="M45 1649q57 47 119.5 72.5t138.5 25.5q123 0 190.5 -61.5t67.5 -163.5q0 -76 -37 -129.5t-102 -77.5v-8q166 -45 166 -217q0 -117 -83 -186.5t-226 -69.5q-125 0 -228 51v133q106 -63 228 -64q90 0 131 39t41 103q0 152 -193 151h-84v113h80q86 0 130 40t44 105 q0 59 -37 91t-96 32q-49 0 -92 -19.5t-88 -54.5z" />
<glyph unicode="&#xb4;" horiz-adv-x="552" d="M82 1241v23q53 76 102 155.5t84 149.5h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5h-111z" />
<glyph unicode="&#xb5;" horiz-adv-x="1040" d="M145 -492v1592h170v-705q0 -266 168 -266q135 0 187.5 101.5t52.5 295.5v574h170v-1100h-135l-23 150h-10q-37 -82 -99.5 -126t-140.5 -44q-115 0 -172 98h-6q4 -51 6 -105.5t2 -107.5v-357h-170z" />
<glyph unicode="&#xb6;" horiz-adv-x="1095" d="M121 1042q0 266 85 390t253 124h452v-1816h-118v1700h-156v-1700h-119v819q-43 -18 -98 -18q-145 0 -222 120.5t-77 380.5z" />
<glyph unicode="&#xb7;" horiz-adv-x="489" d="M129 723q0 68 30.5 100.5t84.5 32.5q51 0 83.5 -31t32.5 -102q0 -70 -32.5 -101.5t-83.5 -31.5t-83 32.5t-32 100.5z" />
<glyph unicode="&#xb8;" horiz-adv-x="428" d="M23 -369q39 -12 94 -12q137 0 137 98q0 53 -45 80t-121 37l76 166h104l-47 -104q80 -16 126 -61.5t46 -117.5q0 -102 -67.5 -155.5t-192.5 -53.5q-72 0 -110 13v110z" />
<glyph unicode="&#xb9;" horiz-adv-x="665" d="M78 1532l258 194h123v-876h-137v547q0 47 2 93t6 91q-16 -16 -33.5 -31.5t-32.5 -25.5l-117 -86z" />
<glyph unicode="&#xba;" horiz-adv-x="681" d="M63 1133q0 166 74 256t205 90q127 0 201.5 -88t74.5 -258q0 -168 -72.5 -259.5t-203.5 -91.5t-205 91.5t-74 259.5zM195 1133q0 -125 34.5 -183.5t110.5 -58.5q78 0 112.5 58.5t34.5 183.5q0 123 -34.5 180t-112.5 57q-70 0 -107.5 -57t-37.5 -180z" />
<glyph unicode="&#xbb;" horiz-adv-x="972" d="M76 193l235 348l-235 352l117 63l313 -401v-29l-313 -401zM469 193l236 348l-236 352l117 63l313 -401v-29l-313 -401z" />
<glyph unicode="&#xbc;" horiz-adv-x="1480" d="M59 1266l258 196h123v-876h-137v547q0 47 2 92t6 92q-16 -14 -32.5 -29.5t-32.5 -27.5l-117 -86zM299 0l793 1462h145l-795 -1462h-143zM852 190v101l350 590h139v-574h111v-117h-111v-190h-137v190h-352zM985 307h219v232v95t4 79q-6 -20 -23.5 -53t-35.5 -66z" />
<glyph unicode="&#xbd;" horiz-adv-x="1538" d="M53 1266l256 196h125v-876h-137v547q0 47 2 92t6 92q-18 -14 -34.5 -29.5t-30.5 -27.5l-117 -86zM262 0l791 1462h147l-794 -1462h-144zM926 0v115l196 221q66 72 105 123t56 95t17 97q0 57 -34.5 91t-94.5 34q-88 0 -174 -86l-69 92q49 53 112.5 84t141.5 31 q121 0 189.5 -64.5t68.5 -173.5q0 -72 -24.5 -130t-71 -115.5t-111.5 -128.5l-150 -164h367v-121h-524z" />
<glyph unicode="&#xbe;" horiz-adv-x="1523" d="M45 1382q57 49 118.5 75t137.5 26q123 0 191.5 -61.5t68.5 -164.5q0 -78 -39 -130t-102 -78v-7q168 -45 168 -217q0 -117 -83 -186.5t-226 -69.5q-129 0 -230 54v131q111 -63 230 -64q90 0 130 38t40 103q0 152 -193 152h-84v113h82q86 0 129 40t43 105q0 59 -36 91 t-97 32q-49 0 -92 -19.5t-88 -56.5zM344 0l793 1462h145l-793 -1462h-145zM895 190v101l350 590h137v-574h111v-117h-111v-190h-135v190h-352zM1026 307h221v232q0 49 1 95t3 79q-8 -20 -25.5 -53t-35.5 -66z" />
<glyph unicode="&#xbf;" horiz-adv-x="722" d="M45 -54q0 88 21.5 153.5t63.5 124t104 130.5q49 55 76.5 98t38 85t10.5 99v39h135v-57q0 -109 -27 -183.5t-100 -156.5q-86 -96 -120 -163.5t-34 -155.5q0 -98 47 -149.5t133 -51.5q70 0 126.5 21.5t113.5 56.5l63 -135q-70 -47 -146.5 -72t-164.5 -25q-164 0 -252 90 t-88 252zM307 974q0 70 33 101.5t82 31.5q53 0 84 -32.5t31 -100.5t-31 -100.5t-84 -32.5q-51 0 -83 31t-32 102z" />
<glyph unicode="&#xc0;" horiz-adv-x="1038" d="M0 0l420 1464h194l422 -1464h-184l-127 455h-414l-127 -455h-184zM217 1894v19h203q23 -47 55.5 -103.5t67 -109.5t63.5 -92v-23h-111q-41 37 -97 93.5t-106.5 114.5t-74.5 101zM348 616h338l-125 469q-10 45 -24.5 106.5t-20.5 106.5q-20 -111 -45 -213z" />
<glyph unicode="&#xc1;" horiz-adv-x="1038" d="M0 0l420 1464h194l422 -1464h-184l-127 455h-414l-127 -455h-184zM348 616h338l-125 469q-10 45 -24.5 106.5t-20.5 106.5q-20 -111 -45 -213zM453 1585v23q53 76 102 155.5t84 149.5h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5h-111z" />
<glyph unicode="&#xc2;" horiz-adv-x="1038" d="M0 0l420 1464h194l422 -1464h-184l-127 455h-414l-127 -455h-184zM225 1585v21q55 70 114.5 154.5t92.5 152.5h166q33 -70 95 -156t116 -151v-21h-103q-47 37 -94 87t-96 104q-51 -53 -99.5 -104.5t-89.5 -86.5h-102zM348 616h338l-125 469q-10 45 -24.5 106.5 t-20.5 106.5q-20 -111 -45 -213z" />
<glyph unicode="&#xc3;" horiz-adv-x="1038" d="M0 0l420 1464h194l422 -1464h-184l-127 455h-414l-127 -455h-184zM195 1583q10 104 54 179t132 75q53 0 101.5 -29.5t91.5 -58.5t84 -29q35 0 53 32t31 87h102q-10 -121 -58 -187.5t-126 -66.5q-51 0 -100.5 29.5t-94.5 59.5t-80 30q-66 0 -88 -121h-102zM348 616h338 l-125 469q-10 45 -24.5 106.5t-20.5 106.5q-20 -111 -45 -213z" />
<glyph unicode="&#xc4;" horiz-adv-x="1038" d="M0 0l420 1464h194l422 -1464h-184l-127 455h-414l-127 -455h-184zM252 1720q0 53 25.5 78t64.5 25q37 0 62.5 -24.5t25.5 -78.5q0 -53 -25.5 -79.5t-62.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5zM348 616h338l-125 469q-10 45 -24.5 106.5t-20.5 106.5q-20 -111 -45 -213z M600 1720q0 53 26.5 78t63.5 25t63.5 -24.5t26.5 -78.5q0 -53 -26.5 -79.5t-63.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z" />
<glyph unicode="&#xc5;" horiz-adv-x="1038" d="M0 0l420 1464h194l422 -1464h-184l-127 455h-414l-127 -455h-184zM299 1577q0 94 58.5 151.5t158.5 57.5q94 0 156.5 -55.5t62.5 -149.5q0 -98 -60.5 -155.5t-158.5 -57.5q-100 0 -158.5 57.5t-58.5 151.5zM348 616h338l-125 469q-10 45 -24.5 106.5t-20.5 106.5 q-20 -111 -45 -213zM405 1577q0 -49 29 -78.5t84 -29.5q47 0 79 29.5t32 78.5t-30 80t-81 31q-49 0 -81 -31t-32 -80z" />
<glyph unicode="&#xc6;" horiz-adv-x="1425" d="M-4 0l516 1462h809v-157h-459v-463h428v-156h-428v-528h459v-158h-635v455h-344l-158 -455h-188zM393 616h295v687h-61z" />
<glyph unicode="&#xc7;" horiz-adv-x="1028" d="M109 733q0 213 61 383t185 269.5t309 99.5q172 0 311 -78l-66 -150q-53 31 -113 50.5t-130 19.5q-125 0 -208 -80t-124 -215t-41 -301q0 -276 99.5 -435t279.5 -159q72 0 136 15.5t124 40.5v-156q-59 -29 -127 -43t-154 -14q-172 0 -292.5 91t-185 260t-64.5 402z M426 -369q39 -12 94 -12q137 0 137 98q0 53 -45 80t-121 37l76 166h104l-47 -104q80 -16 126 -61.5t46 -117.5q0 -102 -67.5 -155.5t-192.5 -53.5q-72 0 -110 13v110z" />
<glyph unicode="&#xc8;" horiz-adv-x="917" d="M164 0v1462h653v-155h-477v-465h448v-156h-448v-528h477v-158h-653zM211 1894v19h203q23 -47 55.5 -103.5t67 -109.5t63.5 -92v-23h-111q-41 37 -97 93.5t-106.5 114.5t-74.5 101z" />
<glyph unicode="&#xc9;" horiz-adv-x="917" d="M164 0v1462h653v-155h-477v-465h448v-156h-448v-528h477v-158h-653zM412 1585v23q53 76 102 155.5t84 149.5h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5h-111z" />
<glyph unicode="&#xca;" horiz-adv-x="917" d="M164 0v1462h653v-155h-477v-465h448v-156h-448v-528h477v-158h-653zM205 1585v21q55 70 114.5 154.5t92.5 152.5h166q33 -70 95 -156t116 -151v-21h-103q-47 37 -94 87t-96 104q-51 -53 -99.5 -104.5t-89.5 -86.5h-102z" />
<glyph unicode="&#xcb;" horiz-adv-x="917" d="M164 0v1462h653v-155h-477v-465h448v-156h-448v-528h477v-158h-653zM226 1720q0 53 25.5 78t64.5 25q37 0 62.5 -24.5t25.5 -78.5q0 -53 -25.5 -79.5t-62.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5zM574 1720q0 53 26.5 78t63.5 25t63.5 -24.5t26.5 -78.5q0 -53 -26.5 -79.5 t-63.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z" />
<glyph unicode="&#xcc;" horiz-adv-x="614" d="M21 1894v19h203q23 -47 55.5 -103.5t67 -109.5t63.5 -92v-23h-111q-41 37 -97 93.5t-106.5 114.5t-74.5 101zM74 0v100l143 37v1188l-143 37v100h465v-100l-146 -37v-1188l146 -37v-100h-465z" />
<glyph unicode="&#xcd;" horiz-adv-x="614" d="M74 0v100l143 37v1188l-143 37v100h465v-100l-146 -37v-1188l146 -37v-100h-465zM244 1585v23q53 76 102 155.5t84 149.5h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5h-111z" />
<glyph unicode="&#xce;" horiz-adv-x="614" d="M19 1585v21q55 70 114.5 154.5t92.5 152.5h166q33 -70 95 -156t116 -151v-21h-103q-47 37 -94 87t-96 104q-51 -53 -99.5 -104.5t-89.5 -86.5h-102zM74 0v100l143 37v1188l-143 37v100h465v-100l-146 -37v-1188l146 -37v-100h-465z" />
<glyph unicode="&#xcf;" horiz-adv-x="614" d="M41 1720q0 53 25.5 78t64.5 25q37 0 62.5 -24.5t25.5 -78.5q0 -53 -25.5 -79.5t-62.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5zM74 0v100l143 37v1188l-143 37v100h465v-100l-146 -37v-1188l146 -37v-100h-465zM389 1720q0 53 26.5 78t63.5 25t63.5 -24.5t26.5 -78.5 q0 -53 -26.5 -79.5t-63.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z" />
<glyph unicode="&#xd0;" horiz-adv-x="1187" d="M49 670v145h119v647h344q270 0 418.5 -182t148.5 -532q0 -371 -151.5 -559.5t-435.5 -188.5h-324v670h-119zM344 156h137q211 0 313.5 147.5t102.5 437.5q0 287 -101 426.5t-294 139.5h-158v-492h248v-145h-248v-514z" />
<glyph unicode="&#xd1;" horiz-adv-x="1282" d="M164 0v1462h211l583 -1183h7q-4 78 -7.5 164.5t-3.5 158.5v860h166v-1462h-211l-585 1198h-9q6 -80 10.5 -164t4.5 -162v-872h-166zM324 1583q10 104 54 179t132 75q53 0 101.5 -29.5t91.5 -58.5t84 -29q35 0 53 32t31 87h102q-10 -121 -58 -187.5t-126 -66.5 q-51 0 -100.5 29.5t-94.5 59.5t-80 30q-66 0 -88 -121h-102z" />
<glyph unicode="&#xd2;" horiz-adv-x="1267" d="M109 735q0 365 132 556.5t396 191.5q182 0 298 -98.5t171 -267.5t55 -384t-55 -386t-172 -269t-299 -98q-186 0 -302 100t-170 271t-54 384zM293 733q0 -289 85 -442.5t257 -153.5q170 0 255 152.5t85 443.5t-84 441.5t-254 150.5q-174 0 -259 -151.5t-85 -440.5z M340 1894v19h203q23 -47 55.5 -103.5t67 -109.5t63.5 -92v-23h-111q-41 37 -97 93.5t-106.5 114.5t-74.5 101z" />
<glyph unicode="&#xd3;" horiz-adv-x="1267" d="M109 735q0 365 132 556.5t396 191.5q182 0 298 -98.5t171 -267.5t55 -384t-55 -386t-172 -269t-299 -98q-186 0 -302 100t-170 271t-54 384zM293 733q0 -289 85 -442.5t257 -153.5q170 0 255 152.5t85 443.5t-84 441.5t-254 150.5q-174 0 -259 -151.5t-85 -440.5z M565 1585v23q53 76 102 155.5t84 149.5h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5h-111z" />
<glyph unicode="&#xd4;" horiz-adv-x="1267" d="M109 735q0 365 132 556.5t396 191.5q182 0 298 -98.5t171 -267.5t55 -384t-55 -386t-172 -269t-299 -98q-186 0 -302 100t-170 271t-54 384zM293 733q0 -289 85 -442.5t257 -153.5q170 0 255 152.5t85 443.5t-84 441.5t-254 150.5q-174 0 -259 -151.5t-85 -440.5z M344 1585v21q55 70 114.5 154.5t92.5 152.5h166q33 -70 95 -156t116 -151v-21h-103q-47 37 -94 87t-96 104q-51 -53 -99.5 -104.5t-89.5 -86.5h-102z" />
<glyph unicode="&#xd5;" horiz-adv-x="1267" d="M109 735q0 365 132 556.5t396 191.5q182 0 298 -98.5t171 -267.5t55 -384t-55 -386t-172 -269t-299 -98q-186 0 -302 100t-170 271t-54 384zM293 733q0 -289 85 -442.5t257 -153.5q170 0 255 152.5t85 443.5t-84 441.5t-254 150.5q-174 0 -259 -151.5t-85 -440.5z M315 1583q10 104 54 179t132 75q53 0 101.5 -29.5t91.5 -58.5t84 -29q35 0 53 32t31 87h102q-10 -121 -58 -187.5t-126 -66.5q-51 0 -100.5 29.5t-94.5 59.5t-80 30q-66 0 -88 -121h-102z" />
<glyph unicode="&#xd6;" horiz-adv-x="1267" d="M109 735q0 365 132 556.5t396 191.5q182 0 298 -98.5t171 -267.5t55 -384t-55 -386t-172 -269t-299 -98q-186 0 -302 100t-170 271t-54 384zM293 733q0 -289 85 -442.5t257 -153.5q170 0 255 152.5t85 443.5t-84 441.5t-254 150.5q-174 0 -259 -151.5t-85 -440.5z M375 1720q0 53 25.5 78t64.5 25q37 0 62.5 -24.5t25.5 -78.5q0 -53 -25.5 -79.5t-62.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5zM723 1720q0 53 26.5 78t63.5 25t63.5 -24.5t26.5 -78.5q0 -53 -26.5 -79.5t-63.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z" />
<glyph unicode="&#xd7;" horiz-adv-x="968" d="M86 424l297 299l-297 297l96 100l299 -299l301 301l101 -96l-301 -303l297 -299l-97 -98l-301 297l-297 -297z" />
<glyph unicode="&#xd8;" horiz-adv-x="1267" d="M109 735q0 365 132 556.5t396 191.5q172 0 293 -103l90 160l110 -61l-108 -195q139 -195 139 -551q0 -358 -134 -555.5t-392 -197.5q-174 0 -291 94l-90 -162l-111 57l107 199q-72 102 -106.5 243.5t-34.5 323.5zM291 733q0 -242 61 -383l498 879q-78 98 -213 98 q-174 0 -260 -152.5t-86 -441.5zM424 225q80 -90 211 -90q174 0 258 153.5t84 444.5q0 111 -14.5 203t-42.5 164z" />
<glyph unicode="&#xd9;" horiz-adv-x="1198" d="M152 475v987h176v-989q0 -172 69.5 -254t204.5 -82q137 0 201.5 84t64.5 254v987h176v-987q0 -242 -110.5 -368.5t-335.5 -126.5q-217 0 -331.5 125.5t-114.5 369.5zM313 1894v19h203q23 -47 55.5 -103.5t67 -109.5t63.5 -92v-23h-111q-41 37 -97 93.5t-106.5 114.5 t-74.5 101z" />
<glyph unicode="&#xda;" horiz-adv-x="1198" d="M152 475v987h176v-989q0 -172 69.5 -254t204.5 -82q137 0 201.5 84t64.5 254v987h176v-987q0 -242 -110.5 -368.5t-335.5 -126.5q-217 0 -331.5 125.5t-114.5 369.5zM526 1585v23q53 76 102 155.5t84 149.5h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5h-111z" />
<glyph unicode="&#xdb;" horiz-adv-x="1198" d="M152 475v987h176v-989q0 -172 69.5 -254t204.5 -82q137 0 201.5 84t64.5 254v987h176v-987q0 -242 -110.5 -368.5t-335.5 -126.5q-217 0 -331.5 125.5t-114.5 369.5zM309 1585v21q55 70 114.5 154.5t92.5 152.5h166q33 -70 95 -156t116 -151v-21h-103q-47 37 -94 87 t-96 104q-51 -53 -99.5 -104.5t-89.5 -86.5h-102z" />
<glyph unicode="&#xdc;" horiz-adv-x="1198" d="M152 475v987h176v-989q0 -172 69.5 -254t204.5 -82q137 0 201.5 84t64.5 254v987h176v-987q0 -242 -110.5 -368.5t-335.5 -126.5q-217 0 -331.5 125.5t-114.5 369.5zM336 1720q0 53 25.5 78t64.5 25q37 0 62.5 -24.5t25.5 -78.5q0 -53 -25.5 -79.5t-62.5 -26.5 q-39 0 -64.5 26.5t-25.5 79.5zM684 1720q0 53 26.5 78t63.5 25t63.5 -24.5t26.5 -78.5q0 -53 -26.5 -79.5t-63.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z" />
<glyph unicode="&#xdd;" horiz-adv-x="909" d="M0 1462h186l271 -696l268 696h184l-366 -893v-569h-176v563zM387 1585v23q53 76 102 155.5t84 149.5h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5h-111z" />
<glyph unicode="&#xde;" horiz-adv-x="997" d="M164 0v1462h176v-254h127q240 0 349.5 -107.5t109.5 -316.5q0 -141 -47.5 -246.5t-150.5 -164t-271 -58.5h-117v-315h-176zM340 471h100q166 0 237 72.5t71 230.5q0 143 -69 211t-218 68h-121v-582z" />
<glyph unicode="&#xdf;" horiz-adv-x="1042" d="M145 0v1180q0 190 101.5 288.5t271.5 98.5q160 0 253 -77.5t93 -227.5q0 -80 -32.5 -137.5t-75.5 -101.5t-76 -86t-33 -91t29 -90t102 -105q68 -61 110 -112.5t62.5 -104.5t20.5 -123q0 -162 -86 -246.5t-236 -84.5q-63 0 -122.5 14t-106.5 45v162q45 -29 99 -51.5 t120 -22.5q82 0 122 46t40 126q0 68 -34 120t-116 122q-100 88 -136 156.5t-36 138.5q0 74 32 123t75 90t74.5 89t31.5 117q0 82 -47 123t-131 41q-88 0 -143.5 -58t-55.5 -183v-1178h-170z" />
<glyph unicode="&#xe0;" horiz-adv-x="942" d="M78 307q0 164 104.5 253t306.5 97l144 7v69q0 131 -42 188.5t-130 57.5q-59 0 -117.5 -19.5t-120.5 -52.5l-53 127q66 39 145.5 61.5t167.5 22.5q168 0 243 -95t75 -280v-743h-129l-27 154h-6q-51 -88 -117.5 -131t-169.5 -43q-133 0 -203.5 93t-70.5 234zM223 1550v19 h203q23 -47 55.5 -103.5t67 -109.5t63.5 -92v-23h-111q-41 37 -97 93.5t-106.5 114.5t-74.5 101zM252 309q0 -98 42 -144t112 -46q102 0 164.5 82t62.5 235v107l-117 -6q-141 -6 -202.5 -63.5t-61.5 -164.5z" />
<glyph unicode="&#xe1;" horiz-adv-x="942" d="M78 307q0 164 104.5 253t306.5 97l144 7v69q0 131 -42 188.5t-130 57.5q-59 0 -117.5 -19.5t-120.5 -52.5l-53 127q66 39 145.5 61.5t167.5 22.5q168 0 243 -95t75 -280v-743h-129l-27 154h-6q-51 -88 -117.5 -131t-169.5 -43q-133 0 -203.5 93t-70.5 234zM252 309 q0 -98 42 -144t112 -46q102 0 164.5 82t62.5 235v107l-117 -6q-141 -6 -202.5 -63.5t-61.5 -164.5zM371 1241v23q53 76 102 155.5t84 149.5h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5h-111z" />
<glyph unicode="&#xe2;" horiz-adv-x="942" d="M78 307q0 164 104.5 253t306.5 97l144 7v69q0 131 -42 188.5t-130 57.5q-59 0 -117.5 -19.5t-120.5 -52.5l-53 127q66 39 145.5 61.5t167.5 22.5q168 0 243 -95t75 -280v-743h-129l-27 154h-6q-51 -88 -117.5 -131t-169.5 -43q-133 0 -203.5 93t-70.5 234zM188 1241v21 q55 70 114.5 154.5t92.5 152.5h166q33 -70 95 -156t116 -151v-21h-103q-47 37 -94 87t-96 104q-51 -53 -99.5 -104.5t-89.5 -86.5h-102zM252 309q0 -98 42 -144t112 -46q102 0 164.5 82t62.5 235v107l-117 -6q-141 -6 -202.5 -63.5t-61.5 -164.5z" />
<glyph unicode="&#xe3;" horiz-adv-x="942" d="M78 307q0 164 104.5 253t306.5 97l144 7v69q0 131 -42 188.5t-130 57.5q-59 0 -117.5 -19.5t-120.5 -52.5l-53 127q66 39 145.5 61.5t167.5 22.5q168 0 243 -95t75 -280v-743h-129l-27 154h-6q-51 -88 -117.5 -131t-169.5 -43q-133 0 -203.5 93t-70.5 234zM154 1239 q10 104 54 179t132 75q53 0 101.5 -29.5t91.5 -58.5t84 -29q35 0 53 32t31 87h102q-10 -121 -58 -187.5t-126 -66.5q-51 0 -100.5 29.5t-94.5 59.5t-80 30q-66 0 -88 -121h-102zM252 309q0 -98 42 -144t112 -46q102 0 164.5 82t62.5 235v107l-117 -6q-141 -6 -202.5 -63.5 t-61.5 -164.5z" />
<glyph unicode="&#xe4;" horiz-adv-x="942" d="M78 307q0 164 104.5 253t306.5 97l144 7v69q0 131 -42 188.5t-130 57.5q-59 0 -117.5 -19.5t-120.5 -52.5l-53 127q66 39 145.5 61.5t167.5 22.5q168 0 243 -95t75 -280v-743h-129l-27 154h-6q-51 -88 -117.5 -131t-169.5 -43q-133 0 -203.5 93t-70.5 234zM215 1376 q0 53 25.5 78t64.5 25q37 0 62.5 -24.5t25.5 -78.5q0 -53 -25.5 -79.5t-62.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5zM252 309q0 -98 42 -144t112 -46q102 0 164.5 82t62.5 235v107l-117 -6q-141 -6 -202.5 -63.5t-61.5 -164.5zM563 1376q0 53 26.5 78t63.5 25t63.5 -24.5 t26.5 -78.5q0 -53 -26.5 -79.5t-63.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z" />
<glyph unicode="&#xe5;" horiz-adv-x="942" d="M78 307q0 164 104.5 253t306.5 97l144 7v69q0 131 -42 188.5t-130 57.5q-59 0 -117.5 -19.5t-120.5 -52.5l-53 127q66 39 145.5 61.5t167.5 22.5q168 0 243 -95t75 -280v-743h-129l-27 154h-6q-51 -88 -117.5 -131t-169.5 -43q-133 0 -203.5 93t-70.5 234zM252 309 q0 -98 42 -144t112 -46q102 0 164.5 82t62.5 235v107l-117 -6q-141 -6 -202.5 -63.5t-61.5 -164.5zM262 1454q0 94 58.5 151.5t158.5 57.5q94 0 156.5 -55.5t62.5 -149.5q0 -98 -60.5 -155.5t-158.5 -57.5q-100 0 -158.5 57.5t-58.5 151.5zM368 1454q0 -49 29 -78.5 t84 -29.5q47 0 79 29.5t32 78.5t-30 80t-81 31q-49 0 -81 -31t-32 -80z" />
<glyph unicode="&#xe6;" horiz-adv-x="1460" d="M78 307q0 164 102.5 253t300.5 97l142 7v71q0 125 -43 184.5t-129 59.5q-55 0 -116 -18.5t-120 -53.5l-55 127q61 37 139 60.5t166 23.5q199 0 264 -155q95 155 279 155q119 0 198.5 -63.5t120.5 -174t41 -249.5v-113h-575q8 -395 262 -395q137 0 270 74v-148 q-63 -35 -131 -52t-152 -17q-117 0 -209 57t-141 168q-57 -115 -136 -170t-196 -55q-139 0 -210.5 93t-71.5 234zM252 309q0 -98 40 -144t109 -46q100 0 161 82t61 235v107l-115 -6q-135 -6 -195.5 -62.5t-60.5 -165.5zM797 651h407q0 141 -48 234.5t-150 93.5 q-195 0 -209 -328z" />
<glyph unicode="&#xe7;" horiz-adv-x="792" d="M96 543q0 281 106.5 429t305.5 148q70 0 129 -15t104 -40l-51 -139q-41 18 -87 30.5t-87 12.5q-246 0 -246 -424q0 -418 244 -418q57 0 110.5 15.5t102.5 39.5v-145q-47 -29 -106.5 -43t-118.5 -14q-195 0 -300.5 139t-105.5 424zM299 -369q39 -12 94 -12q137 0 137 98 q0 53 -45 80t-121 37l76 166h104l-47 -104q80 -16 126 -61.5t46 -117.5q0 -102 -67.5 -155.5t-192.5 -53.5q-72 0 -110 13v110z" />
<glyph unicode="&#xe8;" horiz-adv-x="946" d="M96 543q0 276 101.5 425.5t289.5 149.5q121 0 203 -63.5t124 -174t42 -249.5v-115h-590q6 -391 275 -391q141 0 272 76v-152q-66 -35 -134.5 -52t-152.5 -17q-145 0 -240.5 71.5t-142.5 198.5t-47 293zM223 1550v19h203q23 -47 55.5 -103.5t67 -109.5t63.5 -92v-23h-111 q-41 37 -97 93.5t-106.5 114.5t-74.5 101zM268 651h424q-2 137 -51.5 232.5t-153.5 95.5q-201 0 -219 -328z" />
<glyph unicode="&#xe9;" horiz-adv-x="946" d="M96 543q0 276 101.5 425.5t289.5 149.5q121 0 203 -63.5t124 -174t42 -249.5v-115h-590q6 -391 275 -391q141 0 272 76v-152q-66 -35 -134.5 -52t-152.5 -17q-145 0 -240.5 71.5t-142.5 198.5t-47 293zM268 651h424q-2 137 -51.5 232.5t-153.5 95.5q-201 0 -219 -328z M371 1241v23q53 76 102 155.5t84 149.5h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5h-111z" />
<glyph unicode="&#xea;" horiz-adv-x="946" d="M96 543q0 276 101.5 425.5t289.5 149.5q121 0 203 -63.5t124 -174t42 -249.5v-115h-590q6 -391 275 -391q141 0 272 76v-152q-66 -35 -134.5 -52t-152.5 -17q-145 0 -240.5 71.5t-142.5 198.5t-47 293zM188 1241v21q55 70 114.5 154.5t92.5 152.5h166q33 -70 95 -156 t116 -151v-21h-103q-47 37 -94 87t-96 104q-51 -53 -99.5 -104.5t-89.5 -86.5h-102zM268 651h424q-2 137 -51.5 232.5t-153.5 95.5q-201 0 -219 -328z" />
<glyph unicode="&#xeb;" horiz-adv-x="946" d="M96 543q0 276 101.5 425.5t289.5 149.5q121 0 203 -63.5t124 -174t42 -249.5v-115h-590q6 -391 275 -391q141 0 272 76v-152q-66 -35 -134.5 -52t-152.5 -17q-145 0 -240.5 71.5t-142.5 198.5t-47 293zM215 1376q0 53 25.5 78t64.5 25q37 0 62.5 -24.5t25.5 -78.5 q0 -53 -25.5 -79.5t-62.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5zM268 651h424q-2 137 -51.5 232.5t-153.5 95.5q-201 0 -219 -328zM563 1376q0 53 26.5 78t63.5 25t63.5 -24.5t26.5 -78.5q0 -53 -26.5 -79.5t-63.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z" />
<glyph unicode="&#xec;" horiz-adv-x="460" d="M-24 1550v19h203q23 -47 55.5 -103.5t67 -109.5t63.5 -92v-23h-111q-41 37 -97 93.5t-106.5 114.5t-74.5 101zM145 0v1100h170v-1100h-170z" />
<glyph unicode="&#xed;" horiz-adv-x="460" d="M121 1241v23q53 76 102 155.5t84 149.5h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5h-111zM145 0v1100h170v-1100h-170z" />
<glyph unicode="&#xee;" horiz-adv-x="460" d="M-61 1241v21q55 70 114.5 154.5t92.5 152.5h166q33 -70 95 -156t116 -151v-21h-103q-47 37 -94 87t-96 104q-51 -53 -99.5 -104.5t-89.5 -86.5h-102zM145 0v1100h170v-1100h-170z" />
<glyph unicode="&#xef;" horiz-adv-x="460" d="M-35 1376q0 53 25.5 78t64.5 25q37 0 62.5 -24.5t25.5 -78.5q0 -53 -25.5 -79.5t-62.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5zM145 0v1100h170v-1100h-170zM313 1376q0 53 26.5 78t63.5 25t63.5 -24.5t26.5 -78.5q0 -53 -26.5 -79.5t-63.5 -26.5q-39 0 -64.5 26.5 t-25.5 79.5z" />
<glyph unicode="&#xf0;" horiz-adv-x="1011" d="M94 477q0 236 104.5 365t278.5 129q158 0 234 -101l6 2q-25 115 -79 214.5t-130 185.5l-191 -119l-67 98l172 107q-33 29 -68 53.5t-67 46.5l73 105q45 -25 92.5 -55.5t92.5 -65.5l188 117l70 -97l-172 -104q137 -147 213 -349t76 -468q0 -276 -107.5 -418.5 t-308.5 -142.5q-127 0 -219 65.5t-141.5 178t-49.5 253.5zM266 471q0 -147 57.5 -246.5t184.5 -99.5t183.5 93t56.5 278q0 90 -27 164.5t-79 119.5t-134 45q-121 0 -181.5 -90t-60.5 -264z" />
<glyph unicode="&#xf1;" horiz-adv-x="1034" d="M145 0v1100h138l20 -150h10q41 82 114 126t159 44q152 0 229.5 -93t77.5 -290v-737h-170v709q0 131 -40 196.5t-130 65.5q-131 0 -184.5 -96.5t-53.5 -303.5v-571h-170zM203 1239q10 104 54 179t132 75q53 0 101.5 -29.5t91.5 -58.5t84 -29q35 0 53 32t31 87h102 q-10 -121 -58 -187.5t-126 -66.5q-51 0 -100.5 29.5t-94.5 59.5t-80 30q-66 0 -88 -121h-102z" />
<glyph unicode="&#xf2;" horiz-adv-x="1009" d="M94 551q0 272 103.5 420.5t308.5 148.5q190 0 299.5 -145t109.5 -424q0 -260 -104 -415.5t-309 -155.5q-195 0 -301.5 154.5t-106.5 416.5zM250 1550v19h203q23 -47 55.5 -103.5t67 -109.5t63.5 -92v-23h-111q-41 37 -97 93.5t-106.5 114.5t-74.5 101zM268 551 q0 -207 57.5 -315.5t180.5 -108.5q121 0 179 108.5t58 315.5t-58 314.5t-179 107.5q-125 0 -181.5 -107.5t-56.5 -314.5z" />
<glyph unicode="&#xf3;" horiz-adv-x="1009" d="M94 551q0 272 103.5 420.5t308.5 148.5q190 0 299.5 -145t109.5 -424q0 -260 -104 -415.5t-309 -155.5q-195 0 -301.5 154.5t-106.5 416.5zM268 551q0 -207 57.5 -315.5t180.5 -108.5q121 0 179 108.5t58 315.5t-58 314.5t-179 107.5q-125 0 -181.5 -107.5t-56.5 -314.5z M395 1241v23q53 76 102 155.5t84 149.5h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5h-111z" />
<glyph unicode="&#xf4;" horiz-adv-x="1009" d="M94 551q0 272 103.5 420.5t308.5 148.5q190 0 299.5 -145t109.5 -424q0 -260 -104 -415.5t-309 -155.5q-195 0 -301.5 154.5t-106.5 416.5zM213 1241v21q55 70 114.5 154.5t92.5 152.5h166q33 -70 95 -156t116 -151v-21h-103q-47 37 -94 87t-96 104q-51 -53 -99.5 -104.5 t-89.5 -86.5h-102zM268 551q0 -207 57.5 -315.5t180.5 -108.5q121 0 179 108.5t58 315.5t-58 314.5t-179 107.5q-125 0 -181.5 -107.5t-56.5 -314.5z" />
<glyph unicode="&#xf5;" horiz-adv-x="1009" d="M94 551q0 272 103.5 420.5t308.5 148.5q190 0 299.5 -145t109.5 -424q0 -260 -104 -415.5t-309 -155.5q-195 0 -301.5 154.5t-106.5 416.5zM180 1239q10 104 54 179t132 75q53 0 101.5 -29.5t91.5 -58.5t84 -29q35 0 53 32t31 87h102q-10 -121 -58 -187.5t-126 -66.5 q-51 0 -100.5 29.5t-94.5 59.5t-80 30q-66 0 -88 -121h-102zM268 551q0 -207 57.5 -315.5t180.5 -108.5q121 0 179 108.5t58 315.5t-58 314.5t-179 107.5q-125 0 -181.5 -107.5t-56.5 -314.5z" />
<glyph unicode="&#xf6;" horiz-adv-x="1009" d="M94 551q0 272 103.5 420.5t308.5 148.5q190 0 299.5 -145t109.5 -424q0 -260 -104 -415.5t-309 -155.5q-195 0 -301.5 154.5t-106.5 416.5zM240 1376q0 53 25.5 78t64.5 25q37 0 62.5 -24.5t25.5 -78.5q0 -53 -25.5 -79.5t-62.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z M268 551q0 -207 57.5 -315.5t180.5 -108.5q121 0 179 108.5t58 315.5t-58 314.5t-179 107.5q-125 0 -181.5 -107.5t-56.5 -314.5zM588 1376q0 53 26.5 78t63.5 25t63.5 -24.5t26.5 -78.5q0 -53 -26.5 -79.5t-63.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z" />
<glyph unicode="&#xf7;" horiz-adv-x="968" d="M74 651v142h817v-142h-817zM377 360q0 66 28.5 96.5t79.5 30.5q47 0 76 -30.5t29 -96.5t-30 -95t-75 -29q-51 0 -79.5 30.5t-28.5 93.5zM377 1083q0 63 28.5 94t79.5 31q47 0 76 -30.5t29 -94.5q0 -66 -30 -96.5t-75 -30.5q-51 0 -79.5 32t-28.5 95z" />
<glyph unicode="&#xf8;" horiz-adv-x="1009" d="M92 551q0 279 107.5 424t306.5 145q125 0 213 -73l78 141l106 -58l-92 -172q104 -151 104 -407q0 -272 -109.5 -421.5t-305.5 -149.5q-121 0 -207 61l-82 -156l-107 58l101 184q-113 152 -113 424zM264 551q0 -160 35 -258l350 620q-55 61 -145 62q-127 0 -183.5 -107.5 t-56.5 -316.5zM367 174q51 -51 137 -51q125 0 183 109.5t58 318.5q0 74 -8 134t-22 106z" />
<glyph unicode="&#xf9;" horiz-adv-x="1034" d="M139 381v719h170v-692q0 -143 41 -211t127 -68q135 0 187.5 97.5t52.5 291.5v582h172v-1100h-139l-21 147h-10q-41 -82 -112.5 -124.5t-157.5 -42.5q-164 0 -237 105t-73 296zM262 1550v19h203q23 -47 55.5 -103.5t67 -109.5t63.5 -92v-23h-111q-41 37 -97 93.5 t-106.5 114.5t-74.5 101z" />
<glyph unicode="&#xfa;" horiz-adv-x="1034" d="M139 381v719h170v-692q0 -143 41 -211t127 -68q135 0 187.5 97.5t52.5 291.5v582h172v-1100h-139l-21 147h-10q-41 -82 -112.5 -124.5t-157.5 -42.5q-164 0 -237 105t-73 296zM410 1241v23q53 76 102 155.5t84 149.5h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5 h-111z" />
<glyph unicode="&#xfb;" horiz-adv-x="1034" d="M139 381v719h170v-692q0 -143 41 -211t127 -68q135 0 187.5 97.5t52.5 291.5v582h172v-1100h-139l-21 147h-10q-41 -82 -112.5 -124.5t-157.5 -42.5q-164 0 -237 105t-73 296zM227 1241v21q55 70 114.5 154.5t92.5 152.5h166q33 -70 95 -156t116 -151v-21h-103 q-47 37 -94 87t-96 104q-51 -53 -99.5 -104.5t-89.5 -86.5h-102z" />
<glyph unicode="&#xfc;" horiz-adv-x="1034" d="M139 381v719h170v-692q0 -143 41 -211t127 -68q135 0 187.5 97.5t52.5 291.5v582h172v-1100h-139l-21 147h-10q-41 -82 -112.5 -124.5t-157.5 -42.5q-164 0 -237 105t-73 296zM254 1376q0 53 25.5 78t64.5 25q37 0 62.5 -24.5t25.5 -78.5q0 -53 -25.5 -79.5t-62.5 -26.5 q-39 0 -64.5 26.5t-25.5 79.5zM602 1376q0 53 26.5 78t63.5 25t63.5 -24.5t26.5 -78.5q0 -53 -26.5 -79.5t-63.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z" />
<glyph unicode="&#xfd;" horiz-adv-x="843" d="M6 1100h178l176 -625q18 -66 35 -132.5t27 -131.5h8q8 55 24.5 123.5t37.5 142.5l170 623h176l-369 -1262q-49 -164 -124 -247t-202 -83q-33 0 -61.5 4.5t-54.5 12.5v145q20 -4 44.5 -8t47.5 -4q70 0 109.5 48t72.5 157l41 141zM313 1241v23q53 76 102 155.5t84 149.5 h203v-19q-25 -43 -74 -101t-104 -114.5t-100 -93.5h-111z" />
<glyph unicode="&#xfe;" horiz-adv-x="1040" d="M145 -492v2048h170v-446q0 -39 -2 -81t-4 -79h6q45 82 113 126t158 44q172 0 267 -145t95 -424q0 -274 -94 -422.5t-260 -148.5q-94 0 -166 45t-113 120h-8q4 -37 7 -79.5t3 -75.5v-482h-172zM315 545q0 -213 55.5 -315.5t182.5 -102.5q82 0 130 55.5t68.5 151.5 t20.5 217q0 217 -53 319.5t-168 102.5q-123 0 -178.5 -94.5t-57.5 -292.5v-41z" />
<glyph unicode="&#xff;" horiz-adv-x="843" d="M6 1100h178l176 -625q18 -66 35 -132.5t27 -131.5h8q8 55 24.5 123.5t37.5 142.5l170 623h176l-369 -1262q-49 -164 -124 -247t-202 -83q-33 0 -61.5 4.5t-54.5 12.5v145q20 -4 44.5 -8t47.5 -4q70 0 109.5 48t72.5 157l41 141zM158 1376q0 53 25.5 78t64.5 25 q37 0 62.5 -24.5t25.5 -78.5q0 -53 -25.5 -79.5t-62.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5zM506 1376q0 53 26.5 78t63.5 25t63.5 -24.5t26.5 -78.5q0 -53 -26.5 -79.5t-63.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z" />
<glyph unicode="&#x152;" horiz-adv-x="1497" d="M109 735q0 348 137 545t411 197q39 0 76 -4.5t70 -10.5h592v-155h-463v-465h434v-156h-434v-528h463v-158h-586q-35 -4 -73 -8t-79 -4q-281 0 -414.5 198.5t-133.5 548.5zM293 733q0 -180 36 -311t117.5 -203t219.5 -74q55 0 92 13v1145q-20 8 -43.5 12t-50.5 4 q-139 -2 -220.5 -73.5t-116 -203t-34.5 -309.5z" />
<glyph unicode="&#x153;" horiz-adv-x="1576" d="M94 551q0 272 104.5 419.5t305.5 147.5q215 0 313 -205q96 205 305 205q121 0 202 -63.5t121 -174t40 -249.5v-115h-582q2 -393 268 -393q74 0 138.5 18.5t132.5 55.5v-148q-66 -35 -132.5 -52t-148.5 -17q-233 0 -342 206q-96 -207 -319 -206q-190 0 -298 151.5 t-108 419.5zM268 551q0 -426 234 -426q121 0 176 104.5t55 319.5q0 424 -231 424q-123 0 -178.5 -105.5t-55.5 -316.5zM905 651h416q0 139 -48.5 232.5t-154.5 93.5q-195 0 -213 -326z" />
<glyph unicode="&#x178;" horiz-adv-x="909" d="M0 1462h186l271 -696l268 696h184l-366 -893v-569h-176v563zM191 1738q0 53 25.5 78t64.5 25q37 0 62.5 -24.5t25.5 -78.5q0 -53 -25.5 -79.5t-62.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5zM539 1738q0 53 26.5 78t63.5 25t63.5 -24.5t26.5 -78.5q0 -53 -26.5 -79.5 t-63.5 -26.5q-39 0 -64.5 26.5t-25.5 79.5z" />
<glyph unicode="&#x2c6;" horiz-adv-x="747" d="M82 1241v21q55 70 114.5 154.5t92.5 152.5h166q33 -70 95 -156t116 -151v-21h-103q-47 37 -94 87t-96 104q-51 -53 -99.5 -104.5t-89.5 -86.5h-102z" />
<glyph unicode="&#x2dc;" horiz-adv-x="813" d="M82 1239q10 104 54 179t132 75q53 0 101.5 -29.5t91.5 -58.5t84 -29q35 0 53 32t31 87h102q-10 -121 -58 -187.5t-126 -66.5q-51 0 -100.5 29.5t-94.5 59.5t-80 30q-66 0 -88 -121h-102z" />
<glyph unicode="&#x2000;" horiz-adv-x="956" />
<glyph unicode="&#x2001;" horiz-adv-x="1913" />
<glyph unicode="&#x2002;" horiz-adv-x="956" />
<glyph unicode="&#x2003;" horiz-adv-x="1913" />
<glyph unicode="&#x2004;" horiz-adv-x="637" />
<glyph unicode="&#x2005;" horiz-adv-x="478" />
<glyph unicode="&#x2006;" horiz-adv-x="318" />
<glyph unicode="&#x2007;" horiz-adv-x="318" />
<glyph unicode="&#x2008;" horiz-adv-x="239" />
<glyph unicode="&#x2009;" horiz-adv-x="382" />
<glyph unicode="&#x200a;" horiz-adv-x="106" />
<glyph unicode="&#x2010;" horiz-adv-x="589" d="M63 469v164h465v-164h-465z" />
<glyph unicode="&#x2011;" horiz-adv-x="589" d="M63 469v164h465v-164h-465z" />
<glyph unicode="&#x2012;" horiz-adv-x="589" d="M63 469v164h465v-164h-465z" />
<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M78 479v146h868v-146h-868z" />
<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M78 479v146h1892v-146h-1892z" />
<glyph unicode="&#x2018;" horiz-adv-x="378" d="M45 981q29 123 72 247t92 234h127q-33 -125 -58.5 -260t-37.5 -244h-183z" />
<glyph unicode="&#x2019;" horiz-adv-x="378" d="M43 958q33 121 58.5 259.5t37.5 244.5h180l15 -22q-29 -121 -71 -244t-91 -238h-129z" />
<glyph unicode="&#x201a;" horiz-adv-x="477" d="M74 -267q33 121 58.5 259.5t37.5 244.5h180l15 -22q-29 -121 -71 -244t-91 -238h-129z" />
<glyph unicode="&#x201c;" horiz-adv-x="729" d="M45 981q29 123 71 247t93 234h125q-33 -125 -57.5 -260t-36.5 -244h-183zM395 981q29 123 72 247t90 234h129q-31 -127 -57.5 -258t-36.5 -246h-184z" />
<glyph unicode="&#x201d;" horiz-adv-x="729" d="M43 958q33 121 58.5 259.5t35.5 244.5h182l15 -22q-29 -121 -71 -244t-91 -238h-129zM393 958q33 129 58.5 259.5t40.5 244.5h178l14 -22q-29 -121 -71 -244t-91 -238h-129z" />
<glyph unicode="&#x201e;" horiz-adv-x="763" d="M47 -269q33 121 58.5 259.5t35.5 244.5h182l15 -22q-29 -121 -71 -244t-91 -238h-129zM397 -269q33 129 58.5 259.5t40.5 244.5h178l14 -22q-29 -121 -71 -244t-91 -238h-129z" />
<glyph unicode="&#x2022;" horiz-adv-x="778" d="M145 748q0 137 64.5 203.5t177.5 66.5t178.5 -66.5t65.5 -203.5q0 -133 -65.5 -202t-178.5 -69q-111 0 -176.5 68t-65.5 203z" />
<glyph unicode="&#x2026;" horiz-adv-x="1460" d="M129 113q0 68 30.5 100.5t84.5 32.5q51 0 83.5 -31t32.5 -102q0 -70 -32.5 -101.5t-83.5 -31.5t-83 32.5t-32 100.5zM614 113q0 68 30.5 100.5t84.5 32.5q51 0 83.5 -31t32.5 -102q0 -70 -32.5 -101.5t-83.5 -31.5t-83 32.5t-32 100.5zM1100 113q0 68 30.5 100.5 t84.5 32.5q51 0 83.5 -31t32.5 -102q0 -70 -32.5 -101.5t-83.5 -31.5t-83 32.5t-32 100.5z" />
<glyph unicode="&#x202f;" horiz-adv-x="382" />
<glyph unicode="&#x2039;" horiz-adv-x="579" d="M74 526v29l311 401l119 -63l-238 -352l238 -348l-119 -68z" />
<glyph unicode="&#x203a;" horiz-adv-x="579" d="M76 193l235 348l-235 352l119 63l311 -401v-29l-311 -401z" />
<glyph unicode="&#x205f;" horiz-adv-x="478" />
<glyph unicode="&#x20ac;" d="M35 512v119h137q0 25 -1 45t-1 43t1 43t1 39h-137v123h147q14 156 68.5 282.5t151 201.5t231.5 75q158 0 293 -84l-70 -148q-49 33 -104.5 53.5t-114.5 20.5q-121 0 -190.5 -103.5t-90.5 -297.5h365v-123h-375q0 -20 -1 -41t-1 -41q0 -23 1 -44.5t1 -43.5h330v-119h-320 q20 -188 94 -280.5t205 -92.5q63 0 122 16.5t120 45.5v-164q-55 -29 -118.5 -43t-137.5 -14q-205 0 -316.5 141t-142.5 391h-147z" />
<glyph unicode="&#x2122;" horiz-adv-x="1370" d="M29 1358v104h483v-104h-188v-617h-109v617h-186zM578 741v721h163l177 -563l180 563h157v-721h-110v416q0 23 2 70t4 76h-8l-189 -562h-90l-180 564h-8q2 -35 4 -78t2 -60v-426h-104z" />
<glyph unicode="&#x25fc;" horiz-adv-x="1095" d="M0 0v1096h1096v-1096h-1096z" />
<glyph unicode="&#xfb01;" horiz-adv-x="1034" d="M23 961v86l149 59v63q0 197 65.5 297.5t217.5 100.5q51 0 94 -9.5t84 -25.5l-43 -135q-31 8 -60.5 16t-60.5 8q-70 0 -97.5 -55t-27.5 -192v-74h205v-139h-205v-961h-172v961h-149zM706 1395q0 59 27.5 87.5t72.5 28.5q96 0 97 -116q0 -57 -25.5 -87t-71.5 -30 q-45 0 -72.5 29.5t-27.5 87.5zM718 0v1100h170v-1100h-170z" />
<glyph unicode="&#xfb02;" horiz-adv-x="1034" d="M23 961v86l149 59v63q0 197 65.5 297.5t217.5 100.5q51 0 94 -9.5t84 -25.5l-43 -135q-31 8 -60.5 16t-60.5 8q-70 0 -97.5 -55t-27.5 -192v-74h205v-139h-205v-961h-172v961h-149zM718 0v1556h170v-1556h-170z" />
<glyph unicode="&#xfb03;" horiz-adv-x="1609" d="M23 961v86l149 59v63q0 197 65.5 297.5t217.5 100.5q51 0 94 -9.5t84 -25.5l-43 -135q-31 8 -60.5 16t-60.5 8q-70 0 -97.5 -55t-27.5 -192v-74h205v-139h-205v-961h-172v961h-149zM596 961v86l149 59v63q0 197 65.5 297.5t217.5 100.5q51 0 94 -9.5t84 -25.5l-43 -135 q-31 8 -60.5 16t-60.5 8q-70 0 -97.5 -55t-27.5 -192v-74h205v-139h-205v-961h-172v961h-149zM1282 1395q0 59 27.5 87.5t72.5 28.5q96 0 97 -116q0 -57 -25.5 -87t-71.5 -30q-45 0 -72.5 29.5t-27.5 87.5zM1294 0v1100h170v-1100h-170z" />
<glyph unicode="&#xfb04;" horiz-adv-x="1607" d="M23 961v86l149 59v63q0 197 65.5 297.5t217.5 100.5q51 0 94 -9.5t84 -25.5l-43 -135q-31 8 -60.5 16t-60.5 8q-70 0 -97.5 -55t-27.5 -192v-74h205v-139h-205v-961h-172v961h-149zM596 961v86l149 59v63q0 197 65.5 297.5t217.5 100.5q51 0 94 -9.5t84 -25.5l-43 -135 q-31 8 -60.5 16t-60.5 8q-70 0 -97.5 -55t-27.5 -192v-74h205v-139h-205v-961h-172v961h-149zM1294 0v1556h170v-1556h-170z" />
<hkern u1="&#x26;" u2="&#x178;" k="45" />
<hkern u1="&#x26;" u2="&#xdd;" k="45" />
<hkern u1="&#x26;" u2="Y" k="45" />
<hkern u1="&#x26;" u2="W" k="29" />
<hkern u1="&#x26;" u2="V" k="29" />
<hkern u1="&#x26;" u2="T" k="74" />
<hkern u1="&#x28;" u2="j" k="-59" />
<hkern u1="&#x28;" u2="J" k="-133" />
<hkern u1="A" u2="J" k="-74" />
<hkern u1="B" u2="&#x2026;" k="20" />
<hkern u1="B" u2="&#x201e;" k="20" />
<hkern u1="B" u2="&#x201a;" k="20" />
<hkern u1="B" u2="&#x2e;" k="20" />
<hkern u1="B" u2="&#x2c;" k="20" />
<hkern u1="D" u2="X" k="14" />
<hkern u1="E" u2="J" k="-88" />
<hkern u1="F" u2="&#x2026;" k="102" />
<hkern u1="F" u2="&#x201e;" k="102" />
<hkern u1="F" u2="&#x201a;" k="102" />
<hkern u1="F" u2="&#xc5;" k="29" />
<hkern u1="F" u2="&#xc4;" k="29" />
<hkern u1="F" u2="&#xc3;" k="29" />
<hkern u1="F" u2="&#xc2;" k="29" />
<hkern u1="F" u2="&#xc1;" k="29" />
<hkern u1="F" u2="&#xc0;" k="29" />
<hkern u1="F" u2="&#x7d;" k="-29" />
<hkern u1="F" u2="]" k="-29" />
<hkern u1="F" u2="A" k="29" />
<hkern u1="F" u2="&#x3f;" k="-29" />
<hkern u1="F" u2="&#x2e;" k="102" />
<hkern u1="F" u2="&#x2c;" k="102" />
<hkern u1="F" u2="&#x29;" k="-29" />
<hkern u1="O" u2="X" k="14" />
<hkern u1="P" u2="X" k="29" />
<hkern u1="P" u2="&#x26;" k="14" />
<hkern u1="Q" u2="X" k="14" />
<hkern u1="R" u2="&#x2039;" k="14" />
<hkern u1="R" u2="&#xab;" k="14" />
<hkern u1="T" u2="&#x3f;" k="-29" />
<hkern u1="T" u2="&#x26;" k="29" />
<hkern u1="V" u2="&#x3f;" k="-29" />
<hkern u1="W" u2="&#x3f;" k="-29" />
<hkern u1="Y" u2="&#x3f;" k="-29" />
<hkern u1="Y" u2="&#x26;" k="31" />
<hkern u1="[" u2="j" k="-59" />
<hkern u1="[" u2="J" k="-133" />
<hkern u1="c" u2="&#x201d;" k="-29" />
<hkern u1="c" u2="&#x2019;" k="-29" />
<hkern u1="c" u2="&#x27;" k="-29" />
<hkern u1="c" u2="&#x22;" k="-29" />
<hkern u1="v" u2="&#x3f;" k="-29" />
<hkern u1="w" u2="&#x3f;" k="-29" />
<hkern u1="y" u2="&#x3f;" k="-29" />
<hkern u1="&#x7b;" u2="j" k="-59" />
<hkern u1="&#x7b;" u2="J" k="-133" />
<hkern u1="&#xa1;" u2="&#x178;" k="45" />
<hkern u1="&#xa1;" u2="&#xdd;" k="45" />
<hkern u1="&#xa1;" u2="Y" k="45" />
<hkern u1="&#xa1;" u2="W" k="14" />
<hkern u1="&#xa1;" u2="V" k="14" />
<hkern u1="&#xa1;" u2="T" k="29" />
<hkern u1="&#xa1;" u2="J" k="-74" />
<hkern u1="&#xbb;" u2="X" k="29" />
<hkern u1="&#xbf;" u2="&#x178;" k="59" />
<hkern u1="&#xbf;" u2="&#xdd;" k="59" />
<hkern u1="&#xbf;" u2="Y" k="59" />
<hkern u1="&#xbf;" u2="W" k="45" />
<hkern u1="&#xbf;" u2="V" k="45" />
<hkern u1="&#xbf;" u2="T" k="59" />
<hkern u1="&#xbf;" u2="J" k="-147" />
<hkern u1="&#xc0;" u2="J" k="-74" />
<hkern u1="&#xc1;" u2="J" k="-74" />
<hkern u1="&#xc2;" u2="J" k="-74" />
<hkern u1="&#xc3;" u2="J" k="-74" />
<hkern u1="&#xc4;" u2="J" k="-74" />
<hkern u1="&#xc5;" u2="J" k="-74" />
<hkern u1="&#xc6;" u2="J" k="-88" />
<hkern u1="&#xc8;" u2="J" k="-88" />
<hkern u1="&#xc9;" u2="J" k="-88" />
<hkern u1="&#xca;" u2="J" k="-88" />
<hkern u1="&#xcb;" u2="J" k="-88" />
<hkern u1="&#xd0;" u2="X" k="14" />
<hkern u1="&#xd2;" u2="X" k="14" />
<hkern u1="&#xd3;" u2="X" k="14" />
<hkern u1="&#xd4;" u2="X" k="14" />
<hkern u1="&#xd5;" u2="X" k="14" />
<hkern u1="&#xd6;" u2="X" k="14" />
<hkern u1="&#xd8;" u2="X" k="14" />
<hkern u1="&#xdd;" u2="&#x3f;" k="-29" />
<hkern u1="&#xdd;" u2="&#x26;" k="31" />
<hkern u1="&#xde;" u2="X" k="29" />
<hkern u1="&#xde;" u2="&#x26;" k="14" />
<hkern u1="&#xfd;" u2="&#x3f;" k="-29" />
<hkern u1="&#xff;" u2="&#x3f;" k="-29" />
<hkern u1="&#x152;" u2="J" k="-88" />
<hkern u1="&#x178;" u2="&#x3f;" k="-29" />
<hkern u1="&#x178;" u2="&#x26;" k="31" />
<hkern u1="&#x203a;" u2="X" k="29" />
<hkern g1="b,e,o,p,ae,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn,oe" g2="v,w,x,y,yacute,ydieresis" k="29" />
<hkern g1="b,e,o,p,ae,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn,oe" g2="z" k="8" />
<hkern g1="b,e,o,p,ae,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn,oe" g2="quotedbl,quotesingle,quoteright,quotedblright" k="14" />
<hkern g1="a,h,m,n,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="quotedbl,quotesingle,quoteright,quotedblright" k="14" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="14" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="Y,Yacute,Ydieresis" k="59" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="V,W" k="31" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="T" k="68" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quotedbl,quotesingle,quoteright,quotedblright" k="111" />
<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="14" />
<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="Y,Yacute,Ydieresis" k="14" />
<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="V,W" k="8" />
<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="59" />
<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="T" k="31" />
<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="Z" k="8" />
<hkern g1="v,w,y,yacute,ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="59" />
<hkern g1="v,w,y,yacute,ydieresis" g2="quotedbl,quotesingle,quoteright,quotedblright" k="-59" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="14" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="29" />
<hkern g1="Y,Yacute,Ydieresis" g2="c,d,e,o,q,agrave,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="74" />
<hkern g1="Y,Yacute,Ydieresis" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="29" />
<hkern g1="Y,Yacute,Ydieresis" g2="m,n,p,r,u,ugrave,uacute,ucircumflex,udieresis" k="45" />
<hkern g1="Y,Yacute,Ydieresis" g2="a,aacute,acircumflex,atilde,adieresis,aring,ae" k="74" />
<hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="59" />
<hkern g1="Y,Yacute,Ydieresis" g2="g" k="74" />
<hkern g1="Y,Yacute,Ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="88" />
<hkern g1="Y,Yacute,Ydieresis" g2="z" k="29" />
<hkern g1="Y,Yacute,Ydieresis" g2="s" k="59" />
<hkern g1="Y,Yacute,Ydieresis" g2="guillemotright,guilsinglright" k="45" />
<hkern g1="Y,Yacute,Ydieresis" g2="guillemotleft,guilsinglleft" k="119" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="c,d,e,o,q,agrave,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="88" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="m,n,p,r,u,ugrave,uacute,ucircumflex,udieresis" k="45" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="a,aacute,acircumflex,atilde,adieresis,aring,ae" k="59" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="111" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="Y,Yacute,Ydieresis" k="-14" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="V,W" k="-29" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="g" k="45" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="T" k="-29" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="s" k="45" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="AE" k="133" />
<hkern g1="V,W" g2="c,d,e,o,q,agrave,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="29" />
<hkern g1="V,W" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="14" />
<hkern g1="V,W" g2="m,n,p,r,u,ugrave,uacute,ucircumflex,udieresis" k="14" />
<hkern g1="V,W" g2="a,aacute,acircumflex,atilde,adieresis,aring,ae" k="29" />
<hkern g1="V,W" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="31" />
<hkern g1="V,W" g2="g" k="14" />
<hkern g1="V,W" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="74" />
<hkern g1="V,W" g2="s" k="14" />
<hkern g1="V,W" g2="guillemotright,guilsinglright" k="14" />
<hkern g1="V,W" g2="guillemotleft,guilsinglleft" k="45" />
<hkern g1="L" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="29" />
<hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="14" />
<hkern g1="L" g2="Y,Yacute,Ydieresis" k="74" />
<hkern g1="L" g2="V,W" k="57" />
<hkern g1="L" g2="T" k="57" />
<hkern g1="L" g2="quotedbl,quotesingle,quoteright,quotedblright" k="119" />
<hkern g1="C,Ccedilla" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="43" />
<hkern g1="C,Ccedilla" g2="guillemotleft,guilsinglleft" k="29" />
<hkern g1="t" g2="quotedbl,quotesingle,quoteright,quotedblright" k="-29" />
<hkern g1="T" g2="c,d,e,o,q,agrave,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="102" />
<hkern g1="T" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="29" />
<hkern g1="T" g2="m,n,p,r,u,ugrave,uacute,ucircumflex,udieresis" k="74" />
<hkern g1="T" g2="a,aacute,acircumflex,atilde,adieresis,aring,ae" k="119" />
<hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="68" />
<hkern g1="T" g2="v,w,x,y,yacute,ydieresis" k="29" />
<hkern g1="T" g2="g" k="102" />
<hkern g1="T" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="88" />
<hkern g1="T" g2="T" k="-29" />
<hkern g1="T" g2="z" k="59" />
<hkern g1="T" g2="s" k="88" />
<hkern g1="T" g2="hyphen,endash,emdash" k="59" />
<hkern g1="T" g2="guillemotright,guilsinglright" k="45" />
<hkern g1="T" g2="guillemotleft,guilsinglleft" k="88" />
<hkern g1="r" g2="c,d,e,o,q,agrave,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="29" />
<hkern g1="r" g2="a,aacute,acircumflex,atilde,adieresis,aring,ae" k="29" />
<hkern g1="r" g2="g" k="14" />
<hkern g1="r" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="102" />
<hkern g1="r" g2="quotedbl,quotesingle,quoteright,quotedblright" k="-59" />
<hkern g1="hyphen,endash,emdash" g2="T" k="59" />
<hkern g1="comma,period,quotesinglbase,quotedblbase" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="74" />
<hkern g1="comma,period,quotesinglbase,quotedblbase" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="29" />
<hkern g1="comma,period,quotesinglbase,quotedblbase" g2="Y,Yacute,Ydieresis" k="88" />
<hkern g1="comma,period,quotesinglbase,quotedblbase" g2="V,W" k="88" />
<hkern g1="comma,period,quotesinglbase,quotedblbase" g2="T" k="102" />
<hkern g1="Z" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="14" />
<hkern g1="Z" g2="guillemotleft,guilsinglleft" k="29" />
<hkern g1="K,X" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="14" />
<hkern g1="K,X" g2="guillemotleft,guilsinglleft" k="29" />
<hkern g1="x" g2="c,d,e,o,q,agrave,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="14" />
<hkern g1="guillemotright,guilsinglright" g2="Y,Yacute,Ydieresis" k="119" />
<hkern g1="guillemotright,guilsinglright" g2="V,W" k="45" />
<hkern g1="guillemotright,guilsinglright" g2="T" k="88" />
<hkern g1="guillemotleft,guilsinglleft" g2="Y,Yacute,Ydieresis" k="45" />
<hkern g1="guillemotleft,guilsinglleft" g2="V,W" k="14" />
<hkern g1="guillemotleft,guilsinglleft" g2="T" k="45" />
<hkern g1="f" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="29" />
<hkern g1="f" g2="quotedbl,quotesingle,quoteright,quotedblright" k="-88" />
<hkern g1="f" g2="parenright,bracketright,braceright" k="-59" />
<hkern g1="P,Thorn" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="59" />
<hkern g1="P,Thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="193" />
<hkern g1="P,Thorn" g2="Z" k="14" />
<hkern g1="P,Thorn" g2="guillemotleft,guilsinglleft" k="29" />
<hkern g1="P,Thorn" g2="AE" k="66" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 71 KiB

View File

@@ -0,0 +1,448 @@
<?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" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata></metadata>
<defs>
<font id="noto_sanscondensed_bold" horiz-adv-x="1024" >
<font-face units-per-em="2048" ascent="1638" descent="-410" />
<missing-glyph horiz-adv-x="415" />
<glyph horiz-adv-x="0" />
<glyph horiz-adv-x="682" />
<glyph horiz-adv-x="0" />
<glyph horiz-adv-x="0" />
<glyph unicode="&#xd;" horiz-adv-x="415" />
<glyph unicode=" " horiz-adv-x="415" />
<glyph unicode="&#x09;" horiz-adv-x="415" />
<glyph unicode="&#xa0;" horiz-adv-x="415" />
<glyph unicode="!" horiz-adv-x="544" d="M109 145q0 84 43 126t120 42q74 0 118 -41t44 -127q0 -84 -45 -127t-117 -43q-76 0 -119.5 43t-43.5 127zM111 1462h321l-45 -983h-229z" />
<glyph unicode="&#x22;" horiz-adv-x="925" d="M106 1462h289l-41 -528h-209zM530 1462h289l-39 -528h-211z" />
<glyph unicode="#" horiz-adv-x="1130" d="M43 410v198h219l39 252h-205v201h236l61 401h201l-62 -401h170l62 401h201l-64 -401h195v-201h-224l-36 -252h204v-198h-233l-64 -410h-204l63 410h-168l-61 -410h-201l61 410h-190zM465 608h168l39 252h-168z" />
<glyph unicode="$" d="M88 1047q0 158 101.5 247.5t261.5 108.5v151h131v-149q178 -10 331 -88l-69 -211q-127 61 -262 74v-334q111 -43 190.5 -91t123.5 -118t44 -172q0 -145 -91 -247.5t-267 -129.5v-207h-131v203q-199 6 -357 80v250q72 -43 169 -78t188 -39v350q-190 76 -276.5 164 t-86.5 236zM332 1044q0 -49 28 -80.5t91 -62.5v277q-61 -10 -90 -45t-29 -89zM582 311q61 16 89.5 51t28.5 87q0 49 -29.5 81.5t-88.5 61.5v-281z" />
<glyph unicode="%" horiz-adv-x="1658" d="M61 1026q0 219 78 338t228 119q147 0 229 -121t82 -336q0 -219 -79 -340t-232 -121q-145 0 -225.5 123t-80.5 338zM285 1024q0 -266 86 -266q45 0 64.5 64.5t19.5 201.5q0 264 -86 264q-84 0 -84 -264zM401 0l639 1462h213l-639 -1462h-213zM981 442q0 221 76.5 339 t228.5 118q147 0 229 -121t82 -336q0 -217 -78.5 -338.5t-232.5 -121.5q-145 0 -225 123.5t-80 336.5zM1204 440q0 -264 84 -264q47 0 66.5 68.5t19.5 195.5t-20.5 197t-65.5 70q-84 0 -84 -267z" />
<glyph unicode="&#x26;" horiz-adv-x="1290" d="M61 393q0 139 61.5 236.5t186.5 173.5q-68 88 -98.5 168t-30.5 178q0 150 101.5 241t265.5 91q162 0 257 -86t95 -242q0 -123 -62.5 -216t-168.5 -171l198 -252q27 53 46.5 119.5t33.5 142.5h291q-20 -119 -66.5 -247t-119.5 -234l243 -295h-348l-86 111 q-78 -61 -169 -96t-210 -35q-207 0 -313.5 113.5t-106.5 299.5zM348 412q0 -82 47 -135.5t123 -53.5q57 0 101.5 21.5t85.5 60.5l-254 326q-53 -45 -78 -96.5t-25 -122.5zM442 1143q0 -106 82 -207q117 86 117 215q0 61 -27.5 91t-68.5 30t-72 -31t-31 -98z" />
<glyph unicode="'" horiz-adv-x="499" d="M106 1462h289l-41 -528h-209z" />
<glyph unicode="(" horiz-adv-x="655" d="M90 571q0 268 76 501t209 411h246q-137 -199 -204 -427.5t-67 -482.5q0 -248 68.5 -472t199.5 -425h-243q-137 178 -211 402.5t-74 492.5z" />
<glyph unicode=")" horiz-adv-x="655" d="M37 -324q131 201 199.5 425.5t68.5 471.5q0 254 -66.5 482.5t-201.5 427.5h244q135 -178 210.5 -411t75.5 -501q0 -266 -74.5 -492t-211.5 -403h-244z" />
<glyph unicode="*" horiz-adv-x="972" d="M49 1102l51 241l295 -98l-37 314h256l-39 -314l297 98l50 -239l-289 -29l205 -248l-211 -133l-144 277l-137 -279l-213 135l203 248z" />
<glyph unicode="+" horiz-adv-x="1030" d="M74 614v217h332v388h219v-388h329v-217h-329v-383h-219v383h-332z" />
<glyph unicode="," horiz-adv-x="540" d="M66 -274q18 80 35.5 177t31.5 191t21 168h268l14 -22q-27 -139 -65.5 -270.5t-85.5 -243.5h-219z" />
<glyph unicode="-" horiz-adv-x="634" d="M59 422v254h519v-254h-519z" />
<glyph unicode="." horiz-adv-x="540" d="M109 145q0 84 44 126t119 42q74 0 118 -41t44 -127q0 -84 -45 -127t-117 -43q-74 0 -118.5 43t-44.5 127z" />
<glyph unicode="/" horiz-adv-x="833" d="M16 -10l555 1483h248l-553 -1483h-250z" />
<glyph unicode="0" d="M76 731q0 377 103.5 564.5t330.5 187.5q219 0 327.5 -191.5t108.5 -560.5q0 -225 -40 -394t-135 -263t-261 -94q-219 0 -326.5 183t-107.5 568zM360 731q0 -258 32 -382t118 -124t119 124t33 382q0 252 -33 379t-119 127q-84 0 -117 -126t-33 -380z" />
<glyph unicode="1" d="M104 1063l416 399h246v-1462h-285v852q0 66 3 137.5t5 134.5q-31 -41 -88 -98l-139 -133z" />
<glyph unicode="2" d="M61 1282q92 100 190.5 150.5t240.5 50.5q123 0 216 -50.5t144 -139.5t51 -203q0 -104 -30.5 -195.5t-97 -188t-171.5 -214.5l-192 -234v-10h518v-248h-864v203l307 385q96 121 149 202.5t73.5 145t20.5 131.5q0 80 -39.5 125t-115.5 45q-63 0 -122.5 -33t-131.5 -108z " />
<glyph unicode="3" d="M70 53v258q82 -45 165.5 -68.5t159.5 -23.5q127 0 184.5 55.5t57.5 155.5q0 102 -66.5 153.5t-230.5 51.5h-84v233h86q150 0 215.5 56.5t65.5 152.5q0 164 -177 164q-74 0 -136 -27.5t-120 -72.5l-118 205q88 70 187 103.5t230 33.5q193 0 303.5 -94.5t110.5 -270.5 q0 -127 -70.5 -218t-197.5 -132v-6q150 -27 225.5 -115t75.5 -231q0 -197 -129 -316.5t-373 -119.5q-102 0 -188 16t-176 57z" />
<glyph unicode="4" d="M35 299v219l528 946h277v-934h155v-231h-155v-299h-279v299h-526zM272 530h287v310q0 29 2 83t3 104t3 65h-8q-14 -45 -32.5 -83t-39.5 -77z" />
<glyph unicode="5" d="M100 53v258q68 -39 152 -64.5t162 -25.5q113 0 171 66.5t58 181.5q0 227 -235 227q-45 0 -93.5 -9t-93.5 -23l-100 67l47 731h682v-250h-440l-23 -297q80 21 158 21q115 0 202 -56.5t136 -157.5t49 -239q0 -238 -126 -370.5t-376 -132.5q-197 0 -330 73z" />
<glyph unicode="6" d="M74 621q0 172 27.5 327.5t95 275t186.5 188.5t301 69q45 0 96 -3t94 -14v-239q-39 8 -81.5 14t-87.5 6q-188 0 -272.5 -116.5t-92.5 -342.5h10q35 78 98.5 123t157.5 45q164 0 256 -127t92 -342q0 -229 -111.5 -367t-314.5 -138q-205 0 -329.5 165t-124.5 476zM362 516 q0 -74 17.5 -141.5t52.5 -110.5t90 -43q70 0 111 63.5t41 196.5q0 115 -37 176.5t-111 61.5q-76 0 -120 -61.5t-44 -141.5z" />
<glyph unicode="7" d="M66 1214v248h886v-192l-458 -1270h-301l464 1214h-591z" />
<glyph unicode="8" d="M66 373q0 131 62 226t181 165q-98 74 -151.5 164t-53.5 205q0 168 115 259t293 91q184 0 295 -92.5t111 -260.5q0 -121 -58.5 -210t-167.5 -150q123 -80 193.5 -171t70.5 -218q0 -186 -120.5 -293.5t-323.5 -107.5q-213 0 -329.5 104t-116.5 289zM336 381q0 -80 44 -129 t128 -49q90 0 134 48t44 130q0 66 -40 121t-118 110l-26 21q-84 -53 -125 -112.5t-41 -139.5zM377 1110q0 -68 36 -117t99 -90q70 45 103.5 92t33.5 115q0 70 -38 110t-99 40q-59 0 -97 -40t-38 -110z" />
<glyph unicode="9" d="M68 975q0 229 111.5 367.5t316.5 138.5t327.5 -163t122.5 -472q0 -178 -29.5 -335t-98 -276.5t-186.5 -187t-294 -67.5q-47 0 -98.5 4t-92.5 14v240q78 -23 168 -23q131 0 210 56.5t115 161t42 243.5h-10q-37 -80 -99.5 -125t-158.5 -45q-166 0 -256 128t-90 341z M348 981q0 -115 37 -176.5t111 -61.5q55 0 91 32t54 80t18 95q0 41 -7 90.5t-25.5 94.5t-49 74.5t-77.5 29.5q-68 0 -110 -62.5t-42 -195.5z" />
<glyph unicode=":" horiz-adv-x="548" d="M111 145q0 84 44 126t121 42q72 0 116 -41t44 -127q0 -84 -44 -127t-116 -43q-76 0 -120.5 43t-44.5 127zM111 965q0 84 44 127t121 43q74 0 117 -43t43 -127t-44 -126t-116 -42q-76 0 -120.5 42t-44.5 126z" />
<glyph unicode=";" horiz-adv-x="548" d="M66 -274q18 82 35.5 178t29.5 190t21 168h270l14 -22q-27 -139 -65.5 -270.5t-85.5 -243.5h-219zM111 965q0 84 44 127t121 43q74 0 117 -43t43 -127t-44 -126t-116 -42q-76 0 -120.5 42t-44.5 126z" />
<glyph unicode="&#x3c;" horiz-adv-x="1030" d="M68 657v144l886 438v-242l-575 -266l575 -258v-240z" />
<glyph unicode="=" horiz-adv-x="1030" d="M74 397v217h880v-217h-880zM74 827v217h880v-217h-880z" />
<glyph unicode="&#x3e;" horiz-adv-x="1030" d="M72 233v240l577 258l-577 266v242l886 -438v-144z" />
<glyph unicode="?" horiz-adv-x="821" d="M8 1360q90 57 184.5 90t198.5 33q190 0 291.5 -96.5t101.5 -260.5q0 -86 -22.5 -149.5t-66.5 -118.5t-109 -117q-51 -47 -77 -79.5t-34 -62.5t-8 -71v-49h-236v74q0 102 33 172t115 143q74 70 104.5 119t30.5 119q0 135 -145 135q-66 0 -129.5 -24.5t-135.5 -69.5z M188 145q0 84 45.5 126t120.5 42q72 0 117 -41t45 -127q0 -84 -45 -127t-117 -43q-74 0 -120 43t-46 127z" />
<glyph unicode="@" horiz-adv-x="1585" d="M88 596q0 262 93 459.5t260 308.5t390 111q201 0 351.5 -92.5t233.5 -256.5t83 -381q0 -147 -39 -263.5t-110.5 -185.5t-169.5 -69q-80 0 -131.5 40t-71.5 110h-14q-37 -72 -91.5 -111t-128.5 -39q-145 0 -224 105.5t-79 288.5q0 213 106.5 343t293.5 130 q72 0 150.5 -15.5t135.5 -38.5l-16 -422q-4 -29 -4 -55v-47q0 -66 19.5 -91.5t50.5 -25.5q123 0 122 349q0 166 -56 290.5t-160.5 194.5t-250.5 67q-180 0 -299.5 -93t-180 -250.5t-60.5 -350.5q0 -274 126 -435t376 -161q98 0 204.5 23.5t200.5 64.5v-182 q-88 -39 -188.5 -59.5t-212.5 -20.5q-340 0 -524.5 201t-184.5 559zM653 618q0 -115 32 -167t85 -52q66 0 94.5 72t36.5 234l10 210q-16 4 -33.5 7.5t-37.5 3.5q-92 0 -139.5 -85.5t-47.5 -222.5z" />
<glyph unicode="A" horiz-adv-x="1177" d="M0 0l403 1464h367l408 -1464h-310l-84 350h-389l-84 -350h-311zM449 600h282l-88 373q-12 66 -28.5 139.5t-24.5 130.5q-8 -55 -24.5 -132t-30.5 -136z" />
<glyph unicode="B" horiz-adv-x="1167" d="M147 0v1462h406q246 0 370 -87t124 -277q0 -127 -54.5 -213t-152.5 -109v-10q115 -29 175 -111t60 -231q0 -197 -123 -310.5t-340 -113.5h-465zM436 242h150q102 0 147 53t45 154q0 92 -49 143t-154 51h-139v-401zM436 874h127q100 0 145.5 47.5t45.5 137.5 q0 166 -199 166h-119v-351z" />
<glyph unicode="C" horiz-adv-x="1083" d="M98 729q0 219 66.5 389t193.5 267.5t312 97.5q186 0 358 -94l-86 -238q-61 37 -125.5 61.5t-132.5 24.5q-94 0 -158.5 -64.5t-96.5 -180t-32 -265.5q0 -242 75 -371t222 -129q74 0 143.5 21.5t143.5 56.5v-252q-72 -37 -150.5 -55t-173.5 -18q-274 0 -416.5 198.5 t-142.5 550.5z" />
<glyph unicode="D" horiz-adv-x="1255" d="M147 0v1462h394q291 0 454.5 -181t163.5 -527q0 -367 -168 -560.5t-479 -193.5h-365zM436 250h84q174 0 257 121.5t83 371.5q0 244 -81 359t-236 115h-107v-967z" />
<glyph unicode="E" horiz-adv-x="956" d="M147 0v1462h713v-243h-424v-338h393v-244h-393v-389h424v-248h-713z" />
<glyph unicode="F" horiz-adv-x="929" d="M147 0v1462h709v-243h-422v-392h393v-243h-393v-584h-287z" />
<glyph unicode="G" horiz-adv-x="1267" d="M98 735q0 227 75 395t219.5 260.5t352.5 92.5q111 0 209.5 -25.5t175.5 -66.5l-88 -236q-63 39 -137 60.5t-151 21.5q-172 0 -264.5 -134t-92.5 -376q0 -225 73 -362.5t232 -137.5q47 0 86 6.5t74 16.5v330h-211v243h494v-762q-109 -41 -221.5 -61t-239.5 -20 q-287 0 -436.5 200.5t-149.5 554.5z" />
<glyph unicode="H" horiz-adv-x="1300" d="M147 0v1462h289v-577h428v577h289v-1462h-289v637h-428v-637h-289z" />
<glyph unicode="I" horiz-adv-x="706" d="M61 0v160l148 63v1016l-148 64v159h586v-159l-149 -64v-1016l149 -63v-160h-586z" />
<glyph unicode="J" horiz-adv-x="581" d="M-125 -166q27 -8 57.5 -14t63.5 -6q78 0 114.5 54t36.5 204v1390h289v-1386q0 -190 -48 -301t-137 -159t-214 -48q-45 0 -86 5t-76 17v244z" />
<glyph unicode="K" horiz-adv-x="1140" d="M147 0v1462h289v-671q14 41 40 87t59 101l296 483h316l-404 -649l408 -813h-324l-288 602l-103 -86v-516h-289z" />
<glyph unicode="L" horiz-adv-x="929" d="M147 0v1462h289v-1214h451v-248h-740z" />
<glyph unicode="M" horiz-adv-x="1685" d="M147 0v1462h398l293 -1036h6l299 1036h397v-1462h-274v737q0 78 3 176.5t9 184.5h-8l-318 -1098h-237l-309 1100h-9q6 -88 11.5 -190.5t5.5 -178.5v-731h-267z" />
<glyph unicode="N" horiz-adv-x="1390" d="M147 0v1462h347l489 -1026h6q-4 100 -8 189.5t-6 162.5v674h270v-1462h-350l-489 1047h-9q8 -109 11.5 -199t5.5 -168v-680h-267z" />
<glyph unicode="O" horiz-adv-x="1339" d="M98 735q0 358 143.5 554t430.5 196q195 0 320.5 -91t187 -260.5t61.5 -400.5q0 -229 -61.5 -399t-188.5 -262t-321 -92q-195 0 -322 93t-188.5 262t-61.5 400zM399 733q0 -246 66.5 -374t204.5 -128q139 0 204.5 126t65.5 376t-64.5 377t-203.5 127t-206 -129t-67 -375z " />
<glyph unicode="P" horiz-adv-x="1087" d="M147 0v1462h400q242 0 356.5 -117.5t114.5 -336.5q0 -141 -50 -252t-159 -174.5t-279 -63.5h-94v-518h-289zM436 762h66q109 0 168 56t59 186q0 215 -201 215h-92v-457z" />
<glyph unicode="Q" horiz-adv-x="1339" d="M98 735q0 358 143.5 554t430.5 196q285 0 427 -196t142 -556q0 -256 -71.5 -431t-217.5 -255l273 -395h-342l-205 330h-25q-190 0 -313 96t-182.5 266t-59.5 391zM399 733q0 -246 66.5 -374t204.5 -128q139 0 204.5 126t65.5 376t-64.5 377t-203.5 127t-206 -129 t-67 -375z" />
<glyph unicode="R" horiz-adv-x="1138" d="M147 0v1462h365q260 0 386 -106.5t126 -321.5q0 -139 -59.5 -236.5t-167.5 -156.5l340 -641h-320l-272 569h-109v-569h-289zM436 801h74q219 0 219 221q0 102 -55 150.5t-170 48.5h-68v-420z" />
<glyph unicode="S" horiz-adv-x="966" d="M74 61v287q88 -49 181 -79.5t179 -30.5q90 0 132 46t42 113q0 74 -50 123t-173 119q-80 45 -148.5 98.5t-109.5 132t-41 199.5v6q0 186 115.5 297t317.5 111h7q96 0 187.5 -24.5t181.5 -69.5l-86 -248q-80 43 -147.5 64.5t-131.5 21.5q-76 0 -116.5 -40t-40.5 -104 q0 -51 20.5 -88t70.5 -70.5t136 -80.5q145 -80 222 -175t77 -247q0 -131 -56.5 -231.5t-159.5 -155.5t-247 -55q-98 0 -188 18t-174 63z" />
<glyph unicode="T" horiz-adv-x="970" d="M33 1214v248h905v-248h-309v-1214h-287v1214h-309z" />
<glyph unicode="U" horiz-adv-x="1269" d="M139 489v973h289v-952q0 -152 52 -215.5t155 -63.5q106 0 157.5 64.5t51.5 216.5v950h289v-970q0 -244 -126 -378t-376 -134q-240 0 -366 131t-126 378z" />
<glyph unicode="V" horiz-adv-x="1134" d="M0 1462h299l205 -839q10 -39 22.5 -99.5t23.5 -124t17 -106.5q6 43 16.5 105.5t22.5 123t23 101.5l209 839h297l-404 -1462h-330z" />
<glyph unicode="W" horiz-adv-x="1705" d="M2 1462h283l149 -757q10 -53 21.5 -124t21.5 -141.5t17 -128.5q8 63 19 135t23.5 138.5t20.5 111.5l170 766h252l162 -764q10 -47 21.5 -114.5t22.5 -139t19 -133.5q8 86 25.5 196.5t34.5 197.5l151 757h287l-311 -1462h-332l-154 717q-12 66 -28.5 165t-24.5 187 q-4 -45 -13.5 -109.5t-20.5 -129t-19 -111.5l-154 -719h-330z" />
<glyph unicode="X" horiz-adv-x="1087" d="M2 0l371 745l-344 717h307l207 -481l202 481h308l-344 -719l376 -743h-315l-229 508l-236 -508h-303z" />
<glyph unicode="Y" horiz-adv-x="1062" d="M0 1462h305l227 -596l228 596h303l-387 -897v-565h-289v557z" />
<glyph unicode="Z" horiz-adv-x="968" d="M47 0v201l543 1016h-531v245h850v-200l-540 -1014h555v-248h-877z" />
<glyph unicode="[" horiz-adv-x="643" d="M119 -334v1817h477v-209h-223v-1399h223v-209h-477z" />
<glyph unicode="\" horiz-adv-x="833" d="M14 1473h250l553 -1483h-248z" />
<glyph unicode="]" horiz-adv-x="643" d="M49 -125h223v1399h-223v209h473v-1817h-473v209z" />
<glyph unicode="^" horiz-adv-x="1071" d="M27 553l428 911h143l446 -911h-243l-273 569l-258 -569h-243z" />
<glyph unicode="_" horiz-adv-x="933" d="M-4 -158h942v-182h-942v182z" />
<glyph unicode="`" horiz-adv-x="667" d="M82 1550v19h315q23 -45 57.5 -102.5t70.5 -110.5t61 -88v-27h-193q-31 25 -74 65t-89 86t-86 88t-62 70z" />
<glyph unicode="a" horiz-adv-x="1036" d="M68 332q0 176 105.5 264t305.5 96l156 6v45q0 178 -139 179q-57 0 -121 -19.5t-133 -58.5l-82 200q164 97 379 97q182 0 277 -99.5t95 -298.5v-743h-200l-47 150h-7q-59 -88 -125.5 -129t-179.5 -41q-141 0 -212.5 101t-71.5 251zM348 340q0 -76 31 -109.5t84 -33.5 q74 0 123 59t49 164v100l-90 -4q-102 -4 -149.5 -49t-47.5 -127z" />
<glyph unicode="b" horiz-adv-x="1105" d="M129 0v1556h277v-380q0 -41 -2.5 -93.5t-6.5 -107.5h11q45 80 110.5 122t155.5 42q162 0 257 -149.5t95 -426.5q0 -279 -95 -431t-263 -152q-90 0 -149.5 34.5t-110.5 106.5h-17l-43 -121h-219zM406 545q0 -168 40.5 -251t137.5 -83q160 0 159 354q1 340 -161 340 q-98 0 -136 -80t-40 -231v-49z" />
<glyph unicode="c" horiz-adv-x="888" d="M80 555q0 270 116.5 428t344.5 158q92 0 164.5 -20.5t132.5 -55.5l-80 -219q-53 27 -103.5 43t-99.5 16q-193 0 -193 -350q0 -340 195 -340q70 0 132.5 22.5t121.5 63.5v-238q-115 -83 -281 -83q-223 0 -336.5 140t-113.5 435z" />
<glyph unicode="d" horiz-adv-x="1105" d="M80 559q0 279 95 430.5t259 151.5q90 0 156.5 -43t111.5 -121h11q-4 53 -8.5 105.5t-4.5 93.5v380h277v-1556h-219l-43 129h-15q-49 -72 -108.5 -110.5t-153.5 -38.5q-168 0 -263 151.5t-95 427.5zM360 561q0 -352 166 -352q94 0 136.5 76.5t44.5 238.5v56 q0 164 -42 243.5t-141 79.5q-80 0 -122 -87t-42 -255z" />
<glyph unicode="e" horiz-adv-x="1017" d="M80 553q0 287 115.5 436.5t326.5 149.5q201 0 312.5 -135.5t111.5 -370.5v-150h-590q4 -282 230 -282h2q82 0 153.5 18.5t149.5 63.5v-226q-72 -41 -152 -59t-182 -18q-238 0 -357.5 149.5t-119.5 423.5zM358 680h328q0 113 -41 180.5t-119 67.5q-72 0 -118 -58.5 t-50 -189.5z" />
<glyph unicode="f" horiz-adv-x="665" d="M25 897v143l139 80v49q0 211 80 304.5t243 93.5q68 0 122.5 -11.5t113.5 -33.5l-64 -209q-31 10 -60.5 17t-63.5 7q-49 0 -71 -37.5t-22 -121.5v-58h205v-223h-205v-897h-278v897h-139z" />
<glyph unicode="g" horiz-adv-x="1105" d="M80 555q0 279 95 432.5t265 153.5q88 0 150.5 -38t111.5 -126h15l22 143h238v-1081q0 -256 -122 -393.5t-380 -137.5q-193 0 -340 74v238q170 -84 340 -84q106 0 165.5 54t59.5 181v21q0 33 2.5 77t6.5 78h-9q-49 -88 -114.5 -127.5t-153.5 -39.5q-166 0 -259 151.5 t-93 423.5zM362 551q0 -338 166 -338q90 0 134.5 71.5t44.5 231.5v51q0 178 -44.5 257t-138.5 79q-162 0 -162 -352z" />
<glyph unicode="h" horiz-adv-x="1122" d="M129 0v1556h277v-337q0 -66 -4.5 -130.5t-14.5 -111.5h16q39 82 109 123t158 41q156 0 241.5 -101.5t85.5 -302.5v-737h-278v659q0 123 -31 181.5t-98 58.5q-106 0 -145 -90t-39 -274v-535h-277z" />
<glyph unicode="i" horiz-adv-x="536" d="M117 1407q0 80 39.5 116t111.5 36q152 0 152 -152q0 -76 -40 -113t-112 -37q-70 0 -110.5 37t-40.5 113zM129 0v1120h279v-1120h-279z" />
<glyph unicode="j" horiz-adv-x="536" d="M-80 -236q51 -18 103 -18q51 0 78.5 37t27.5 119v1218h279v-1241q0 -180 -81 -274.5t-245 -96.5q-88 0 -162 23v233zM117 1407q0 80 40 116t111 36q152 0 152 -152q0 -76 -40 -113t-112 -37q-70 0 -110.5 37t-40.5 113z" />
<glyph unicode="k" horiz-adv-x="1058" d="M129 0v1556h277v-684q0 -135 -13 -266h6q49 90 95 158l245 356h305l-337 -467l354 -653h-307l-236 459l-112 -103v-356h-277z" />
<glyph unicode="l" horiz-adv-x="534" d="M129 0v1556h277v-1556h-277z" />
<glyph unicode="m" horiz-adv-x="1675" d="M129 0v1120h217l33 -143h16q37 82 111 123t168 41q104 0 169.5 -44t98.5 -118h21q81 162 274 162q156 0 234.5 -99.5t78.5 -306.5v-735h-276v657q0 244 -129 244q-92 0 -129 -84t-37 -252v-565h-279v659q0 242 -125 242q-98 0 -133.5 -94t-35.5 -275v-532h-277z" />
<glyph unicode="n" horiz-adv-x="1122" d="M129 0v1120h217l33 -143h16q41 82 114 123t163 41q152 0 238.5 -101.5t86.5 -302.5v-737h-278v659q0 119 -30 180.5t-103 61.5q-102 0 -141 -86t-39 -280v-535h-277z" />
<glyph unicode="o" horiz-adv-x="1079" d="M80 563q0 174 50 303t152.5 202t260.5 73q207 0 332.5 -149.5t125.5 -428.5q0 -166 -50 -298t-152.5 -208.5t-261.5 -76.5q-147 0 -250 76.5t-155 208.5t-52 298zM362 559q0 -172 42 -260t137 -88q94 0 135 88t41 264q0 174 -41 260t-135 86t-136.5 -87t-42.5 -263z" />
<glyph unicode="p" horiz-adv-x="1105" d="M129 -492v1612h223l41 -147h15q49 88 111.5 128t150.5 40q168 0 262 -150.5t94 -431.5q0 -274 -95 -426.5t-259 -152.5q-90 0 -155.5 40.5t-108.5 118.5h-13q6 -57 8.5 -102t2.5 -80v-449h-277zM406 541q0 -166 40.5 -246t135.5 -80q162 0 161 342q1 352 -161 352 q-94 0 -134 -76.5t-42 -242.5v-49z" />
<glyph unicode="q" horiz-adv-x="1105" d="M80 555q0 281 96 433.5t264 152.5q92 0 153.5 -40t108.5 -124h15l22 143h238v-1612h-277v445q0 35 3.5 83t7.5 111h-11q-89 -167 -266 -167h-2q-162 0 -257 149.5t-95 425.5zM362 551q0 -338 166 -338q92 0 134.5 74.5t44.5 228.5v51q0 174 -42 255t-141 81 q-162 0 -162 -352z" />
<glyph unicode="r" horiz-adv-x="776" d="M129 0v1120h213l41 -186h12q39 82 105.5 144.5t156.5 62.5q45 0 95 -13l-23 -286q-37 14 -94 14q-102 0 -164.5 -73.5t-62.5 -211.5v-571h-279z" />
<glyph unicode="s" horiz-adv-x="841" d="M68 825q0 150 100 233t274 83q88 0 167 -22.5t159 -65.5l-80 -209q-57 33 -116.5 55.5t-120.5 22.5q-111 0 -111 -84q0 -29 13.5 -50.5t53 -46t117.5 -67.5q115 -59 185.5 -135t70.5 -209q0 -170 -103.5 -260t-291.5 -90q-92 0 -169 15t-146 48v256q66 -37 146.5 -63.5 t154.5 -26.5q133 0 133 100q0 27 -13.5 51.5t-53.5 51t-124 67.5q-121 59 -183 138t-62 208z" />
<glyph unicode="t" horiz-adv-x="720" d="M31 897v137l141 80l72 242h184v-236h236v-223h-236v-551q0 -129 104 -129q70 0 146 31v-217q-47 -23 -105.5 -37t-126.5 -14q-145 0 -219.5 83.5t-74.5 274.5v559h-121z" />
<glyph unicode="u" horiz-adv-x="1122" d="M125 389v731h278v-653q0 -123 30 -185.5t99 -62.5q111 0 148 89t37 255v557h276v-1120h-215l-35 143h-14q-43 -82 -114.5 -122.5t-161.5 -40.5q-158 0 -243 104t-85 305z" />
<glyph unicode="v" horiz-adv-x="987" d="M4 1120h289l153 -606q16 -59 25.5 -118.5t15.5 -119.5h9q2 47 11 104.5t25 123.5l160 616h289l-340 -1120h-297z" />
<glyph unicode="w" horiz-adv-x="1507" d="M14 1120h279l94 -450q16 -84 29.5 -186.5t21.5 -186.5h6q6 72 20.5 169t31.5 181l102 473h313l99 -479q14 -76 28.5 -173t20.5 -171h8q4 66 17.5 162t29.5 180l105 481h272l-264 -1120h-314l-96 512q-8 45 -20.5 111.5t-23.5 132t-17 108.5h-6q-8 -45 -20.5 -112.5 t-24 -133t-19.5 -106.5l-100 -512h-312z" />
<glyph unicode="x" horiz-adv-x="978" d="M14 0l297 573l-284 547h307l155 -342l158 342h303l-282 -551l297 -569h-308l-172 367l-170 -367h-301z" />
<glyph unicode="y" horiz-adv-x="987" d="M4 1120h295l156 -569q12 -51 23 -105.5t16 -101.5h6q6 45 16 95t27 110l147 571h291l-375 -1239q-59 -197 -156.5 -285t-240.5 -88q-39 0 -72 4.5t-63 12.5v237q20 -6 44.5 -10t47.5 -4q72 0 108.5 45t71.5 154l16 63z" />
<glyph unicode="z" horiz-adv-x="817" d="M45 0v170l399 723h-374v227h684v-186l-383 -709h401v-225h-727z" />
<glyph unicode="{" horiz-adv-x="765" d="M43 459v219q113 0 168 44t55 138v295q0 111 37 180.5t131 102t266 35.5v-218q-84 -2 -131 -29.5t-47 -111.5v-295q0 -109 -48 -168t-152 -76v-12q106 -18 153 -77.5t47 -161.5v-297q0 -78 42 -110t136 -34v-217q-164 0 -258 30t-135 99.5t-41 190.5v293q0 90 -54 135 t-169 45z" />
<glyph unicode="|" horiz-adv-x="931" d="M350 -471v2038h232v-2038h-232z" />
<glyph unicode="}" horiz-adv-x="765" d="M66 -117q92 2 135 32t43 112v297q0 104 47 162.5t151 76.5v12q-104 16 -151 77t-47 167v295q0 86 -50.5 112.5t-127.5 28.5v218q164 -2 258 -32t135 -98.5t41 -187.5v-295q0 -90 52 -136t169 -46v-219q-221 0 -221 -180v-293q0 -113 -38 -183.5t-132 -103.5t-264 -33v217 z" />
<glyph unicode="~" horiz-adv-x="1030" d="M66 551v233q96 106 233 107q61 0 118.5 -16.5t127.5 -47.5q117 -55 205 -55q51 0 107 34t104 87v-234q-92 -104 -232 -104q-61 0 -117.5 14t-128.5 47q-59 29 -109 42.5t-98 13.5q-49 0 -103 -32t-107 -89z" />
<glyph unicode="&#xa1;" horiz-adv-x="544" d="M111 -373l45 1000h229l47 -1000h-321zM111 963q0 82 44 124.5t117 42.5q72 0 118 -42.5t46 -124.5q0 -88 -44 -129t-120 -41t-118.5 42t-42.5 128z" />
<glyph unicode="&#xa2;" d="M131 741q0 256 92 403.5t266 172.5v166h158v-160q68 -4 130.5 -22.5t111.5 -47.5l-78 -221q-106 59 -201 60q-98 0 -146 -84t-48 -267q0 -178 47 -259t145 -81q66 0 129.5 21.5t124.5 58.5v-235q-94 -59 -215 -76v-190h-158v194q-180 23 -269 168t-89 399z" />
<glyph unicode="&#xa3;" d="M86 645v209h150v211q0 213 103 315.5t277 102.5t320 -84l-80 -221q-123 59 -217 59q-57 0 -90 -40t-33 -132v-211h293v-209h-293v-149q0 -90 -37 -150.5t-100 -97.5h582v-248h-871v236q72 41 109 95t37 163v151h-150z" />
<glyph unicode="&#xa4;" horiz-adv-x="1134" d="M96 1061l133 131l127 -131q92 61 209 61q57 0 108.5 -16t100.5 -47l129 133l133 -129l-131 -131q59 -94 60 -209q0 -115 -60 -211l127 -127l-129 -129l-129 129q-96 -59 -209 -59q-117 0 -211 59l-125 -127l-131 129l131 127q-61 96 -61 209q0 109 61 207zM352 723 q0 -88 61.5 -151.5t151.5 -63.5q92 0 154.5 63.5t62.5 151.5q0 59 -28.5 108.5t-78.5 79t-110 29.5q-57 0 -106 -29.5t-78 -79t-29 -108.5z" />
<glyph unicode="&#xa5;" d="M23 1462h294l195 -581l190 581h297l-305 -741h199v-176h-244v-139h244v-177h-244v-229h-276v229h-246v177h246v139h-246v176h195z" />
<glyph unicode="&#xa6;" horiz-adv-x="931" d="M350 338h232v-811h-232v811zM350 741v811h232v-811h-232z" />
<glyph unicode="&#xa7;" horiz-adv-x="886" d="M92 803q0 78 39 139.5t105 99.5q-129 94 -130 236q0 131 100.5 207t258.5 76q86 0 163 -20.5t154 -59.5l-75 -187q-63 37 -122 58.5t-114 21.5q-129 0 -129 -96q0 -49 43 -82t129 -74q137 -66 210 -138.5t73 -188.5q0 -88 -34 -149.5t-93 -106.5q117 -90 116 -230 q0 -145 -104 -230t-283 -85q-182 0 -305 80v209q63 -41 149.5 -71t151.5 -30q80 0 118 30t38 83q0 35 -14.5 58.5t-52.5 48t-111 63.5q-147 72 -214 143.5t-67 194.5zM307 831q0 -55 41 -96t123 -84l47 -24q27 20 44.5 53t17.5 76q0 61 -40 105t-155 97q-78 -35 -78 -127z " />
<glyph unicode="&#xa8;" horiz-adv-x="1069" d="M213 1397q0 70 36 103.5t93 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-93 33.5t-36 99.5zM594 1397q0 70 37 103.5t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z" />
<glyph unicode="&#xa9;" horiz-adv-x="1695" d="M90 729q0 164 58.5 302t162 239.5t241.5 157t298 55.5q162 0 300 -56.5t240.5 -159t159 -239.5t56.5 -299q0 -164 -57.5 -301t-160 -237.5t-241.5 -155.5t-305 -55q-168 0 -306.5 56t-237.5 158.5t-153.5 238.5t-54.5 296zM240 727q0 -182 79.5 -321.5t218 -216 t314.5 -76.5q174 0 310 78.5t214 218t78 319.5t-80 320.5t-217 220.5t-311 80q-178 0 -315.5 -82t-214 -222.5t-76.5 -318.5zM455 729q0 215 111.5 341t314.5 126q143 0 282 -70l-71 -149q-51 27 -101.5 39t-95.5 12q-113 0 -175.5 -75.5t-62.5 -227.5q0 -293 238 -293 q111 0 231 55v-165q-57 -27 -116 -42.5t-129 -15.5q-205 0 -315.5 124t-110.5 341z" />
<glyph unicode="&#xaa;" horiz-adv-x="710" d="M45 973q0 123 82 171t221 56l82 4v23q0 98 -98 98q-45 0 -91 -16.5t-96 -40.5l-57 137q63 33 131 53.5t152 20.5q123 0 187.5 -70t64.5 -199v-448h-136l-30 110q-35 -57 -87.5 -89.5t-123.5 -32.5q-94 0 -147.5 63.5t-53.5 159.5zM240 979q0 -78 73 -78q53 0 85 42 t32 110v34l-70 -6q-66 -6 -93 -31.5t-27 -70.5z" />
<glyph unicode="&#xab;" horiz-adv-x="1124" d="M63 547v28l328 447l199 -104l-232 -357l232 -354l-199 -107zM530 547v28l328 447l199 -104l-230 -357l230 -354l-199 -107z" />
<glyph unicode="&#xac;" horiz-adv-x="1030" d="M74 614v217h872v-587h-221v370h-651z" />
<glyph unicode="&#xad;" horiz-adv-x="634" d="M59 422v254h519v-254h-519z" />
<glyph unicode="&#xae;" horiz-adv-x="1695" d="M90 729q0 164 58.5 302t162 239.5t241.5 157t298 55.5q162 0 300 -56.5t240.5 -159t159 -239.5t56.5 -299q0 -164 -57.5 -301t-160 -237.5t-241.5 -155.5t-305 -55q-168 0 -306.5 56t-237.5 158.5t-153.5 238.5t-54.5 296zM240 727q0 -182 79.5 -321.5t218 -216 t314.5 -76.5q174 0 310 78.5t214 218t78 319.5t-80 320.5t-217 220.5t-311 80q-178 0 -315.5 -82t-214 -222.5t-76.5 -318.5zM545 299v887h276q340 0 340 -271q0 -88 -38 -146t-109 -91l209 -379h-217l-166 336h-99v-336h-196zM741 780h70q70 0 110 32t40 97q0 63 -34 90 t-116 27h-70v-246z" />
<glyph unicode="&#xaf;" horiz-adv-x="983" d="M-4 1556v201h993v-201h-993z" />
<glyph unicode="&#xb0;" horiz-adv-x="782" d="M68 1169q0 92 42 163t114.5 111t164.5 40q141 0 232.5 -88t91.5 -226q0 -92 -42 -162.5t-115 -110.5t-167 -40q-92 0 -164.5 40t-114.5 110.5t-42 162.5zM246 1169q0 -68 40 -106.5t103 -38.5q66 0 106 39t40 106q0 66 -40 106t-106 40t-104.5 -41t-38.5 -105z" />
<glyph unicode="&#xb1;" horiz-adv-x="1030" d="M74 0v217h880v-217h-880zM74 696v217h332v387h219v-387h329v-217h-329v-383h-219v383h-332z" />
<glyph unicode="&#xb2;" horiz-adv-x="712" d="M49 1622q45 53 121 90t168 37q127 0 200.5 -65.5t73.5 -174.5q0 -72 -24.5 -129t-79.5 -123.5t-148 -160.5l-61 -64h336v-182h-578v172l197 217q80 90 112.5 141.5t32.5 108.5q0 39 -23.5 61.5t-66.5 22.5q-76 0 -155 -88z" />
<glyph unicode="&#xb3;" horiz-adv-x="712" d="M55 1636q59 51 129 81t152 30q119 0 195.5 -59.5t76.5 -163.5q0 -150 -145 -209v-10q170 -47 170 -215q0 -119 -87 -187.5t-239 -68.5q-137 0 -246 65v191q53 -39 114 -59.5t130 -20.5q127 0 127 98q0 51 -35 81t-114 30h-90v157h75q78 0 111 30t33 79q0 41 -23.5 66.5 t-73.5 25.5q-82 0 -170 -74z" />
<glyph unicode="&#xb4;" horiz-adv-x="667" d="M82 1241v27q53 74 102 152.5t86 148.5h316v-19q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194z" />
<glyph unicode="&#xb5;" horiz-adv-x="1124" d="M127 -492v1612h279v-657q0 -119 29.5 -181.5t99.5 -62.5q111 0 146.5 99.5t35.5 265.5v536h278v-1120h-215l-35 145h-12q-63 -166 -192 -165q-90 0 -140 90h-6q4 -45 7.5 -107.5t3.5 -120.5v-334h-279z" />
<glyph unicode="&#xb6;" horiz-adv-x="1118" d="M96 1042q0 266 91.5 390t267.5 124h522v-1816h-156v1657h-137v-1657h-154v819q-47 -18 -104 -18q-164 0 -247 120.5t-83 380.5z" />
<glyph unicode="&#xb7;" horiz-adv-x="540" d="M109 720q0 84 44 126t119 42q74 0 118 -41t44 -127q0 -84 -45 -127t-117 -43q-74 0 -118.5 43t-44.5 127z" />
<glyph unicode="&#xb8;" horiz-adv-x="364" d="M-37 -315q59 -16 115 -17q88 0 88 72q0 82 -150 96l72 164h154l-33 -76q78 -16 126 -63t48 -123q0 -106 -66.5 -168t-203.5 -62q-88 0 -150 19v158z" />
<glyph unicode="&#xb9;" horiz-adv-x="712" d="M76 1493l286 233h170v-876h-210v434q0 49 1 106.5t5 102.5q-27 -33 -58 -53l-94 -76z" />
<glyph unicode="&#xba;" horiz-adv-x="712" d="M53 1114q0 174 82 269.5t223 95.5q133 0 217 -94.5t84 -270.5q0 -170 -79.5 -267t-223.5 -97q-139 0 -221 98t-82 266zM248 1114q0 -203 108 -203q109 0 109 203q0 205 -109 205q-108 0 -108 -205z" />
<glyph unicode="&#xbb;" horiz-adv-x="1124" d="M70 207l229 354l-229 357l198 104l328 -447v-28l-328 -447zM535 207l231 354l-231 357l198 104l328 -447v-28l-328 -447z" />
<glyph unicode="&#xbc;" horiz-adv-x="1654" d="M57 1227l285 235h170v-876h-211v434q0 47 2 105.5t6 103.5q-14 -16 -29.5 -30.5t-27.5 -24.5l-96 -76zM356 0l748 1462h223l-752 -1462h-219zM965 156v149l331 576h220v-562h112v-163h-112v-156h-207v156h-344zM1135 319h174v191q0 84 6 156q-12 -35 -28.5 -71t-31.5 -60 z" />
<glyph unicode="&#xbd;" horiz-adv-x="1695" d="M57 1227l285 235h170v-876h-211v434q0 47 2 105.5t6 103.5q-14 -16 -29.5 -30.5t-27.5 -24.5l-96 -76zM334 0l749 1462h224l-752 -1462h-221zM1034 770q47 53 121 91t168 38q127 0 199.5 -66.5t72.5 -173.5q0 -106 -49 -181t-133 -163l-129 -135h334v-180h-576v170 l195 213q84 90 115.5 142.5t31.5 109.5q0 39 -24.5 62.5t-65.5 23.5q-82 0 -157 -88z" />
<glyph unicode="&#xbe;" horiz-adv-x="1671" d="M66 1370q57 53 126.5 83t151.5 30q119 0 196.5 -60.5t77.5 -162.5q0 -154 -147 -211v-9q170 -49 170 -217q0 -119 -87 -186.5t-237 -67.5q-139 0 -245 64v190q53 -37 113.5 -58.5t129.5 -21.5q125 0 125 99q0 53 -34.5 82.5t-112.5 29.5h-92v156h75q80 0 113 29.5 t33 79.5q0 41 -23.5 66.5t-74.5 25.5q-45 0 -84 -17.5t-84 -56.5zM379 0l749 1462h224l-752 -1462h-221zM981 156v149l332 576h219v-562h113v-163h-113v-156h-207v156h-344zM1151 319h174v191q0 84 6 156q-12 -35 -28.5 -71t-30.5 -60z" />
<glyph unicode="&#xbf;" horiz-adv-x="821" d="M39 -20q0 86 22.5 149.5t66.5 118.5t109 117q51 47 77 79.5t34 62.5t8 71v49h236v-74q0 -102 -33 -172t-115 -143q-74 -70 -104.5 -119t-30.5 -119q0 -135 145 -135q66 0 129.5 24.5t135.5 69.5l96 -213q-90 -57 -184.5 -90t-198.5 -33q-190 0 -291.5 96.5t-101.5 260.5z M307 961q0 84 45 127t117 43q74 0 120 -43t46 -127t-45.5 -126t-120.5 -42q-72 0 -117 41t-45 127z" />
<glyph unicode="&#xc0;" horiz-adv-x="1177" d="M0 0l403 1464h367l408 -1464h-310l-84 350h-389l-84 -350h-311zM242 1886v19h315q23 -45 57.5 -102.5t70.5 -110.5t61 -88v-27h-193q-31 25 -74 65t-89 86t-86 88t-62 70zM449 600h282l-88 373q-12 66 -28.5 139.5t-24.5 130.5q-8 -55 -24.5 -132t-30.5 -136z" />
<glyph unicode="&#xc1;" horiz-adv-x="1177" d="M0 0l403 1464h367l408 -1464h-310l-84 350h-389l-84 -350h-311zM449 600h282l-88 373q-12 66 -28.5 139.5t-24.5 130.5q-8 -55 -24.5 -132t-30.5 -136zM451 1577v27q53 74 102 152.5t86 148.5h316v-19q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194z" />
<glyph unicode="&#xc2;" horiz-adv-x="1177" d="M0 0l403 1464h367l408 -1464h-310l-84 350h-389l-84 -350h-311zM238 1577v27q33 39 75 94t78.5 110.5t59.5 96.5h278q35 -68 94.5 -150t116.5 -151v-27h-174q-41 31 -86 73t-92 95q-47 -53 -92 -96t-84 -72h-174zM449 600h282l-88 373q-12 66 -28.5 139.5t-24.5 130.5 q-8 -55 -24.5 -132t-30.5 -136z" />
<glyph unicode="&#xc3;" horiz-adv-x="1177" d="M0 0l403 1464h367l408 -1464h-310l-84 350h-389l-84 -350h-311zM232 1575q4 76 25.5 146.5t65.5 115.5t116 45q55 0 104 -26.5t94 -52t91 -25.5q57 0 75 106h146q-4 -152 -63.5 -229.5t-141.5 -77.5q-53 0 -105.5 25.5t-99.5 52.5t-84 27q-25 0 -46 -26t-30 -81h-147z M449 600h282l-88 373q-12 66 -28.5 139.5t-24.5 130.5q-8 -55 -24.5 -132t-30.5 -136z" />
<glyph unicode="&#xc4;" horiz-adv-x="1177" d="M0 0l403 1464h367l408 -1464h-310l-84 350h-389l-84 -350h-311zM268 1733q0 70 36 103.5t93 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-93 33.5t-36 99.5zM449 600h282l-88 373q-12 66 -28.5 139.5t-24.5 130.5q-8 -55 -24.5 -132t-30.5 -136zM649 1733q0 70 37 103.5 t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z" />
<glyph unicode="&#xc5;" horiz-adv-x="1177" d="M0 0l403 1464h367l408 -1464h-310l-84 350h-389l-84 -350h-311zM346 1561q0 106 66.5 171.5t175.5 65.5q104 0 173.5 -65.5t69.5 -169.5t-68.5 -170t-174.5 -66q-109 0 -175.5 64.5t-66.5 169.5zM449 600h282l-88 373q-12 66 -28.5 139.5t-24.5 130.5q-8 -55 -24.5 -132 t-30.5 -136zM493 1563q0 -43 25 -69t70 -26q41 0 67.5 26t26.5 69q0 41 -26.5 67.5t-67.5 26.5t-68 -26.5t-27 -67.5z" />
<glyph unicode="&#xc6;" horiz-adv-x="1576" d="M-4 0l508 1462h977v-245h-432v-336h401v-244h-401v-389h432v-248h-719v350h-344l-115 -350h-307zM498 600h264v614h-70z" />
<glyph unicode="&#xc7;" horiz-adv-x="1083" d="M98 729q0 219 66.5 389t193.5 267.5t312 97.5q186 0 358 -94l-86 -238q-61 37 -125.5 61.5t-132.5 24.5q-94 0 -158.5 -64.5t-96.5 -180t-32 -265.5q0 -242 75 -371t222 -129q74 0 143.5 21.5t143.5 56.5v-252q-72 -37 -150.5 -55t-173.5 -18q-274 0 -416.5 198.5 t-142.5 550.5zM416 -315q59 -16 115 -17q88 0 88 72q0 82 -150 96l72 164h154l-33 -76q78 -16 126 -63t48 -123q0 -106 -66.5 -168t-203.5 -62q-88 0 -150 19v158z" />
<glyph unicode="&#xc8;" horiz-adv-x="956" d="M147 0v1462h713v-243h-424v-338h393v-244h-393v-389h424v-248h-713zM164 1886v19h315q23 -45 57.5 -102.5t70.5 -110.5t61 -88v-27h-193q-31 25 -74 65t-89 86t-86 88t-62 70z" />
<glyph unicode="&#xc9;" horiz-adv-x="956" d="M147 0v1462h713v-243h-424v-338h393v-244h-393v-389h424v-248h-713zM358 1577v27q53 74 102 152.5t86 148.5h316v-19q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194z" />
<glyph unicode="&#xca;" horiz-adv-x="956" d="M147 0v1462h713v-243h-424v-338h393v-244h-393v-389h424v-248h-713zM154 1577v27q33 39 75 94t78.5 110.5t59.5 96.5h278q35 -68 94.5 -150t116.5 -151v-27h-174q-41 31 -86 73t-92 95q-47 -53 -92 -96t-84 -72h-174z" />
<glyph unicode="&#xcb;" horiz-adv-x="956" d="M147 0v1462h713v-243h-424v-338h393v-244h-393v-389h424v-248h-713zM182 1733q0 70 36 103.5t93 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-93 33.5t-36 99.5zM563 1733q0 70 37 103.5t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z" />
<glyph unicode="&#xcc;" horiz-adv-x="706" d="M12 1886v19h315q23 -45 57.5 -102.5t70.5 -110.5t61 -88v-27h-193q-31 25 -74 65t-89 86t-86 88t-62 70zM61 0v160l148 63v1016l-148 64v159h586v-159l-149 -64v-1016l149 -63v-160h-586z" />
<glyph unicode="&#xcd;" horiz-adv-x="706" d="M61 0v160l148 63v1016l-148 64v159h586v-159l-149 -64v-1016l149 -63v-160h-586zM215 1577v27q53 74 102 152.5t86 148.5h316v-19q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194z" />
<glyph unicode="&#xce;" horiz-adv-x="706" d="M4 1577v27q33 39 75 94t78.5 110.5t59.5 96.5h278q35 -68 94.5 -150t116.5 -151v-27h-174q-41 31 -86 73t-92 95q-47 -53 -92 -96t-84 -72h-174zM61 0v160l148 63v1016l-148 64v159h586v-159l-149 -64v-1016l149 -63v-160h-586z" />
<glyph unicode="&#xcf;" horiz-adv-x="706" d="M31 1733q0 70 36 103.5t93 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-93 33.5t-36 99.5zM61 0v160l148 63v1016l-148 64v159h586v-159l-149 -64v-1016l149 -63v-160h-586zM412 1733q0 70 37 103.5t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z " />
<glyph unicode="&#xd0;" horiz-adv-x="1255" d="M25 633v223h122v606h394q291 0 454.5 -181t163.5 -527q0 -367 -168 -560.5t-479 -193.5h-365v633h-122zM436 250h82q174 0 258 122t84 371q0 244 -81.5 359t-237.5 115h-105v-361h185v-223h-185v-383z" />
<glyph unicode="&#xd1;" horiz-adv-x="1390" d="M147 0v1462h347l489 -1026h6q-4 100 -8 189.5t-6 162.5v674h270v-1462h-350l-489 1047h-9q8 -109 11.5 -199t5.5 -168v-680h-267zM340 1575q4 76 25.5 146.5t65.5 115.5t116 45q55 0 104 -26.5t94 -52t91 -25.5q57 0 75 106h146q-4 -152 -63.5 -229.5t-141.5 -77.5 q-53 0 -105.5 25.5t-99.5 52.5t-84 27q-25 0 -46 -26t-30 -81h-147z" />
<glyph unicode="&#xd2;" horiz-adv-x="1339" d="M98 735q0 358 143.5 554t430.5 196q195 0 320.5 -91t187 -260.5t61.5 -400.5q0 -229 -61.5 -399t-188.5 -262t-321 -92q-195 0 -322 93t-188.5 262t-61.5 400zM326 1886v19h315q23 -45 57.5 -102.5t70.5 -110.5t61 -88v-27h-193q-31 25 -74 65t-89 86t-86 88t-62 70z M399 733q0 -246 66.5 -374t204.5 -128q139 0 204.5 126t65.5 376t-64.5 377t-203.5 127t-206 -129t-67 -375z" />
<glyph unicode="&#xd3;" horiz-adv-x="1339" d="M98 735q0 358 143.5 554t430.5 196q195 0 320.5 -91t187 -260.5t61.5 -400.5q0 -229 -61.5 -399t-188.5 -262t-321 -92q-195 0 -322 93t-188.5 262t-61.5 400zM399 733q0 -246 66.5 -374t204.5 -128q139 0 204.5 126t65.5 376t-64.5 377t-203.5 127t-206 -129t-67 -375z M531 1577v27q53 74 102 152.5t86 148.5h316v-19q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194z" />
<glyph unicode="&#xd4;" horiz-adv-x="1339" d="M98 735q0 358 143.5 554t430.5 196q195 0 320.5 -91t187 -260.5t61.5 -400.5q0 -229 -61.5 -399t-188.5 -262t-321 -92q-195 0 -322 93t-188.5 262t-61.5 400zM320 1577v27q33 39 75 94t78.5 110.5t59.5 96.5h278q35 -68 94.5 -150t116.5 -151v-27h-174q-41 31 -86 73 t-92 95q-47 -53 -92 -96t-84 -72h-174zM399 733q0 -246 66.5 -374t204.5 -128q139 0 204.5 126t65.5 376t-64.5 377t-203.5 127t-206 -129t-67 -375z" />
<glyph unicode="&#xd5;" horiz-adv-x="1339" d="M98 735q0 358 143.5 554t430.5 196q195 0 320.5 -91t187 -260.5t61.5 -400.5q0 -229 -61.5 -399t-188.5 -262t-321 -92q-195 0 -322 93t-188.5 262t-61.5 400zM313 1575q4 76 25.5 146.5t65.5 115.5t116 45q55 0 104 -26.5t94 -52t91 -25.5q57 0 75 106h146 q-4 -152 -63.5 -229.5t-141.5 -77.5q-53 0 -105.5 25.5t-99.5 52.5t-84 27q-25 0 -46 -26t-30 -81h-147zM399 733q0 -246 66.5 -374t204.5 -128q139 0 204.5 126t65.5 376t-64.5 377t-203.5 127t-206 -129t-67 -375z" />
<glyph unicode="&#xd6;" horiz-adv-x="1339" d="M98 735q0 358 143.5 554t430.5 196q195 0 320.5 -91t187 -260.5t61.5 -400.5q0 -229 -61.5 -399t-188.5 -262t-321 -92q-195 0 -322 93t-188.5 262t-61.5 400zM350 1733q0 70 36 103.5t93 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-93 33.5t-36 99.5zM399 733 q0 -246 66.5 -374t204.5 -128q139 0 204.5 126t65.5 376t-64.5 377t-203.5 127t-206 -129t-67 -375zM731 1733q0 70 37 103.5t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z" />
<glyph unicode="&#xd7;" horiz-adv-x="1030" d="M88 995l150 152l274 -270l276 272l152 -150l-276 -276l272 -274l-150 -150l-274 272l-276 -272l-146 152l268 272z" />
<glyph unicode="&#xd8;" horiz-adv-x="1339" d="M98 735q0 358 143.5 554t430.5 196q82 0 152.5 -19.5t129.5 -54.5l72 133l145 -78l-88 -163q80 -94 119 -238t39 -332q0 -360 -143.5 -556.5t-427.5 -196.5q-158 0 -275 67l-76 -147l-147 77l92 175q-88 109 -127 254t-39 329zM393 733q0 -172 37 -287l401 728 q-66 68 -159 67q-143 0 -211 -130t-68 -378zM520 281q57 -57 150 -58q141 0 208.5 130t67.5 380q0 160 -31 266z" />
<glyph unicode="&#xd9;" horiz-adv-x="1269" d="M139 489v973h289v-952q0 -152 52 -215.5t155 -63.5q106 0 157.5 64.5t51.5 216.5v950h289v-970q0 -244 -126 -378t-376 -134q-240 0 -366 131t-126 378zM295 1886v19h315q23 -45 57.5 -102.5t70.5 -110.5t61 -88v-27h-193q-31 25 -74 65t-89 86t-86 88t-62 70z" />
<glyph unicode="&#xda;" horiz-adv-x="1269" d="M139 489v973h289v-952q0 -152 52 -215.5t155 -63.5q106 0 157.5 64.5t51.5 216.5v950h289v-970q0 -244 -126 -378t-376 -134q-240 0 -366 131t-126 378zM494 1577v27q53 74 102 152.5t86 148.5h316v-19q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194z" />
<glyph unicode="&#xdb;" horiz-adv-x="1269" d="M139 489v973h289v-952q0 -152 52 -215.5t155 -63.5q106 0 157.5 64.5t51.5 216.5v950h289v-970q0 -244 -126 -378t-376 -134q-240 0 -366 131t-126 378zM285 1577v27q33 39 75 94t78.5 110.5t59.5 96.5h278q35 -68 94.5 -150t116.5 -151v-27h-174q-41 31 -86 73t-92 95 q-47 -53 -92 -96t-84 -72h-174z" />
<glyph unicode="&#xdc;" horiz-adv-x="1269" d="M139 489v973h289v-952q0 -152 52 -215.5t155 -63.5q106 0 157.5 64.5t51.5 216.5v950h289v-970q0 -244 -126 -378t-376 -134q-240 0 -366 131t-126 378zM315 1733q0 70 36 103.5t93 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-93 33.5t-36 99.5zM696 1733 q0 70 37 103.5t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z" />
<glyph unicode="&#xdd;" horiz-adv-x="1062" d="M0 1462h305l227 -596l228 596h303l-387 -897v-565h-289v557zM391 1577v27q53 74 102 152.5t86 148.5h316v-19q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194z" />
<glyph unicode="&#xde;" horiz-adv-x="1067" d="M147 0v1462h289v-229h113q236 0 347.5 -118t111.5 -335q0 -137 -47.5 -248.5t-150.5 -176t-271 -64.5h-103v-291h-289zM436 532h68q111 0 164 57.5t53 188.5q0 211 -197 211h-88v-457z" />
<glyph unicode="&#xdf;" horiz-adv-x="1204" d="M129 0v1130q0 209 127 323t336 114q129 0 229.5 -40t157.5 -116t57 -182q0 -92 -33.5 -152.5t-77.5 -101.5t-78 -75t-34 -75q0 -35 34 -71.5t107 -89.5q94 -76 142.5 -148t48.5 -184q0 -172 -97.5 -262t-279.5 -90q-72 0 -136.5 13t-121.5 46v248q47 -33 108.5 -56.5 t116.5 -23.5q127 0 127 108q0 51 -29.5 89t-119.5 102q-106 80 -142 149.5t-36 143.5q0 76 33.5 125t76.5 88t77 82t34 106q0 59 -44 98t-122 39q-86 0 -135 -56t-49 -171v-1110h-277z" />
<glyph unicode="&#xe0;" horiz-adv-x="1036" d="M68 332q0 176 105.5 264t305.5 96l156 6v45q0 178 -139 179q-57 0 -121 -19.5t-133 -58.5l-82 200q164 97 379 97q182 0 277 -99.5t95 -298.5v-743h-200l-47 150h-7q-59 -88 -125.5 -129t-179.5 -41q-141 0 -212.5 101t-71.5 251zM201 1550v19h315q23 -45 57.5 -102.5 t70.5 -110.5t61 -88v-27h-193q-31 25 -74 65t-89 86t-86 88t-62 70zM348 340q0 -76 31 -109.5t84 -33.5q74 0 123 59t49 164v100l-90 -4q-102 -4 -149.5 -49t-47.5 -127z" />
<glyph unicode="&#xe1;" horiz-adv-x="1036" d="M68 332q0 176 105.5 264t305.5 96l156 6v45q0 178 -139 179q-57 0 -121 -19.5t-133 -58.5l-82 200q164 97 379 97q182 0 277 -99.5t95 -298.5v-743h-200l-47 150h-7q-59 -88 -125.5 -129t-179.5 -41q-141 0 -212.5 101t-71.5 251zM348 340q0 -76 31 -109.5t84 -33.5 q74 0 123 59t49 164v100l-90 -4q-102 -4 -149.5 -49t-47.5 -127zM375 1241v27q53 74 102 152.5t86 148.5h316v-19q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194z" />
<glyph unicode="&#xe2;" horiz-adv-x="1036" d="M68 332q0 176 105.5 264t305.5 96l156 6v45q0 178 -139 179q-57 0 -121 -19.5t-133 -58.5l-82 200q164 97 379 97q182 0 277 -99.5t95 -298.5v-743h-200l-47 150h-7q-59 -88 -125.5 -129t-179.5 -41q-141 0 -212.5 101t-71.5 251zM180 1241v27q33 39 75 94t78.5 110.5 t59.5 96.5h278q35 -68 94.5 -150t116.5 -151v-27h-174q-41 31 -86 73t-92 95q-47 -53 -92 -96t-84 -72h-174zM348 340q0 -76 31 -109.5t84 -33.5q74 0 123 59t49 164v100l-90 -4q-102 -4 -149.5 -49t-47.5 -127z" />
<glyph unicode="&#xe3;" horiz-adv-x="1036" d="M68 332q0 176 105.5 264t305.5 96l156 6v45q0 178 -139 179q-57 0 -121 -19.5t-133 -58.5l-82 200q164 97 379 97q182 0 277 -99.5t95 -298.5v-743h-200l-47 150h-7q-59 -88 -125.5 -129t-179.5 -41q-141 0 -212.5 101t-71.5 251zM170 1239q4 76 25.5 146.5t65.5 115.5 t116 45q55 0 104 -26.5t94 -52t91 -25.5q57 0 75 106h146q-4 -152 -63.5 -229.5t-141.5 -77.5q-53 0 -105.5 25.5t-99.5 52.5t-84 27q-25 0 -46 -26t-30 -81h-147zM348 340q0 -76 31 -109.5t84 -33.5q74 0 123 59t49 164v100l-90 -4q-102 -4 -149.5 -49t-47.5 -127z" />
<glyph unicode="&#xe4;" horiz-adv-x="1036" d="M68 332q0 176 105.5 264t305.5 96l156 6v45q0 178 -139 179q-57 0 -121 -19.5t-133 -58.5l-82 200q164 97 379 97q182 0 277 -99.5t95 -298.5v-743h-200l-47 150h-7q-59 -88 -125.5 -129t-179.5 -41q-141 0 -212.5 101t-71.5 251zM207 1397q0 70 36 103.5t93 33.5t93 -35 t36 -102q0 -63 -36 -98t-93 -35t-93 33.5t-36 99.5zM348 340q0 -76 31 -109.5t84 -33.5q74 0 123 59t49 164v100l-90 -4q-102 -4 -149.5 -49t-47.5 -127zM588 1397q0 70 37 103.5t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z" />
<glyph unicode="&#xe5;" horiz-adv-x="1036" d="M68 332q0 176 105.5 264t305.5 96l156 6v45q0 178 -139 179q-57 0 -121 -19.5t-133 -58.5l-82 200q164 97 379 97q182 0 277 -99.5t95 -298.5v-743h-200l-47 150h-7q-59 -88 -125.5 -129t-179.5 -41q-141 0 -212.5 101t-71.5 251zM289 1475q0 106 66.5 171.5t175.5 65.5 q104 0 173.5 -65.5t69.5 -169.5t-68.5 -170t-174.5 -66q-109 0 -175.5 64.5t-66.5 169.5zM348 340q0 -76 31 -109.5t84 -33.5q74 0 123 59t49 164v100l-90 -4q-102 -4 -149.5 -49t-47.5 -127zM436 1477q0 -43 25 -69t70 -26q41 0 67.5 26t26.5 69q0 41 -26.5 67.5 t-67.5 26.5t-68 -26.5t-27 -67.5z" />
<glyph unicode="&#xe6;" horiz-adv-x="1560" d="M68 332q0 176 103 264t302 96l156 6v56q0 168 -137 168q-115 0 -252 -78l-80 200q76 45 167 71t187 26q188 0 274 -123q51 59 121 90t164 31q197 0 305.5 -135.5t108.5 -370.5v-150h-590q4 -285 231 -284q80 0 154 19.5t150 64.5v-226q-72 -41 -150 -59t-180 -18 q-119 0 -218.5 49t-156.5 149q-72 -102 -153.5 -150t-200.5 -48q-147 0 -226 101t-79 251zM348 340q0 -76 30 -109.5t83 -33.5q72 0 120 59t48 164v100l-88 -4q-102 -4 -147.5 -49t-45.5 -127zM899 680h328q0 115 -40 180.5t-118 65.5q-74 0 -120 -58.5t-50 -187.5z" />
<glyph unicode="&#xe7;" horiz-adv-x="888" d="M80 555q0 270 116.5 428t344.5 158q92 0 164.5 -20.5t132.5 -55.5l-80 -219q-53 27 -103.5 43t-99.5 16q-193 0 -193 -350q0 -340 195 -340q70 0 132.5 22.5t121.5 63.5v-238q-115 -83 -281 -83q-223 0 -336.5 140t-113.5 435zM315 -315q59 -16 115 -17q88 0 88 72 q0 82 -150 96l72 164h154l-33 -76q78 -16 126 -63t48 -123q0 -106 -66.5 -168t-203.5 -62q-88 0 -150 19v158z" />
<glyph unicode="&#xe8;" horiz-adv-x="1017" d="M80 553q0 287 115.5 436.5t326.5 149.5q201 0 312.5 -135.5t111.5 -370.5v-150h-590q4 -283 232 -282q82 0 153.5 18.5t149.5 63.5v-226q-72 -41 -152 -59t-182 -18q-238 0 -357.5 149.5t-119.5 423.5zM186 1550v19h315q23 -45 57.5 -102.5t70.5 -110.5t61 -88v-27h-193 q-31 25 -74 65t-89 86t-86 88t-62 70zM358 680h328q0 113 -41 180.5t-119 67.5q-72 0 -118 -58.5t-50 -189.5z" />
<glyph unicode="&#xe9;" horiz-adv-x="1017" d="M80 553q0 287 115.5 436.5t326.5 149.5q201 0 312.5 -135.5t111.5 -370.5v-150h-590q4 -283 232 -282q82 0 153.5 18.5t149.5 63.5v-226q-72 -41 -152 -59t-182 -18q-238 0 -357.5 149.5t-119.5 423.5zM358 680h328q0 113 -41 180.5t-119 67.5q-72 0 -118 -58.5 t-50 -189.5zM361 1241v27q53 74 102 152.5t86 148.5h316v-19q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194z" />
<glyph unicode="&#xea;" horiz-adv-x="1017" d="M80 553q0 287 115.5 436.5t326.5 149.5q201 0 312.5 -135.5t111.5 -370.5v-150h-590q4 -283 232 -282q82 0 153.5 18.5t149.5 63.5v-226q-72 -41 -152 -59t-182 -18q-238 0 -357.5 149.5t-119.5 423.5zM166 1241v27q33 39 75 94t78.5 110.5t59.5 96.5h278 q35 -68 94.5 -150t116.5 -151v-27h-174q-41 31 -86 73t-92 95q-47 -53 -92 -96t-84 -72h-174zM358 680h328q0 113 -41 180.5t-119 67.5q-72 0 -118 -58.5t-50 -189.5z" />
<glyph unicode="&#xeb;" horiz-adv-x="1017" d="M80 553q0 287 115.5 436.5t326.5 149.5q201 0 312.5 -135.5t111.5 -370.5v-150h-590q4 -283 232 -282q82 0 153.5 18.5t149.5 63.5v-226q-72 -41 -152 -59t-182 -18q-238 0 -357.5 149.5t-119.5 423.5zM195 1397q0 70 36 103.5t93 33.5t93 -35t36 -102q0 -63 -36 -98 t-93 -35t-93 33.5t-36 99.5zM358 680h328q0 113 -41 180.5t-119 67.5q-72 0 -118 -58.5t-50 -189.5zM576 1397q0 70 37 103.5t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z" />
<glyph unicode="&#xec;" horiz-adv-x="536" d="M-61 1550v19h315q23 -45 57.5 -102.5t70.5 -110.5t61 -88v-27h-193q-31 25 -74 65t-89 86t-86 88t-62 70zM129 0v1120h279v-1120h-279z" />
<glyph unicode="&#xed;" horiz-adv-x="536" d="M113 1241v27q53 74 102 152.5t86 148.5h316v-19q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194zM129 0v1120h279v-1120h-279z" />
<glyph unicode="&#xee;" horiz-adv-x="536" d="M-82 1241v27q33 39 75 94t78.5 110.5t59.5 96.5h278q35 -68 94.5 -150t116.5 -151v-27h-174q-41 31 -86 73t-92 95q-47 -53 -92 -96t-84 -72h-174zM129 0v1120h279v-1120h-279z" />
<glyph unicode="&#xef;" horiz-adv-x="536" d="M-55 1397q0 70 36 103.5t93 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-93 33.5t-36 99.5zM129 0v1120h279v-1120h-279zM326 1397q0 70 37 103.5t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z" />
<glyph unicode="&#xf0;" horiz-adv-x="1081" d="M80 492q0 160 54 273.5t147.5 172.5t210.5 59q119 0 186 -63l6 4q-41 133 -143 254l-162 -113l-100 135l143 103q-29 27 -60.5 49.5t-64.5 44.5l113 158q47 -25 95 -54.5t95 -66.5l168 119l102 -135l-141 -99q129 -139 200.5 -323.5t71.5 -450.5q0 -274 -121.5 -426.5 t-342.5 -152.5q-139 0 -241.5 63t-159 178t-56.5 271zM362 485q0 -125 42 -202.5t137 -77.5q96 0 137 75.5t41 225.5q0 117 -42 190.5t-136 73.5q-178 0 -179 -285z" />
<glyph unicode="&#xf1;" horiz-adv-x="1122" d="M129 0v1120h217l33 -143h16q41 82 114 123t163 41q152 0 238.5 -101.5t86.5 -302.5v-737h-278v659q0 119 -30 180.5t-103 61.5q-102 0 -141 -86t-39 -280v-535h-277zM215 1239q4 76 25.5 146.5t65.5 115.5t116 45q55 0 104 -26.5t94 -52t91 -25.5q57 0 75 106h146 q-4 -152 -63.5 -229.5t-141.5 -77.5q-53 0 -105.5 25.5t-99.5 52.5t-84 27q-25 0 -46 -26t-30 -81h-147z" />
<glyph unicode="&#xf2;" horiz-adv-x="1079" d="M80 563q0 174 50 303t152.5 202t260.5 73q207 0 332.5 -149.5t125.5 -428.5q0 -166 -50 -298t-152.5 -208.5t-261.5 -76.5q-147 0 -250 76.5t-155 208.5t-52 298zM211 1550v19h315q23 -45 57.5 -102.5t70.5 -110.5t61 -88v-27h-193q-31 25 -74 65t-89 86t-86 88t-62 70z M362 559q0 -172 42 -260t137 -88q94 0 135 88t41 264q0 174 -41 260t-135 86t-136.5 -87t-42.5 -263z" />
<glyph unicode="&#xf3;" horiz-adv-x="1079" d="M80 563q0 174 50 303t152.5 202t260.5 73q207 0 332.5 -149.5t125.5 -428.5q0 -166 -50 -298t-152.5 -208.5t-261.5 -76.5q-147 0 -250 76.5t-155 208.5t-52 298zM362 559q0 -172 42 -260t137 -88q94 0 135 88t41 264q0 174 -41 260t-135 86t-136.5 -87t-42.5 -263z M385 1241v27q53 74 102 152.5t86 148.5h316v-19q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194z" />
<glyph unicode="&#xf4;" horiz-adv-x="1079" d="M80 563q0 174 50 303t152.5 202t260.5 73q207 0 332.5 -149.5t125.5 -428.5q0 -166 -50 -298t-152.5 -208.5t-261.5 -76.5q-147 0 -250 76.5t-155 208.5t-52 298zM191 1241v27q33 39 75 94t78.5 110.5t59.5 96.5h278q35 -68 94.5 -150t116.5 -151v-27h-174q-41 31 -86 73 t-92 95q-47 -53 -92 -96t-84 -72h-174zM362 559q0 -172 42 -260t137 -88q94 0 135 88t41 264q0 174 -41 260t-135 86t-136.5 -87t-42.5 -263z" />
<glyph unicode="&#xf5;" horiz-adv-x="1079" d="M80 563q0 174 50 303t152.5 202t260.5 73q207 0 332.5 -149.5t125.5 -428.5q0 -166 -50 -298t-152.5 -208.5t-261.5 -76.5q-147 0 -250 76.5t-155 208.5t-52 298zM180 1239q4 76 25.5 146.5t65.5 115.5t116 45q55 0 104 -26.5t94 -52t91 -25.5q57 0 75 106h146 q-4 -152 -63.5 -229.5t-141.5 -77.5q-53 0 -105.5 25.5t-99.5 52.5t-84 27q-25 0 -46 -26t-30 -81h-147zM362 559q0 -172 42 -260t137 -88q94 0 135 88t41 264q0 174 -41 260t-135 86t-136.5 -87t-42.5 -263z" />
<glyph unicode="&#xf6;" horiz-adv-x="1079" d="M80 563q0 174 50 303t152.5 202t260.5 73q207 0 332.5 -149.5t125.5 -428.5q0 -166 -50 -298t-152.5 -208.5t-261.5 -76.5q-147 0 -250 76.5t-155 208.5t-52 298zM217 1397q0 70 36 103.5t93 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-93 33.5t-36 99.5zM362 559 q0 -172 42 -260t137 -88q94 0 135 88t41 264q0 174 -41 260t-135 86t-136.5 -87t-42.5 -263zM598 1397q0 70 37 103.5t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z" />
<glyph unicode="&#xf7;" horiz-adv-x="1030" d="M74 614v217h880v-217h-880zM375 346q0 78 38 116t101 38t100 -38t37 -116t-38 -117t-99 -39q-63 0 -101 39t-38 117zM375 1098q0 80 38 117.5t101 37.5t100 -37.5t37 -117.5q0 -78 -38 -116t-99 -38q-63 0 -101 38t-38 116z" />
<glyph unicode="&#xf8;" horiz-adv-x="1079" d="M80 563q0 276 122 427t341 151q57 0 106 -13.5t94 -37.5l62 110l139 -76l-70 -135q59 -76 93 -184.5t34 -241.5q0 -276 -121.5 -429.5t-342.5 -153.5q-111 0 -195 45l-72 -136l-139 76l82 158q-70 86 -101.5 194.5t-31.5 245.5zM352 559q0 -98 17 -170l270 494 q-41 35 -98 35q-100 0 -144.5 -89.5t-44.5 -269.5zM451 231q33 -31 88 -30q100 0 144 91t44 271q0 45 -3 83t-7 71z" />
<glyph unicode="&#xf9;" horiz-adv-x="1122" d="M125 389v731h278v-653q0 -123 30 -185.5t99 -62.5q111 0 148 89t37 255v557h276v-1120h-215l-35 143h-14q-43 -82 -114.5 -122.5t-161.5 -40.5q-158 0 -243 104t-85 305zM234 1550v19h315q23 -45 57.5 -102.5t70.5 -110.5t61 -88v-27h-193q-31 25 -74 65t-89 86t-86 88 t-62 70z" />
<glyph unicode="&#xfa;" horiz-adv-x="1122" d="M125 389v731h278v-653q0 -123 30 -185.5t99 -62.5q111 0 148 89t37 255v557h276v-1120h-215l-35 143h-14q-43 -82 -114.5 -122.5t-161.5 -40.5q-158 0 -243 104t-85 305zM406 1241v27q53 74 102 152.5t86 148.5h316v-19q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194 z" />
<glyph unicode="&#xfb;" horiz-adv-x="1122" d="M125 389v731h278v-653q0 -123 30 -185.5t99 -62.5q111 0 148 89t37 255v557h276v-1120h-215l-35 143h-14q-43 -82 -114.5 -122.5t-161.5 -40.5q-158 0 -243 104t-85 305zM211 1241v27q33 39 75 94t78.5 110.5t59.5 96.5h278q35 -68 94.5 -150t116.5 -151v-27h-174 q-41 31 -86 73t-92 95q-47 -53 -92 -96t-84 -72h-174z" />
<glyph unicode="&#xfc;" horiz-adv-x="1122" d="M125 389v731h278v-653q0 -123 30 -185.5t99 -62.5q111 0 148 89t37 255v557h276v-1120h-215l-35 143h-14q-43 -82 -114.5 -122.5t-161.5 -40.5q-158 0 -243 104t-85 305zM240 1397q0 70 36 103.5t93 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-93 33.5t-36 99.5z M621 1397q0 70 37 103.5t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z" />
<glyph unicode="&#xfd;" horiz-adv-x="987" d="M4 1120h295l156 -569q12 -51 23 -105.5t16 -101.5h6q6 45 16 95t27 110l147 571h291l-375 -1239q-59 -197 -156.5 -285t-240.5 -88q-39 0 -72 4.5t-63 12.5v237q20 -6 44.5 -10t47.5 -4q72 0 108.5 45t71.5 154l16 63zM338 1241v27q53 74 102 152.5t86 148.5h316v-19 q-31 -39 -85.5 -95t-115.5 -114.5t-109 -99.5h-194z" />
<glyph unicode="&#xfe;" horiz-adv-x="1105" d="M129 -492v2048h277v-382q0 -51 -3.5 -103.5t-7.5 -97.5h11q49 88 112.5 128t151.5 40q166 0 261 -150.5t95 -431.5q0 -274 -94 -426.5t-256 -152.5q-92 0 -158.5 40.5t-111.5 118.5h-11q6 -55 9.5 -102t3.5 -78v-451h-279zM406 541q0 -166 40.5 -246t135.5 -80 q88 0 124.5 92t36.5 250q0 180 -39.5 266t-121.5 86q-94 0 -134 -76.5t-42 -242.5v-49z" />
<glyph unicode="&#xff;" horiz-adv-x="987" d="M4 1120h295l156 -569q12 -51 23 -105.5t16 -101.5h6q6 45 16 95t27 110l147 571h291l-375 -1239q-59 -197 -156.5 -285t-240.5 -88q-39 0 -72 4.5t-63 12.5v237q20 -6 44.5 -10t47.5 -4q72 0 108.5 45t71.5 154l16 63zM172 1397q0 70 36 103.5t93 33.5t93 -35t36 -102 q0 -63 -36 -98t-93 -35t-93 33.5t-36 99.5zM553 1397q0 70 37 103.5t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z" />
<glyph unicode="&#x152;" horiz-adv-x="1613" d="M98 735q0 225 60.5 393t184.5 261.5t314 93.5q45 0 89.5 -6.5t76.5 -14.5h695v-243h-433v-338h404v-244h-404v-389h433v-248h-697q-33 -8 -76 -13t-88 -5q-195 0 -317.5 95t-182 265t-59.5 393zM397 733q0 -238 64.5 -367.5t210.5 -132.5q37 0 71.5 5.5t57.5 13.5v956 q-23 12 -57.5 18.5t-73.5 6.5q-145 0 -209 -131t-64 -369z" />
<glyph unicode="&#x153;" horiz-adv-x="1658" d="M80 563q0 266 115.5 422t345.5 156q201 0 311 -152q110 150 309 150q205 0 314.5 -135.5t109.5 -370.5v-150h-596q2 -285 234 -284q84 0 155.5 19.5t151.5 64.5v-226q-72 -41 -152 -59t-180 -18q-223 0 -342 153q-106 -154 -317 -153q-145 0 -248 71.5t-157 202.5 t-54 309zM362 559q0 -172 42 -260t137 -88q94 0 135 88t41 264q0 174 -41 260t-135 86t-136.5 -87t-42.5 -263zM991 680h334q0 115 -41 180.5t-123 65.5q-74 0 -120 -58.5t-50 -187.5z" />
<glyph unicode="&#x178;" horiz-adv-x="1062" d="M0 1462h305l227 -596l228 596h303l-387 -897v-565h-289v557zM209 1739q0 70 36 103.5t93 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-93 33.5t-36 99.5zM590 1739q0 70 37 103.5t94 33.5t93 -35t36 -102q0 -63 -36 -98t-93 -35t-94 33.5t-37 99.5z" />
<glyph unicode="&#x2c6;" horiz-adv-x="866" d="M82 1241v27q33 39 75 94t78.5 110.5t59.5 96.5h278q35 -68 94.5 -150t116.5 -151v-27h-174q-41 31 -86 73t-92 95q-47 -53 -92 -96t-84 -72h-174z" />
<glyph unicode="&#x2dc;" horiz-adv-x="880" d="M82 1239q4 76 25.5 146.5t65.5 115.5t116 45q55 0 104 -26.5t94 -52t91 -25.5q57 0 75 106h146q-4 -152 -63.5 -229.5t-141.5 -77.5q-53 0 -105.5 25.5t-99.5 52.5t-84 27q-25 0 -46 -26t-30 -81h-147z" />
<glyph unicode="&#x2000;" horiz-adv-x="952" />
<glyph unicode="&#x2001;" horiz-adv-x="1905" />
<glyph unicode="&#x2002;" horiz-adv-x="952" />
<glyph unicode="&#x2003;" horiz-adv-x="1905" />
<glyph unicode="&#x2004;" horiz-adv-x="635" />
<glyph unicode="&#x2005;" horiz-adv-x="476" />
<glyph unicode="&#x2006;" horiz-adv-x="317" />
<glyph unicode="&#x2007;" horiz-adv-x="317" />
<glyph unicode="&#x2008;" horiz-adv-x="238" />
<glyph unicode="&#x2009;" horiz-adv-x="381" />
<glyph unicode="&#x200a;" horiz-adv-x="105" />
<glyph unicode="&#x2010;" horiz-adv-x="634" d="M59 422v254h519v-254h-519z" />
<glyph unicode="&#x2011;" horiz-adv-x="634" d="M59 422v254h519v-254h-519z" />
<glyph unicode="&#x2012;" horiz-adv-x="634" d="M59 422v254h519v-254h-519z" />
<glyph unicode="&#x2013;" d="M72 438v226h882v-226h-882z" />
<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M70 438v226h1908v-226h-1908z" />
<glyph unicode="&#x2018;" horiz-adv-x="477" d="M55 946q27 141 67 272.5t87 243.5h217q-20 -84 -36.5 -181t-31 -189.5t-20.5 -165.5h-270z" />
<glyph unicode="&#x2019;" horiz-adv-x="477" d="M53 926q18 78 35.5 176t32 194.5t20.5 165.5h269l12 -22q-25 -139 -65 -270.5t-87 -243.5h-217z" />
<glyph unicode="&#x201a;" horiz-adv-x="540" d="M71 -299q18 78 35.5 176t32 194.5t20.5 165.5h269l12 -22q-25 -139 -65 -270.5t-87 -243.5h-217z" />
<glyph unicode="&#x201c;" horiz-adv-x="911" d="M55 946q27 141 67 272.5t87 243.5h217q-20 -84 -36.5 -181t-31 -189.5t-20.5 -165.5h-270zM489 946q27 141 66 272.5t86 243.5h217q-27 -131 -51.5 -274.5t-34.5 -261.5h-270z" />
<glyph unicode="&#x201d;" horiz-adv-x="911" d="M53 926q16 78 33.5 176t33 194.5t21.5 165.5h269l12 -22q-25 -139 -65 -270.5t-87 -243.5h-217zM485 926q29 135 52.5 274t35.5 262h269l14 -22q-27 -139 -66.5 -270.5t-84.5 -243.5h-220z" />
<glyph unicode="&#x201e;" horiz-adv-x="952" d="M57 -274q16 78 33.5 176t33 194.5t21.5 165.5h269l12 -22q-25 -139 -65 -270.5t-87 -243.5h-217zM489 -274q29 135 52.5 274t35.5 262h269l14 -22q-27 -139 -66.5 -270.5t-84.5 -243.5h-220z" />
<glyph unicode="&#x2022;" horiz-adv-x="786" d="M100 748q0 162 78 243.5t215 81.5q135 0 215 -82t80 -243q0 -160 -81 -243t-214 -83q-135 0 -214 82t-79 244z" />
<glyph unicode="&#x2026;" horiz-adv-x="1624" d="M109 145q0 84 44 126t119 42q74 0 118 -41t44 -127q0 -84 -45 -127t-117 -43q-74 0 -118.5 43t-44.5 127zM652 145q0 84 44 126t119 42q74 0 118 -41t44 -127q0 -84 -45 -127t-117 -43q-74 0 -118.5 43t-44.5 127zM1192 145q0 84 44 126t119 42q74 0 118 -41t44 -127 q0 -84 -45 -127t-117 -43q-74 0 -118.5 43t-44.5 127z" />
<glyph unicode="&#x202f;" horiz-adv-x="381" />
<glyph unicode="&#x2039;" horiz-adv-x="659" d="M63 547v28l328 447l199 -104l-232 -357l232 -354l-199 -107z" />
<glyph unicode="&#x203a;" horiz-adv-x="659" d="M70 207l229 354l-229 357l198 104l328 -447v-28l-328 -447z" />
<glyph unicode="&#x205f;" horiz-adv-x="476" />
<glyph unicode="&#x20ac;" d="M39 483v168h123q-2 16 -2 35v33v61h-121v168h133q18 156 79.5 275.5t164 187.5t243.5 68q176 0 330 -90l-88 -232q-57 37 -113.5 57.5t-117.5 20.5q-100 0 -152.5 -81t-66.5 -206h321v-168h-332q-2 -14 -2 -28.5v-32.5v-31.5t2 -36.5h281v-168h-270q20 -131 78.5 -192.5 t162.5 -61.5q66 0 127.5 20.5t128.5 53.5v-256q-123 -68 -289 -67q-141 0 -241.5 64.5t-160.5 178t-81 260.5h-137z" />
<glyph unicode="&#x2122;" horiz-adv-x="1458" d="M18 1317v145h510v-145h-174v-576h-161v576h-175zM596 741v721h221l150 -485l159 485h211v-721h-153v369q0 33 2 71t4 66h-8l-166 -506h-107l-159 508h-7q2 -33 3.5 -69.5t1.5 -65.5v-373h-152z" />
<glyph unicode="&#x25fc;" horiz-adv-x="1116" d="M0 0v1116h1116v-1116h-1116z" />
<glyph unicode="&#xfb01;" horiz-adv-x="1202" d="M25 897v143l139 80v49q0 211 80 304.5t243 93.5q68 0 122.5 -11.5t113.5 -33.5l-64 -209q-31 10 -60.5 17t-63.5 7q-49 0 -71 -37.5t-22 -121.5v-58h205v-223h-205v-897h-278v897h-139zM783 1407q0 80 39.5 116t111.5 36q152 0 152 -152q0 -76 -40 -113t-112 -37 q-70 0 -110.5 37t-40.5 113zM795 0v1120h279v-1120h-279z" />
<glyph unicode="&#xfb02;" horiz-adv-x="1200" d="M25 897v143l139 80v49q0 211 80 304.5t243 93.5q68 0 122.5 -11.5t113.5 -33.5l-64 -209q-31 10 -60.5 17t-63.5 7q-49 0 -71 -37.5t-22 -121.5v-58h205v-223h-205v-897h-278v897h-139zM795 0v1556h277v-1556h-277z" />
<glyph unicode="&#xfb03;" horiz-adv-x="1867" d="M25 897v143l139 80v49q0 211 80 304.5t243 93.5q68 0 122.5 -11.5t113.5 -33.5l-64 -209q-31 10 -60.5 17t-63.5 7q-49 0 -71 -37.5t-22 -121.5v-58h205v-223h-205v-897h-278v897h-139zM691 897v143l139 80v49q0 211 80 304.5t243 93.5q68 0 122.5 -11.5t113.5 -33.5 l-64 -209q-31 10 -60.5 17t-63.5 7q-49 0 -71 -37.5t-22 -121.5v-58h205v-223h-205v-897h-278v897h-139zM1446 1407q0 80 39.5 116t111.5 36q152 0 152 -152q0 -76 -40 -113t-112 -37q-70 0 -110.5 37t-40.5 113zM1458 0v1120h279v-1120h-279z" />
<glyph unicode="&#xfb04;" horiz-adv-x="1863" d="M25 897v143l139 80v49q0 211 80 304.5t243 93.5q68 0 122.5 -11.5t113.5 -33.5l-64 -209q-31 10 -60.5 17t-63.5 7q-49 0 -71 -37.5t-22 -121.5v-58h205v-223h-205v-897h-278v897h-139zM691 897v143l139 80v49q0 211 80 304.5t243 93.5q68 0 122.5 -11.5t113.5 -33.5 l-64 -209q-31 10 -60.5 17t-63.5 7q-49 0 -71 -37.5t-22 -121.5v-58h205v-223h-205v-897h-278v897h-139zM1458 0v1556h277v-1556h-277z" />
<hkern u1="&#x26;" u2="&#x178;" k="45" />
<hkern u1="&#x26;" u2="&#xdd;" k="45" />
<hkern u1="&#x26;" u2="Y" k="45" />
<hkern u1="&#x26;" u2="W" k="29" />
<hkern u1="&#x26;" u2="V" k="29" />
<hkern u1="&#x26;" u2="T" k="74" />
<hkern u1="&#x28;" u2="j" k="-59" />
<hkern u1="&#x28;" u2="J" k="-133" />
<hkern u1="A" u2="J" k="-74" />
<hkern u1="B" u2="&#x2026;" k="20" />
<hkern u1="B" u2="&#x201e;" k="20" />
<hkern u1="B" u2="&#x201a;" k="20" />
<hkern u1="B" u2="&#x2e;" k="20" />
<hkern u1="B" u2="&#x2c;" k="20" />
<hkern u1="D" u2="X" k="14" />
<hkern u1="E" u2="J" k="-88" />
<hkern u1="F" u2="&#x2026;" k="102" />
<hkern u1="F" u2="&#x201e;" k="102" />
<hkern u1="F" u2="&#x201a;" k="102" />
<hkern u1="F" u2="&#xc5;" k="29" />
<hkern u1="F" u2="&#xc4;" k="29" />
<hkern u1="F" u2="&#xc3;" k="29" />
<hkern u1="F" u2="&#xc2;" k="29" />
<hkern u1="F" u2="&#xc1;" k="29" />
<hkern u1="F" u2="&#xc0;" k="29" />
<hkern u1="F" u2="&#x7d;" k="-29" />
<hkern u1="F" u2="]" k="-29" />
<hkern u1="F" u2="A" k="29" />
<hkern u1="F" u2="&#x3f;" k="-29" />
<hkern u1="F" u2="&#x2e;" k="102" />
<hkern u1="F" u2="&#x2c;" k="102" />
<hkern u1="F" u2="&#x29;" k="-29" />
<hkern u1="O" u2="X" k="14" />
<hkern u1="P" u2="X" k="29" />
<hkern u1="P" u2="&#x26;" k="14" />
<hkern u1="Q" u2="X" k="14" />
<hkern u1="R" u2="&#x2039;" k="14" />
<hkern u1="R" u2="&#xab;" k="14" />
<hkern u1="T" u2="&#x3f;" k="-29" />
<hkern u1="T" u2="&#x26;" k="29" />
<hkern u1="V" u2="&#x3f;" k="-29" />
<hkern u1="W" u2="&#x3f;" k="-29" />
<hkern u1="Y" u2="&#x3f;" k="-29" />
<hkern u1="Y" u2="&#x26;" k="31" />
<hkern u1="[" u2="j" k="-59" />
<hkern u1="[" u2="J" k="-133" />
<hkern u1="c" u2="&#x201d;" k="-29" />
<hkern u1="c" u2="&#x2019;" k="-29" />
<hkern u1="c" u2="&#x27;" k="-29" />
<hkern u1="c" u2="&#x22;" k="-29" />
<hkern u1="v" u2="&#x3f;" k="-29" />
<hkern u1="w" u2="&#x3f;" k="-29" />
<hkern u1="y" u2="&#x3f;" k="-29" />
<hkern u1="&#x7b;" u2="j" k="-59" />
<hkern u1="&#x7b;" u2="J" k="-133" />
<hkern u1="&#xa1;" u2="&#x178;" k="45" />
<hkern u1="&#xa1;" u2="&#xdd;" k="45" />
<hkern u1="&#xa1;" u2="Y" k="45" />
<hkern u1="&#xa1;" u2="W" k="14" />
<hkern u1="&#xa1;" u2="V" k="14" />
<hkern u1="&#xa1;" u2="T" k="29" />
<hkern u1="&#xa1;" u2="J" k="-74" />
<hkern u1="&#xbb;" u2="X" k="29" />
<hkern u1="&#xbf;" u2="&#x178;" k="59" />
<hkern u1="&#xbf;" u2="&#xdd;" k="59" />
<hkern u1="&#xbf;" u2="Y" k="59" />
<hkern u1="&#xbf;" u2="W" k="45" />
<hkern u1="&#xbf;" u2="V" k="45" />
<hkern u1="&#xbf;" u2="T" k="59" />
<hkern u1="&#xbf;" u2="J" k="-147" />
<hkern u1="&#xc0;" u2="J" k="-74" />
<hkern u1="&#xc1;" u2="J" k="-74" />
<hkern u1="&#xc2;" u2="J" k="-74" />
<hkern u1="&#xc3;" u2="J" k="-74" />
<hkern u1="&#xc4;" u2="J" k="-74" />
<hkern u1="&#xc5;" u2="J" k="-74" />
<hkern u1="&#xc6;" u2="J" k="-88" />
<hkern u1="&#xc8;" u2="J" k="-88" />
<hkern u1="&#xc9;" u2="J" k="-88" />
<hkern u1="&#xca;" u2="J" k="-88" />
<hkern u1="&#xcb;" u2="J" k="-88" />
<hkern u1="&#xd0;" u2="X" k="14" />
<hkern u1="&#xd2;" u2="X" k="14" />
<hkern u1="&#xd3;" u2="X" k="14" />
<hkern u1="&#xd4;" u2="X" k="14" />
<hkern u1="&#xd5;" u2="X" k="14" />
<hkern u1="&#xd6;" u2="X" k="14" />
<hkern u1="&#xd8;" u2="X" k="14" />
<hkern u1="&#xdd;" u2="&#x3f;" k="-29" />
<hkern u1="&#xdd;" u2="&#x26;" k="31" />
<hkern u1="&#xde;" u2="X" k="29" />
<hkern u1="&#xde;" u2="&#x26;" k="14" />
<hkern u1="&#xfd;" u2="&#x3f;" k="-29" />
<hkern u1="&#xff;" u2="&#x3f;" k="-29" />
<hkern u1="&#x152;" u2="J" k="-88" />
<hkern u1="&#x178;" u2="&#x3f;" k="-29" />
<hkern u1="&#x178;" u2="&#x26;" k="31" />
<hkern u1="&#x203a;" u2="X" k="29" />
<hkern g1="b,e,o,p,ae,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn,oe" g2="v,w,x,y,yacute,ydieresis" k="29" />
<hkern g1="b,e,o,p,ae,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn,oe" g2="z" k="8" />
<hkern g1="b,e,o,p,ae,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn,oe" g2="quotedbl,quotesingle,quoteright,quotedblright" k="14" />
<hkern g1="a,h,m,n,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="quotedbl,quotesingle,quoteright,quotedblright" k="14" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="14" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="Y,Yacute,Ydieresis" k="59" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="V,W" k="31" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="T" k="68" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quotedbl,quotesingle,quoteright,quotedblright" k="111" />
<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="14" />
<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="Y,Yacute,Ydieresis" k="14" />
<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="V,W" k="8" />
<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="59" />
<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="T" k="31" />
<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="Z" k="8" />
<hkern g1="v,w,y,yacute,ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="59" />
<hkern g1="v,w,y,yacute,ydieresis" g2="quotedbl,quotesingle,quoteright,quotedblright" k="-59" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="14" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="29" />
<hkern g1="Y,Yacute,Ydieresis" g2="c,d,e,o,q,agrave,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="74" />
<hkern g1="Y,Yacute,Ydieresis" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="29" />
<hkern g1="Y,Yacute,Ydieresis" g2="m,n,p,r,u,ugrave,uacute,ucircumflex,udieresis" k="45" />
<hkern g1="Y,Yacute,Ydieresis" g2="a,aacute,acircumflex,atilde,adieresis,aring,ae" k="74" />
<hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="59" />
<hkern g1="Y,Yacute,Ydieresis" g2="g" k="74" />
<hkern g1="Y,Yacute,Ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="88" />
<hkern g1="Y,Yacute,Ydieresis" g2="z" k="29" />
<hkern g1="Y,Yacute,Ydieresis" g2="s" k="59" />
<hkern g1="Y,Yacute,Ydieresis" g2="guillemotright,guilsinglright" k="45" />
<hkern g1="Y,Yacute,Ydieresis" g2="guillemotleft,guilsinglleft" k="119" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="c,d,e,o,q,agrave,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="88" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="m,n,p,r,u,ugrave,uacute,ucircumflex,udieresis" k="45" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="a,aacute,acircumflex,atilde,adieresis,aring,ae" k="59" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="111" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="Y,Yacute,Ydieresis" k="-14" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="V,W" k="-29" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="g" k="45" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="T" k="-29" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="s" k="45" />
<hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="AE" k="133" />
<hkern g1="V,W" g2="c,d,e,o,q,agrave,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="29" />
<hkern g1="V,W" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="14" />
<hkern g1="V,W" g2="m,n,p,r,u,ugrave,uacute,ucircumflex,udieresis" k="14" />
<hkern g1="V,W" g2="a,aacute,acircumflex,atilde,adieresis,aring,ae" k="29" />
<hkern g1="V,W" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="31" />
<hkern g1="V,W" g2="g" k="14" />
<hkern g1="V,W" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="74" />
<hkern g1="V,W" g2="s" k="14" />
<hkern g1="V,W" g2="guillemotright,guilsinglright" k="14" />
<hkern g1="V,W" g2="guillemotleft,guilsinglleft" k="45" />
<hkern g1="L" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="29" />
<hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="14" />
<hkern g1="L" g2="Y,Yacute,Ydieresis" k="74" />
<hkern g1="L" g2="V,W" k="57" />
<hkern g1="L" g2="T" k="57" />
<hkern g1="L" g2="quotedbl,quotesingle,quoteright,quotedblright" k="119" />
<hkern g1="C,Ccedilla" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="43" />
<hkern g1="C,Ccedilla" g2="guillemotleft,guilsinglleft" k="29" />
<hkern g1="t" g2="quotedbl,quotesingle,quoteright,quotedblright" k="-29" />
<hkern g1="T" g2="c,d,e,o,q,agrave,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="102" />
<hkern g1="T" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="29" />
<hkern g1="T" g2="m,n,p,r,u,ugrave,uacute,ucircumflex,udieresis" k="74" />
<hkern g1="T" g2="a,aacute,acircumflex,atilde,adieresis,aring,ae" k="119" />
<hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="68" />
<hkern g1="T" g2="v,w,x,y,yacute,ydieresis" k="29" />
<hkern g1="T" g2="g" k="102" />
<hkern g1="T" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="88" />
<hkern g1="T" g2="T" k="-29" />
<hkern g1="T" g2="z" k="59" />
<hkern g1="T" g2="s" k="88" />
<hkern g1="T" g2="hyphen,endash,emdash" k="59" />
<hkern g1="T" g2="guillemotright,guilsinglright" k="45" />
<hkern g1="T" g2="guillemotleft,guilsinglleft" k="88" />
<hkern g1="r" g2="c,d,e,o,q,agrave,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="29" />
<hkern g1="r" g2="a,aacute,acircumflex,atilde,adieresis,aring,ae" k="29" />
<hkern g1="r" g2="g" k="14" />
<hkern g1="r" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="102" />
<hkern g1="r" g2="quotedbl,quotesingle,quoteright,quotedblright" k="-59" />
<hkern g1="hyphen,endash,emdash" g2="T" k="59" />
<hkern g1="comma,period,quotesinglbase,quotedblbase" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="74" />
<hkern g1="comma,period,quotesinglbase,quotedblbase" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="29" />
<hkern g1="comma,period,quotesinglbase,quotedblbase" g2="Y,Yacute,Ydieresis" k="88" />
<hkern g1="comma,period,quotesinglbase,quotedblbase" g2="V,W" k="88" />
<hkern g1="comma,period,quotesinglbase,quotedblbase" g2="T" k="102" />
<hkern g1="Z" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="14" />
<hkern g1="Z" g2="guillemotleft,guilsinglleft" k="29" />
<hkern g1="K,X" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="14" />
<hkern g1="K,X" g2="guillemotleft,guilsinglleft" k="29" />
<hkern g1="x" g2="c,d,e,o,q,agrave,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="14" />
<hkern g1="guillemotright,guilsinglright" g2="Y,Yacute,Ydieresis" k="119" />
<hkern g1="guillemotright,guilsinglright" g2="V,W" k="45" />
<hkern g1="guillemotright,guilsinglright" g2="T" k="88" />
<hkern g1="guillemotleft,guilsinglleft" g2="Y,Yacute,Ydieresis" k="45" />
<hkern g1="guillemotleft,guilsinglleft" g2="V,W" k="14" />
<hkern g1="guillemotleft,guilsinglleft" g2="T" k="45" />
<hkern g1="f" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="29" />
<hkern g1="f" g2="quotedbl,quotesingle,quoteright,quotedblright" k="-88" />
<hkern g1="f" g2="parenright,bracketright,braceright" k="-59" />
<hkern g1="P,Thorn" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="59" />
<hkern g1="P,Thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="193" />
<hkern g1="P,Thorn" g2="Z" k="14" />
<hkern g1="P,Thorn" g2="guillemotleft,guilsinglleft" k="29" />
<hkern g1="P,Thorn" g2="AE" k="66" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="853.27057"
height="677.52399"
viewBox="0 0 853.27057 677.52399"
version="1.1"
id="svg2574"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs2578" />
<path
style="fill:#334f11;stroke:none"
d="m 82.007161,331.12709 c -9.8669,20.765 -34.4635,37.4 -34.946,62 -0.2537,12.938 6.5152,25.226 16.946,32.56 4.7935,3.37 16.8458,5.269 17.8519,11.459 1.8008,11.081 0.1481,23.749 0.1481,34.981 0,62.366 -14.0804,141.27 43.999999,183.255 41.754,30.182 99.419,20.745 148,20.745 h 327 c 50.606,0 104.959,7.315 143.996,-32.001 28.527,-28.731 31.004,-63.9 31.004,-101.999 0,-40.148 -3.469,-82.023 0.059,-121.996 0.649,-7.358 11.175,-10.837 15.756,-16.008 7.418,-8.372 9.453,-18.155 9.17,-28.996 -0.506,-19.392 -20.355,-27.341 -24.985,-44 15.625,0 34.951,3.045 50,-1.44 22.507,-6.708 33.446,-33.494 23.676,-54.56 -10.17,-21.928 -30.928,-22 -51.676,-22 h -57 c -8.469,0 -26.045,3.311 -32.83,-2.318 -17.647,-14.639 -31.582,-38.033 -46.251,-55.682 -34.255,-41.214 -68.051,-82.808 -102.333,-123.999998 -11.596,-13.9345 -23.206,-27.8883 -34.586,-42 -7.527,-9.3329 -15.228,-19.8099998 -27,-23.8989298 -33.123,-11.50537 -65.705,26.1725298 -47.525,56.8989298 13.416,22.674 34.415,42.643998 51.101,62.999998 35.039,42.747 70.593,85.083 105.424,128 h -371 c 10.958,-19.236 25.96,-36.998 38.86,-55 23.363,-32.605 46.569,-65.333 69.849,-98 9.805,-13.758898 21.117,-27.269698 29.415,-41.999998 16.568,-29.4106 -10.468,-62.2636698 -42.124,-57.69982976 -15.321,2.20879996 -23.393,14.03052976 -31.709,25.69982976 -9.035,12.6776 -18.083,25.3459 -27.151,38 -29.569,41.265998 -58.968,82.656998 -88.431,123.999998 -14.295,20.059 -27.347,43.932 -44.224,61.852 -6.27,6.658 -24.916,3.148 -33.485,3.148 H 54.007161 c -21.2403,0 -43.6043,1.12 -51.8989199,25 -1.78902002,5.15 -2.21726602,10.588 -2.08642002,16 1.06872002,44.204 51.76713992,37 81.98533992,37 m 166.999999,0.419 c 20.908,-5.173 47.194,-0.205 54.226,22.581 5.792,18.766 1.774,43.474 1.774,63 v 129 c 0,25.916 2.838,59.325 -30,66.331 -22.736,4.851 -44.895,-9.051 -48.561,-32.331 -3.066,-19.47 -0.439,-41.287 -0.439,-61 v -120 c 0,-21.222 -5.281,-60.584 23,-67.581 m 151,0 c 20.908,-5.173 47.194,-0.205 54.226,22.581 5.792,18.766 1.774,43.474 1.774,63 v 129 c 0,25.916 2.838,59.325 -30,66.331 -22.736,4.851 -44.895,-9.051 -48.561,-32.331 -3.066,-19.47 -0.439,-41.287 -0.439,-61 v -120 c 0,-21.222 -5.281,-60.584 23,-67.581 m 164,0 c 20.908,-5.173 47.194,-0.205 54.226,22.581 5.792,18.766 1.774,43.474 1.774,63 v 129 c 0,25.916 2.838,59.325 -30,66.331 -22.736,4.851 -44.895,-9.051 -48.561,-32.331 -3.066,-19.47 -0.439,-41.287 -0.439,-61 v -120 c 0,-21.222 -5.281,-60.584 23,-67.581 z"
id="path2580" />
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="4122.2734"
height="4124.1968"
viewBox="0 0 4122.2734 4124.1968"
version="1.1"
id="svg2503"
sodipodi:docname="catalogue.svg"
inkscape:export-filename="../../../../../../../../../Desktop/catalogue.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
inkscape:version="1.2.2 (b0a8486, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs2507" />
<sodipodi:namedview
id="namedview2505"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="0.053285166"
inkscape:cx="-1895.4619"
inkscape:cy="2242.6504"
inkscape:window-width="1920"
inkscape:window-height="999"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="svg2503" />
<path
style="fill:#334f11;stroke:none"
d="m 2024.6945,1.5119512 c -19.25,2.52734 -39.59,0.76513 -59,1.61523 -40.36,1.76709 -80.77,5.10547 -121,9.1293498 -116.94,11.6958 -232.81,34.7854 -346,66.2554 C 983.43949,221.77063 536.33549,575.04563 270.54449,1038.0876 c -334.887803,583.42 -360.570603,1315.5 -67.592,1921 69.575,143.79 155.867,280.41 257.166,404 134.464,164.05 292.777,308.58 470.576,424.66 198.93001,129.87 419.76001,225.63 651.00001,280.46 243.58,57.74 498,71.21 746,38.6 247.47,-32.54 489.34,-109.23 709,-228.03 182.38,-98.64 351.13,-224.2 495.99,-372.69 383.94,-393.58 602.48,-935.52 589,-1486 -5.44,-221.89 -45.14,-442.53 -119.68,-652 -217.77,-611.93397 -728.97,-1094.29897 -1350.31,-1280.719969 -142.65,-42.7988 -290.5,-70.1877 -439,-80.3693598 -37.7,-2.58496 -75.24,-3.29736 -113,-4.95019 -24.28,-1.06298997 -50.8,-3.7124 -75,-0.53613 m 2,228.8606788 c 23.67,-2.793 49.29,-0.362 73,0.676 30.4,1.33 60.64,1.87 91,3.95 132.13,9.054 263.99,32.262 391,70.369 172.32,51.702 335.34,127.704 486,226.064 335.52,219.042 593.39,552.52597 724.66,930.65597 62.57,180.26 95.67,370.61 100.33,561 8.26,337.8 -80.89,676.7 -252,968 -284.12,483.68 -799.26,830.77 -1359.99,890.83 -360.71,38.65 -728.57,-18.64 -1053,-186.09 -273.38601,-141.1 -507.39301,-347.44 -681.97401,-600.74 -324.102,-470.23 -411.713,-1101.9 -215.079,-1640 77.511,-212.11 187.45,-408.75 334.325,-580.99997 250.36,-293.612 593.03801,-505.055 968.72801,-594.116 90.64,-21.488 182.4,-34.895 275,-43.714 39.1,-3.724 79.11,-1.295 118,-5.885 m -686,603.139 c -19.33,2.54 -39.52,1.332 -59,2.665 -35.36,2.421 -70.78,5.813 -106,10.196 -121.58,15.128 -241.10801,43.363 -358.00001,79.69 -33.243,10.331 -66.221,21.627 -99,33.333 -36.196,12.926 -69.738,25.627 -94.551,56.69197 -35.738,44.74 -30.449,99.33 -30.449,153 v 288 1178 321 c 0,54.23 -3.554,110.54 42,149.57 66.873,57.3 149.834,18.35 224,-0.2 160.51001,-40.13 324.86001,-66.1 490.00001,-73.33 150.18,-6.58 302.12,6.94 449,39.38 45.12,9.97 89.88,21.9 134,35.61 28.02,8.7 56.2,21.61 85,27.17 18.39,3.54 37.35,2.83 56,2.8 30.57,-0.05 62.58,-14.18 92,-21.63 58.68,-14.86 117.55,-29.1 177,-40.57 171.06,-32.99 343.98,-49.38 518,-41.76 115.68,5.07 234.22,22.32 346,53.38 33.5,9.31 67.01,18.58 100,29.58 35.72,11.91 68.72,25.34 107,18.39 47.84,-8.69 87.13,-47.08 97.58,-94.39 9.09,-41.19 3.42,-87.95 3.42,-130 v -242 -1197 -298 c 0,-54.03 5.91,-109.31 -28.88,-155 -27.08,-35.55297 -66.85,-49.03797 -107.12,-64.04997 -65.98,-24.598 -132.9,-45.928 -201,-63.834 -252.73,-66.454 -515.51,-73.56 -772,-25.505 -78.88,14.778 -157.55,34.306 -234,58.733 -27.09,8.655 -54.08,17.487 -81,26.659 -10.31,3.512 -24.08,11.78 -35,11.779 -5.94,0 -12.53,-4.074 -18,-6.101 -13.97,-5.171 -27.92,-10.451 -42,-15.337 -46.55,-16.158 -93.43,-31.308 -141,-44.193 -124.1,-33.609 -251.61,-55.572 -380,-61.19 -30.34,-1.328 -60.55,-1.961 -91,-1.961 -14.08,0 -29.03,-1.41 -43,0.424 m 599,2036.57597 c -20.45,-2.75 -40.89,-10.35 -61,-15.12 -39.74,-9.42 -79.76,-17.64 -120,-24.63 -124.78,-21.68 -252.42,-31.34 -379,-28.24 -125.51,3.08 -251.22,16.1 -375,38.41 -38.78901,7 -77.50101,14.55 -116.00001,23 -21.505,4.73 -44.069,12.79 -66,14.58 v -1713 c 28.716,-6.64 56.742,-18.77 85,-27.28 58.616,-17.65 118.01001,-32.73 178.00001,-44.92 197.08,-40.05 400.75,-41.44 598,-2 62.76,12.55 123.79,30.04 185,48.48 16.5,4.97 32.67,10.89 49,16.39 5.72,1.92 16.12,3.78 20.4,8.15 4.59,4.69 1.6,21.87 1.6,28.18 v 80 320 1278 m 1346,0 c -20.2,-1.76 -41.22,-10.43 -61,-15.12 -39.73,-9.41 -79.77,-17.64 -120,-24.63 -124.77,-21.68 -252.43,-31.34 -379,-28.24 -125.52,3.08 -251.21,16.1 -375,38.41 -38.79,7 -77.5,14.55 -116,23 -21.48,4.72 -44.11,12.79 -66,14.58 v -1713 c 28.72,-6.64 56.74,-18.77 85,-27.28 56.66,-17.07 114.05,-31.72 172,-43.72 198.94,-41.18 404.74,-43.05 604,-3.2 63.4,12.68 125.31,30 187,49.17 16.43,5.11 32.87,10.43 49,16.45 5.28,1.98 14.38,3.3 18.4,7.4 4.59,4.69 1.6,21.87 1.6,28.18 v 80 321 z"
id="path2509" />
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="948.25177"
height="963.42358"
viewBox="0 0 948.25177 963.42358"
version="1.1"
id="svg2472"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs2465">
<style
id="style2463">
.cls-1, .cls-2 {
fill: none;
stroke: #335012;
stroke-width: 23.02px;
}
.cls-2 {
fill-rule: evenodd;
}
</style>
</defs>
<path
style="display:inline;fill:#334f11;stroke:none"
d="m 400.70851,955.4236 1,-3 7,2 v 1 h -4 l 9,3 3,-3 4,1 c 0.855,3.992 4.47,3 8,3 8.79,0 17.256,-0.147 26,0 v 1 l -2,2 c 10.406,-5.231 14.011,0.255 24,1 l -2,-4 27,3 1,-3 c 4.053,2.829 21.988,1.935 25,-2 13.111,3.867 25.672,-6.677 38,-9.33 7.51,-1.617 14.515,2.685 22.004,1.987 13.009,-1.211 27.582,-6.655 39.996,-10.686 6.831,-2.219 8.641,-7.382 14.043,-11.318 3.604,-2.626 8.779,-3.645 12.957,-5.113 7.734,-2.717 16.56,-3.316 24,-6.611 12.432,-5.505 23.59,-13.984 35,-21.234 33.417,-21.233 60.864,-44.559 89,-72.695 23.063,-23.063 49.104,-47.323 67.957,-74 10.847,-15.349 17.711,-34.078 25.453,-51 13.432,-29.36 30.478,-59.413 38.834,-91 9.72,-36.743 10.86,-76.469 10.756,-114 l 2,1 -2,-17 c 6.904,-6.04 -2.866,-26.537 1,-35 -3.732,-7.464 -2.254,-19.636 -3.285,-28 -2.83,-22.971 -4.435,-47.101 -12.41,-69 -15.989,-43.903 -34.618,-90.956 -60.66,-130 -8.605,-12.901 -20.143,-23.335 -30.22,-35 -29.218,-33.822 -61.804,-67.519 -97.425,-94.763905 -94.941,-72.616 -222.451,-96.3015 -339,-79.5069096 -22.135,3.18969 -45.59,5.6623096 -67,12.2963096 -75.727,23.4642 -139.839,68.1748 -196,122.959505 -24.629,24.026 -49.286501,50.654 -67.574801,80.015 -26.7349,42.922 -52.0378,94.365 -63.0008,144 -8.2519396,37.361 -9.25326955,77.26 -9.96914955,115 -0.727837,38.37 0.7225,78.122 9.43204995,116 11.0322996,47.979 34.1703996,97.426 58.5401996,140 17.0579,29.801 43.483501,55.911 67.572501,80 37.161,37.161 74.168,71.776 121,96.677 11.056,5.878 24.605,7.288 36,12.725 12.597,6.01 23.718,13.675 37,18.545 23.357,8.563 47.629,3.417 71,12.053 m 56,-913.714505 c 52.501,-6.1947 110.253,6.7624 159,24.1674 8.435,3.0119 17.542,3.2923 26,6.2423 24.489,8.5409 49.358,22.1616 71,36.383805 69.694,45.799 125.493,113.811 159.138,189.921 7.958,18.002 11.94,37.459 18.202,55.985 2.512,7.431 6.794,14.268 9.091,22.015 8.743,29.497 11.569,63.278 11.569,94 0,24.038 0.834,49.252 -3.329,73 -4.136,23.595 -11.951,46.208 -18.757,69 -4.964,16.623 -8.73,33.212 -16.234,49 -9.993,21.024 -23.912,41.273 -36.256,61 -11.634,18.595 -25.877,33.825 -39.309,51 -5.167,6.607 -14.064,17.759 -23.115,18.271 -12.486,0.706 -19.597,-4.806 -21.674,-17.271 -2.497,-14.977 -0.035,-29.996 -4.264,-45 -3.692,-13.096 -11.068,-24.234 -17.548,-36 -9.478,-17.208 -17.67,-34.035 -29.398,-50 -24.655,-33.561 -57.883,-63.283 -94.116,-84.128 -10.667,-6.137 -22.935,-10.473 -33,-17.466 -4.263,-2.963 -9.35,-6.713 -9.681,-12.406 -0.667,-11.442 17.978,-21.389 25.681,-27.35 20.973,-16.227 39.882,-38.375 52.694,-61.65 21.68,-39.383 24.401,-81.786 14.731,-125 -2.089,-9.338 -2.788,-19.169 -6.737,-28 -11.95,-26.72 -31.171,-48.483 -51.688,-69 -19.043,-19.043 -40.661,-38.431 -67,-46.279 -43.936,-13.092 -92.511,-13.204 -135,6.179 -22.521,10.275 -42.833,31.045 -59.17,49.1 -10.559,11.67 -21.49,22.725 -30.135,36 -18.979,29.143 -24.695,61.855 -24.695,96 0,13.992 -0.163,27.469 4.025,41 10.973,35.448 34.058,66.083 59.975,92 9.469,9.469 34.821,22.422 32.772,38 -0.859,6.526 -6.454,10.312 -11.772,13.23 -11.374,6.24 -23.589,10.81 -35,17.082 -35.57,19.548 -65.964,49.471 -90.127,81.688 -20.797,27.73 -42.779,63.776 -50.054,98 -1.967,9.251 -1.243,19.557 -1.909,29 -0.846,12.005 -5.117,24.266 -18.91,22.895 -8.367,-0.832 -16.87,-8.073 -22.536,-13.815 -14.67,-14.866 -26.765,-34.111 -38.891,-51.08 -17.542601,-24.547 -33.847501,-54.649 -44.508201,-83 -3.5315,-9.392 -4.4129,-19.54 -7.7091,-29 -8.5794,-24.622 -16.7531,-51.024 -20.0702,-77 -3.1995,-25.055 -1.2855,-49.911 -1.2855,-75 0,-43.961 9.6749,-82.845 23.7585,-124 4.8743,-14.244 7.1474,-29.119 13.3125,-43 3.5716,-8.042 9.614,-15.142 13.6705,-23 43.101501,-83.497 110.714501,-154.617 197.258501,-194.099505 10.521,-4.7998 22.092,-6.198 33,-9.6459 10.97,-3.4674 20.953,-10.018 32,-12.8765 35.597,-9.2104 70.838,-10.8258 107,-15.0926 m 489,425.714505 -1,1 1,-1 m -450,492 v 1 l -6,-1 h 6 m -38,2 v 1 h 6 v -2 l -6,1 m -8,0 1,1 -1,-1 m 32,0 v 1 h 3 z"
id="path2476" />
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
resources/shop/img/logo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
resources/shop/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@@ -0,0 +1,8 @@
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
(function($) {
numeral.locale('fr');
})(jQuery); // End of use strict

View File

@@ -0,0 +1,69 @@
(function ($) {
$.fn.appender = function (settings) {
let appendArea = this;
let rowHtml = $(settings.rowSection)[0].outerHTML;
settings.hideSection ? $(settings.rowSection).remove() : "";
let rowCounter = 1;
if (settings.rowNumberStart) {
rowCounter = Number(settings.rowNumberStart);
}
$(document).on('click', settings.addBtn, function (event) {
$(appendArea).append(rowHtml);
if (settings.appendEffect === 'fade') {
$(settings.rowSection).last().hide().fadeIn();
} else if (settings.appendEffect === 'slide') {
$(settings.rowSection).last().hide().slideDown(200);
}
$(settings.rowSection).last().addClass(settings.addClass);
$(settings.rowNumber).last().text(rowCounter);
type = (settings.type) ? settings.type : settings.rowSection;
$(type).each(function(rowIndex) {
$(this).find('input[name]').each(function() {
var name = $(this).attr('name');
name = name.replace(/\[[0-9]?\]/g, '['+rowIndex+']');
$(this).attr('name',name);
});
$(this).find('select[name]').each(function() {
var name = $(this).attr('name');
name = name.replace(/\[[0-9]?\]/g, '['+rowIndex+']');
$(this).attr('name',name);
});
$(this).find('textarea[name]').each(function() {
var name = $(this).attr('name');
name = name.replace(/\[[0-9]?\]/g, '['+rowIndex+']');
$(this).attr('name',name);
});
$(this).find('.appender').each(function() {
$(this).data('id',rowIndex);
});
});
rowCounter++;
if (settings.callback) {
settings.callback();
}
});
if (settings.deleteBtn) {
$(document).on('click', settings.deleteBtn, function (e) {
$(e.target).closest(settings.rowSection).remove();
if (settings.callback) {
settings.callback();
}
})
}
};
}(jQuery));

View File

@@ -0,0 +1,49 @@
$('.sidebar-toggle').on('click', function (event) {
event.preventDefault();
if (Boolean(sessionStorage.getItem('sidebar-toggle-collapsed'))) {
sessionStorage.setItem('sidebar-toggle-collapsed', '');
} else {
sessionStorage.setItem('sidebar-toggle-collapsed', '1');
}
});
$(function () {
$(document).tooltip({
container: 'body',
selector: '[data-toggle="tooltip"]',
delay: { "show": 500, "hide": 100 },
html: true,
trigger: 'hover',
})
setInterval(function () {
var timestamp = Math.round(+new Date() / 1000);
if (Math.round(+new Date() / 1000) === (session.expire - 10)) {
session.expire = timestamp + session.lifetime;
$.ajax({
url: session.keepalive,
type: 'post',
data: {id: session.id}
})
}
}, 1000)
});
$('.logout').click(function (e) {
e.preventDefault();
if (bootbox.confirm($(this).attr('data-question'), function (e) {
if (e === false) {
return;
}
$('#logout-form').submit();
})) {
}
});
(function () {
if (Boolean(sessionStorage.getItem('sidebar-toggle-collapsed'))) {
var body = document.getElementsByTagName('body')[0];
body.className = body.className + ' sidebar-collapse';
}
})();

View File

@@ -0,0 +1,75 @@
var confirm_delete_options = {
title: "Etes-vous sur ?",
text: "Cet enregistrement sera effacé.",
type: "warning",
showCancelButton: true,
confirmButtonClass: "btn-danger",
confirmButtonText: "Oui !",
cancelButtonText: "Annuler"
};
function confirm_delete(id, route,callback) {
console.log(route);
Swal.fire(confirm_delete_options).then(function(result) {
if (result.value) {
$.ajax({
url : route,
method : 'DELETE',
data: {id:id},
success : function(resp){
if (resp.success) {
console.log(resp);
callback();
Swal.fire("Supprimé !", "L'enregistrement a été supprimé.", "success");
} else {
Swal.fire("Erreur!", "L'enregistrement n'a pu être supprimé pour les raisons suivantes : "+resp.message, "danger");
if(resp.code == 401){
location.reload();
}
}
}
});
} else if (result.dismiss === Swal.DismissReason.cancel) {
}
})
}
function confirm(route,options,callback) {
var confirm_options = {
title: options.title,
text: options.text,
type: "warning",
showCancelButton: true,
confirmButtonClass: "btn-danger",
confirmButtonText: "Oui !",
cancelButtonText: "Annuler",
success: options.success ? options.success : "L'enregistrement a été supprimé.",
notsuccess: options.notsuccess ? options.notsuccess : "L'enregistrement n'a pu être supprimé pour les raisons suivantes : "
};
console.log(route);
Swal.fire(confirm_options).then(function(result) {
if (result.value) {
$.ajax({
url : route,
method : 'GET',
success : function(resp){
if (resp.success) {
console.log(resp);
callback();
Swal.fire("Supprimé !", confirm_options.success, "success");
} else {
Swal.fire("Erreur!", confirm_options.notsuccess + resp.message, "danger");
if(resp.code == 401){
location.reload();
}
}
}
});
} else if (result.dismiss === Swal.DismissReason.cancel) {
}
})
}

View File

@@ -0,0 +1,75 @@
(function ($) {
$.fn.appender = function (settings) {
let appendArea = this;
let rowHtml = $(settings.rowSection)[0].outerHTML;
settings.hideSection ? $(settings.rowSection).remove() : "";
let rowCounter = 1;
if (settings.rowNumberStart) {
rowCounter = Number(settings.rowNumberStart);
}
$(document).on('click', settings.addBtn, function (event) {
$(appendArea).append(rowHtml);
if (settings.appendEffect === 'fade') {
$(settings.rowSection).last().hide().fadeIn();
} else if (settings.appendEffect === 'slide') {
$(settings.rowSection).last().hide().slideDown(200);
}
$(settings.rowSection).last().addClass(settings.addClass);
$(settings.rowNumber).last().text(rowCounter);
if (settings.type) {
type = settings.type;
} else {
type = settings.rowSection;
}
$(type).each(function(rowIndex) {
$(this).find('input[name]').each(function(){
var name;
name = $(this).attr('name');
name = name.replace(/\[[0-9]?\]/g, '['+rowIndex+']');
$(this).attr('name',name);
});
$(this).find('select[name]').each(function(){
var name;
name = $(this).attr('name');
name = name.replace(/\[[0-9]?\]/g, '['+rowIndex+']');
$(this).attr('name',name);
});
$(this).find('textarea[name]').each(function(){
var name;
name = $(this).attr('name');
name = name.replace(/\[[0-9]?\]/g, '['+rowIndex+']');
$(this).attr('name',name);
});
});
rowCounter++;
if (settings.callback) {
settings.callback();
}
});
if(settings.deleteBtn) {
$(document).on('click', settings.deleteBtn, function (e) {
$(e.target).closest(settings.rowSection).remove();
if (settings.callback) {
settings.callback();
}
})
}
};
}(jQuery));

View File

@@ -0,0 +1,5 @@
function loadCache(file, callback) {
file += '?v=' + cache_versions[file];
loadScript(file, callback);
}

View File

@@ -0,0 +1,70 @@
function renderContractDriveTPL(filename, data, selector) {
if (typeof(data) == 'undefined') {
var data = {};
}
data.translate = translate;
var path = '/assets/apps/ContractDrive/templates/';
var content = getTemplate(path + filename, data);
if (typeof(selector) == 'undefined')
{
return content;
} else {
$(selector).html(content);
}
}
function getTemplate(file, data) {
var source = getSource(file);
var template = Handlebars.compile(source);
return template(data);
}
function getSource(file) {
var source = null;
$.ajax({
async: false,
dataType: 'html',
type: 'GET',
url: file + '?' + Date.now(),
success: function(data) {
source = data;
}
});
return source;
}
function view(template_id, data) {
// console.log(template_id);
// console.log(data);
var source = document.getElementById(template_id).innerHTML;
var template = Handlebars.compile(source);
return template(data);
}
function helperSelect(name, items, selected, options) {
// If the selected value is an array, then convert the
// select to a multiple select
if (selected instanceof Array) {
options.hash.multiple = 'multiple';
}
// Generate the list of options
var optionsHtml = '';
for (var i = 0, j = items.length; i < j; i++) {
// <option> attributes
var attr = {
value: items[i].value
};
// We can specify which options are selected by using either:
// * an array of selected values or
// * a single selected value
if ((selected instanceof Array && indexOf(selected, items[i].value) !== -1) || (selected === items[i].value)) {
attr.selected = 'selected';
}
optionsHtml += createElement('option', true, attr, items[i].text);
}
}

View File

@@ -0,0 +1,21 @@
// Array Helpers
const countOccurrences = arr => arr.reduce((prev, curr) => (prev[curr] = ++prev[curr] || 1, prev), {});
const isEmpty = arr => !(Array.isArray(arr) && arr.length > 0 && arr.filter(el => el === undefined).length > 0)
const isEqual = (a, b) => JSON.stringify(a.sort()) === JSON.stringify(b.sort());
const countBy = (arr, prop) => arr.reduce((prev, curr) => (prev[curr[prop]] = ++prev[curr[prop]] || 1, prev), {});
const transpose = matrix => matrix[0].map((col, i) => matrix.map(row => row[i]));
// Dom Helpers
const insertAfter = (ele, anotherEle) => anotherEle.parentNode.insertBefore(ele, anotherEle.nextSibling);
const insertBefore = (ele, anotherEle) => anotherEle.parentNode.insertBefore(ele, anotherEle);
const insertHtmlAfter = (html, ele) => ele.insertAdjacentHTML('afterend', html);
const insertHtmlBefore = (html, ele) => ele.insertAdjacentHTML('beforebegin', html);
const goTo = url => location.href = url;
const replace = (ele, newEle) => ele.parentNode.replaceChild(newEle, ele);
const toNumbers = arr => arr.map(Number);
const wait = async (milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds));
const capitalize = str => `${str.charAt(0).toUpperCase()}${str.slice(1)}`;
const slugify = string => string.toLowerCase().replace(/\s+/g, '-').replace(/[^\w-]+/g, '');
const isNumeric = str => !/[^0-9]/.test(str);

View File

@@ -0,0 +1,12 @@
function initLangSelector() {
$('.language-choice').click(function() {
var lang = $(this).data('lang');
var url = laroute.route('language', {lang:lang});
window.location = url;
});
}
function getLang() {
return $('#language-btn').attr('data-current-lang');
}

View File

@@ -0,0 +1,5 @@
function objectLength(list)
{
return ( typeof(list) == 'Array' ) ? list.length : Object.keys(list).length;
}

View File

@@ -0,0 +1,6 @@
function initAjaxCheckSession() {
$( document ).ajaxError(function( event, jqxhr, settings, thrownError ) {
alert("Session expired. You'll be take to the login page");
location.href = "/login";
});
}

View File

@@ -0,0 +1,4 @@
function openURL(url) {
window.location = url;
}

View File

@@ -0,0 +1,29 @@
function getCurrentUser() {
var user = $('#current_user').html();
return (typeof(user) != 'undefined') ? user : false;
}
function isConnected() {
return getCurrentUser() ? true : false;
}
function hasRole(str) {
return checkRole('admin') ? true : checkRole(str);
}
function checkRole(str) {
return (global.roles.indexOf(str) == -1 ) ? false : true;
}
function isAdmin() {
return hasRole('admin');
}
function hasPermission(str) {
if (isAdmin()) {
return true;
} else {
return (global.permissions.indexOf(str) == -1 ) ? false : true;
}
}

View File

@@ -0,0 +1,147 @@
function getDatatablesSelector(module) {
return '#' + module + '-table';
}
function getDataTables(options,route,module, nobuttons) {
var params = {
ajax: {
url: route,
data: function ( d ) {
d.where = $('#where').val();
}
},
buttons: (!nobuttons) ? getDatatablesButtons() : [],
responsive: false,
keys: false,
autoWidth: true,
processing: true,
serverSide: true,
lengthChange: true,
lengthMenu: [
[ 10, 25, 50, 100, -1],
[ '10 lignes', '25 lignes', '50 lignes', '100 lignes', 'Tous']
],
deferRender: true,
stateSave: false,
sDom: options['dom'] ? options['dom'] : getDatatablesDomDefault(),
fixedHeader: false,
fixedColumns: options['fixedColumns'],
colReorder: false,
scrollX: true,
scrollY: "70vh",
scrollCollapse: true,
searchDelay: 300,
select: false,
columns: options['columns'],
language: datatables_lang,
rowId: 'id',
};
/* // DOM Position key index //
l - Length changing (dropdown)
f - Filtering input (search)
t - The Table! (datatable)
i - Information (records)
p - Pagination (paging)
r - pRocessing
< and > - div elements
<"#id" and > - div with an id
<"class" and > - div with a class
<"#id.class" and > - div with an id and class
Also see: http://legacy.datatables.net/usage/features
*/
if (options['order']) {
params.order = options['order'];
}
// console.log(params);
var Table = $('#'+module+'-table').DataTable(params);
handleDataTablesFilter(Table,module);
// Table.buttons().container().appendTo( $('.col-sm-6:eq(0)'));
return Table;
}
function handleDataTablesFilter(Table) {
$(Table.table().container()).on('change keyup', 'thead input', function() {
Table.column( $(this).parent().index()+':visible' ).search( this.value ).draw();
});
$(Table.table().container()).on('change', 'thead select', function() {
Table.column( $(this).parent().index()+':visible' ).search( this.value ).draw();
});
$('[data-toggle="popover"]').popover({html: true});
};
function getDatatablesButtons() {
return ['pageLength',
{
extend: 'copyHtml5',
exportOptions: {
columns: ':visible'
},
text: '<i class="fa fa-files-o fa-lg"></i>',
titleAttr: 'Copier',
className: 'hidden-xs',
},
{
extend: 'excelHtml5',
exportOptions: {
columns: ':visible'
},
text: '<i class="fa fa-file-excel-o fa-lg"></i>',
titleAttr: 'Excel',
className: 'hidden-xs',
},
{
extend: 'pdfHtml5',
orientation: 'landscape',
pageSize: 'A4',
exportOptions: {
columns: ':visible'
},
text: '<i class="fa fa-file-pdf-o fa-lg"></i>',
titleAttr: 'PDF',
className: 'hidden-xs',
},
{
extend: 'print',
text: '<i class="fa fa-print fa-lg"></i>',
titleAttr: 'Imprimer',
className: 'hidden-xs',
},
{
extend: 'colvis',
text: '<i class="fa fa-columns fa-lg"></i>',
titleAttr: 'Colonnes',
columns: ':not(.fixed)'
}
];
}
function getDatatablesDomDefault(nobuttons) {
dom = (!nobuttons) ? getDatatablesHeaderDefault() : '';
dom += "t";
dom += getDatatablesFooterDefault();
return dom;
}
function getDatatablesHeaderDefault() {
return "<' row dt-toolbar-header'<'col-md-4 tool'B><'col-md-4'<'toolbar'>><'col-md-4 text-right add'>r>";
}
function getDatatablesFooterDefault() {
return "<'row dt-toolbar-footer'<'col-md-6'i><'col-md-6'p>>";
}
function getDatatableLang() {
return "/assets/plugins/datatables_lang/" + getLang() + '.json';
}

View File

@@ -0,0 +1,94 @@
var glyph_opts = {
preset: "bootstrap3",
map: {
}
};
function initFancyTree(selector) {
$(selector).fancytree({
extensions: ["dnd5", "edit", "glyph", "wide"],
checkbox: true,
selectMode: 3,
dnd5: {
dragStart: function(node, data) {
return true;
},
dragEnter: function(node, data) {
return true;
},
dragDrop: function(node, data) {
data.otherNode.copyTo(node, data.hitMode);
}
},
glyph: glyph_opts,
// source: {url: "ajax-tree-taxonomy.json", debugDelay: 1000},
source: {
url: "ajax-tree-products.json",
debugDelay: 1000
},
// toggleEffect: { effect: "drop", options: {direction: "left"}, duration: 400 },
wide: {
iconWidth: "1em", // Adjust this if @fancy-icon-width != "16px"
iconSpacing: "0.5em", // Adjust this if @fancy-icon-spacing != "3px"
labelSpacing: "0.1em", // Adjust this if padding between icon and label != "3px"
levelOfs: "1.5em" // Adjust this if ul padding != "16px"
},
icon: function(event, data) {
// if( data.node.isFolder() ) {
// return "glyphicon glyphicon-book";
// }
},
lazyLoad: function(event, data) {
data.result = {
url: "ajax-sub2.json",
debugDelay: 1000
};
}
});
}
function initFancyTreeTable(selector) {
$(selector).fancytree({
extensions: ["dnd5", "edit", "glyph", "table"],
checkbox: true,
dnd5: {
dragStart: function(node, data) {
return true;
},
dragEnter: function(node, data) {
return true;
},
dragDrop: function(node, data) {
data.otherNode.copyTo(node, data.hitMode);
}
},
glyph: glyph_opts,
source: {
url: "ajax-tree-taxonomy.json",
debugDelay: 1000
},
table: {
checkboxColumnIdx: 1,
nodeColumnIdx: 2
},
activate: function(event, data) {
},
lazyLoad: function(event, data) {
data.result = {
url: "ajax-sub2.json",
debugDelay: 1000
};
},
renderColumns: function(event, data) {
var node = data.node,
$tdList = $(node.tr).find(">td");
$tdList.eq(0).text(node.getIndexHier());
$tdList.eq(3).text(!!node.folder);
}
});
}
$(function() {
});

View File

@@ -0,0 +1,409 @@
var fileManager = {
selected: [], // stocke les fichiers déjà enregistrés
currentSelected: [], // stocke les fichiers en cours
toRemove: [],
callback: null, // indique la fonction à exécuter pour le renvoi des fichiers sélectionnées à la validation de la sélection
subFolder: '0', // indique le sous-répertoire dans lequel les fichiers seront uploadés
forSubcontract: false, // indique si on upload des fichiers pour les contrats ou sous-contrats
js_confirm: null, // la jquery confirm
parent: null,
init: function(title, chosen, category, callback, forSubcontract, parent, novation) {
this.selected = ( typeof(chosen) != 'undefined' ) ? chosen : [];
this.currentSelected = [];
this.callback = ( typeof(callback) != 'undefined' ) ? callback : null;
this.forSubcontract = ( typeof(forSubcontract) != 'undefined' ) ? forSubcontract : null;
this.category = category; // stocke le sous-répertoire d'upload
this.subFolder = category; // stocke le sous-répertoire d'upload
this.parent = parent;
this.novation = ( typeof(novation) != 'undefined' ) ? true : false;
this.js_confirm = this.renderModal(title);
},
initAddFile: function() {
var that = this;
$('#add_files').off('click').on('click', function() {
var index = objectLength(that.currentSelected);
console.log('add_files');
console.log(index);
if (index > 1) {
var isValid = that.checkValidity(index - 1);
} else {
var isValid = true;
}
if (isValid) {
var infos = {
pdfFile: {},
docFile: {},
title: '',
effective_date: '',
};
that.newFile(infos);
that.updateImportedFilesMessage(objectLength(that.currentSelected));
}
});
},
checkValidity: function(index) {
// console.log('checkValidity');
// console.log(index);
var selector = '#uploader_files_' + index + ' form';
// console.log(selector);
var form = $(selector);
// console.log(form);
var fields = selector + ' input,' + selector + ' textarea,' + selector + ' select';
// console.log(selector);
var validity = true;
var pdfFile = this.currentSelected[index].pdfFile;
// console.log(typeof(pdfFile));
if (typeof(pdfFile.name) == 'undefined') {
console.log("Pas de fichier");
$(selector + '[name="import_pdf_form"] .contract-file-upload').addClass('error');
validity = false;
} else {
$(selector + '[name="import_pdf_form"] .contract-file-upload').removeClass('error');
}
$(fields).filter('[required]').each(function(i, required){
// console.log(required);
if ($(required).val() == '') {
if ($(required).hasClass('chosen-select')) {
$(required).siblings('.chosen-container').addClass('form-control error pt-0');
} else {
$(required).addClass('error');
}
// console.log('validity false');
// console.log(required);
validity = false;
} else {
if ($(required).hasClass('chosen-select')) {
$(required).siblings('.chosen-container').removeClass('form-control error pt-0');
} else {
$(required).removeClass('error');
}
}
});
return validity;
},
initDeleteRow: function(selector) {
var that = this;
$(selector + ' button.contract-del-btn').off('click').on('click', function() {
var index = $(this).data('index');
// TODO effacer currenselect[index] et mettre dans elements à deleter
that.removeRow(index);
that.updateImportedFilesMessage(objectLength(currentSelected));
});
},
initDeleteFile: function(selector, selector2) {
// console.log(this, selector, selector2);
var that = this;
$(selector2 + ' .imported_files ul.jFiler-items-list li a.file-del-btn').off('click').on('click', function() {
that.removeFile(this, selector, selector2);
});
},
renderModal: function(title) {
var that = this;
var confirm = $.confirm({
title: title,
columnClass: 'col-md-9',
content: function() {
var content = '\
<div class="row">\
<div class="col-12" id="files_selection"></div>\
<div class="col-12 text-center text-white mb-2" id="no_imported_files">'+translate.getText.no_imported_files+'</div>\
<div class="col-12 text-center mb-0"><button class="btn btn-xs btn-success uppercase weight-700" id="add_files"><i class="glyph-icon icon-plus"></i> '+translate.getText.new_file+'</button></div>\
</div>\
';
return content;
},
onContentReady: function() {
if ( objectLength(that.selected) > 0 ) {
$.each(that.selected, function(i, elem) {
that.newFile(that.selected[i]);
});
}
that.initAddFile();
that.updateImportedFilesMessage(objectLength(that.currentSelected));
},
type: 'orange',
theme: 'theme2',
typeAnimated: true,
buttons: {
validate: {
text: '<i class="glyph-icon icon-elusive-ok"></i>' + translate.getText.validate,
btnClass: 'btn-green',
action: function() {
var isValid = true;
$.each(that.currentSelected, function(i, elem) {
var selector = '#uploader_files_' + i;
isValid = isValid && that.checkValidity(i);
// vérifie qu'il y ait bien un fichier PDF d'uploadé
/*
$(selector + ' .contract-file-upload').removeClass('error');
if ( typeof(that.currentSelected[i].pdfFile.name) === 'undefined' ) {
$(selector + ' .contract-file-upload').addClass('error');
}
*/
});
if (!isValid) {
return false;
} else {
// retourne les fichiers sélectionnés en appelant la fonction de retour des paramètres
that.returnSelection();
}
}
},
close: {
text: '<i class="glyph-icon icon-elusive-cancel"></i>'+translate.getText.cancel,
btnClass: 'btn-red',
action: function() { }
}
}
});
return confirm;
},
renderUploader: function(index, file, selector, uploadRoute, extensions, chooseText) {
console.log("renderUploader");
console.log(selector);
var that = this;
console.log(that);
renderUploaderFiler(index, file, selector, uploadRoute, extensions, chooseText, that);
},
newFile: function(file) {
console.log('newFile');
console.log(file);
// empile les contrats sélectionnés
this.currentSelected.push(file);
// charge le contrat sélectionné
this.newUploader(file);
initChosen();
initValidator();
},
newUploader: function(file) {
console.log('new uploader');
console.log(file);
var that = this;
console.log(that.novation);
// var index = getIndexOf(this.currentSelected, file.id);
var count = objectLength(this.currentSelected);
var index = count - 1;
var path = '/assets/apps/ContractDrive/templates/';
if (that.novation) {
var third_parties = null;
$.ajax({
async: false,
method: "POST",
dataType: "json",
url: laroute.route("Stack.API.ThirdParty.getThirdParties"),
data: { third_party_type: 'counterpart' }
}).done(function(response) {
third_parties = response.listing;
});
} else {
var third_parties = null;
}
// console.log(third_parties);
var extra = ((that.category == 3) && (count == 1)) ? false : true;
var data = {
index: index,
count: count,
id: (typeof(file.id) !== 'undefined') ? file.id : null,
translate: translate,
novation: that.novation,
extra: extra,
category: that.category,
third_parties: third_parties
};
var content = getTemplate(path + 'files-uploader.html', data);
$('#files_selection').append(content);
var selector = '#uploader_files_' + index;
this.initDeleteRow(selector);
// initialise les file uploader
this.parent.initFilesUploader(file, index);
this.renderFiles(file, selector);
// désaffiche le titre et la date de signature pour le 1er fichier de catégorie "contrat" à upload
if ( that.subFolder == '3' && index == 0 && !(that.forSubcontract) ) {
$(selector + ' form[name="import_file_infos_form"]').hide();
}
var picker = getDaterangePicker(selector + ' form[name="import_file_infos_form"] input[name="import_file_infos_date"]');
$(selector + ' form[name="import_file_infos_form"] input[name="import_file_infos_date"]').next('span.add-on').off('click').on('click', function() {
$(selector + ' form[name="import_file_infos_form"] input[name="import_file_infos_date"]').trigger('click');
});
// sur changement de date
/*
$(selector + ' form[name="import_file_infos_form"] input[name="import_file_infos_date"]').on('apply.daterangepicker', function(ev, picker) {
$(selector + ' form[name="import_file_infos_form"] input[name="import_file_infos_effective_date"]').val(picker.startDate.format(dateRangePickerLanguage.format));
});
*/
},
createFile: function(item, index, file) {
//console.log(that.currentSelected);
if (file.extension == 'pdf') {
this.currentSelected[index].pdfFile = file;
this.currentSelected[index].pdfFile.isNew = true;
} else {
this.currentSelected[index].docFile = file;
this.currentSelected[index].docFile.isNew = true;
}
// enregistre le fichier dans les fichiers uploadés en cours
$(item).find('.jFiler-item-others').html('\
<span><i class="glyph-icon icon-file"></i> <b>'+translate.getText.type+':</b> '+strtoupper(file.extension)+'</span>\
<div class="current-status text-success"><i class="icon-jfi-check-circle"></i></div>\
');
$(item).find('.jFiler-item-icon i').removeClass('icon-jfi-file-o').removeClass('jfi-file-ext-docx').addClass('icon-file-uploaded '+strtolower(file.extension));
this.addFileInfo(index);
},
addFileInfo: function(index) {
console.log('addFileInfo');
console.log(index);
if (typeof(index) != 'undefined') {
var selector = '#uploader_files_' + index;
this.currentSelected[index].title = $(selector + ' form[name="import_file_infos_form"] input[name="import_file_infos_title"]').val();
var effective_date = $(selector + ' form[name="import_file_infos_form"] input[name="import_file_infos_date"]').val();
console.log('effective_date');
console.log(effective_date);
this.currentSelected[index].effective_date = effective_date;
var third_party_id = $(selector + ' form[name="import_file_infos_form"] select[name="third_party_out"]').val();
if (typeof(third_party_id) != 'undefined') {
this.currentSelected[index].novation = {};
this.currentSelected[index].novation.third_party_id = third_party_id;
this.currentSelected[index].novation.name = $(selector + ' form[name="import_file_infos_form"] select[name="third_party_out"] option:selected').text();
}
console.log(this.currentSelected[index]);
}
},
removeRow: function(index) {
console.log('remove row');
console.log(index);
$('#uploader_files_' + index).remove();
this.toRemove.push(this.currentSelected[index]);
this.currentSelected.splice(index, 1);
console.log(this.currentSelected);
console.log(this.toRemove);
this.reIndex();
},
removeFile: function(item, selector, selector2) {
var id = $(item).data('id');
console.log(id);
console.log(item);
console.log(selector);
console.log(selector2);
// $(item).parent().parent().parent().parent().parent().parent().parent().remove();
// file.docFile = {};
//console.log(filesEdit.currentSelected);
$(selector + ' .contract-file-upload').show();
$(selector2).hide();
},
reIndex: function() {
console.log("reindex");
// refixe les numéros des tableaux
var that = this;
$.each(that.currentSelected, function(i, elem) {
// var sel = '#uploader_files_' + i;
var sel = '.files-list:eq( '+i+' )';
console.log(sel);
$(sel + ' .file-count').html(parseInt(i+1));
$(sel).attr('id', '#uploader_files_' + i);
// désaffiche la titre et la date de signature pour le 1er fichier de catégorie "contrat" à upload
if ( that.subFolder == '3' && i == 0 && that.forSubcontract == false ) {
$(sel + ' form[name="import_file_infos_form"]').hide();
}
});
},
renderFiles: function(file, selector) {
console.log('renderFiles');
console.log(file, selector);
var that = this;
// restaure le fichier PDF
if ( typeof(file.pdfFile) !== 'undefined' ) {
this.renderFile(file.pdfFile, 'pdf', selector + ' form[name="import_pdf_form"]', selector + ' form[name="already_imported_pdf_form"]');
}
// restaure le fichier DOC/DOCX
if (typeof(file.docFile) !== 'undefined') {
this.renderFile(file.docFile, 'doc', selector + ' form[name="import_doc_form"]', selector + ' form[name="already_imported_doc_form"]');
}
// restaure la date
if (( typeof(file.effective_date) !== 'undefined' ) && (file.effective_date != '')) {
$(selector + ' form[name="import_file_infos_form"] input[name="import_file_infos_date"]').val(file.effective_date);
// var date_range_start = moment(file.effectiveDate, dateRangePickerLanguage.format).format(translate.getText.date_format_moment);
// var date_range_start = file.effective_date;
// $(selector + ' form[name="import_file_infos_form"] input[name="import_file_infos_date"]').data('daterangepicker').setStartDate(date_range_start);
}
// restaure le titre
if ( typeof(file.title) !== 'undefined' ) {
$(selector + ' form[name="import_file_infos_form"] input[name="import_file_infos_title"]').val(file.title);
}
if ( (typeof(file.novation) !== 'undefined') && (file.novation != null) ) {
console.log(file.novation.third_party_id);
$(selector + ' form[name="import_file_infos_form"] select[name="third_party_out"]').val(file.novation.third_party_id).trigger("chosen:updated");
}
$(selector + ' form[name="import_file_infos_form"] input').change(function() {
index = $(this).data('index');
that.addFileInfo(index);
});
$(selector + ' form[name="import_file_infos_form"] select').change(function() {
index = $(this).data('index');
that.addFileInfo(index);
});
},
renderFile: function(file, type, selector, selector2) {
// console.log('renderFile');
// console.log(file, selector, selector2);
var that = this;
var path = '/assets/apps/ContractDrive/templates/';
if (typeof(file.name) !== 'undefined') {
console.log('deja uploadé');
$(selector + ' .contract-file-upload').hide();
var data = {'file' : file, 'translate' : translate};
var content = getTemplate(path + 'files-row.html', data);
$(selector2 + ' .imported_files ul.jFiler-items-list').append(content);
$(selector2).show();
}
this.initDeleteFile(selector, selector2);
},
activeJConfirmButtons: function(inOut) {
if ( inOut ) {
this.js_confirm.buttons.close.enable();
this.js_confirm.buttons.validate.enable();
} else {
this.js_confirm.buttons.close.disable();
this.js_confirm.buttons.validate.disable();
}
},
updateImportedFilesMessage: function(tot) {
if ( tot > 0 ) {
$('#no_imported_files').hide();
} else {
$('#no_imported_files').show();
}
},
returnSelection: function() {
this.parent.selected = this.currentSelected;
this.parent.toRemove = this.toRemove;
if ( this.callback != null ) {
console.log(this.callback);
eval(this.callback);
}
}
}

View File

@@ -0,0 +1,39 @@
function checkCollapsedFields(selector)
{
var fields = selector + ' input,' + selector + ' textarea,' + selector + ' select';
console.log(fields);
var nb_fields = $(fields).length;
console.log(nb_fields);
var nb_required = $(fields).filter('[required]').length;
console.log(nb_required);
var nb_filled = 0;
var nb_necessary = 0;
$(fields).each(function(i, field){
if ($(field).val() != '')
{
nb_filled++;
}
});
$(fields).filter('[required]').each(function(i, required){
if ($(required).val() != '')
{
nb_necessary++;
}
});
var result = nb_filled + " / " + nb_fields;
result = result + " | " + nb_necessary + " / " + nb_required;
console.log(result);
var check = $(selector).parent().find('.check');
console.log(check);
// $(selector).parent().find('.check').html(result);
if (nb_necessary < nb_required) {
$(selector).collapse('show');
}
}

View File

@@ -0,0 +1,42 @@
function initIcheck(selector)
{
var selector = (typeof(selector) != 'undefined') ? selector : '.iCheck';
console.log('initIcheck');
$(selector).each(function(){
// var each element .iCheck
var $this = $(this),
skin = $this.attr('data-skin'),
color = $this.attr('data-color'),
checkbox, radio, insert = '';
if (skin === undefined) {
checkbox = 'icheckbox_minimal';
radio = 'iradio_minimal';
} else {
checkbox = 'icheckbox_' + skin;
radio = 'iradio_' + skin;
}
if (color !== undefined) {
checkbox = checkbox + '-' + color;
radio = radio + '-' + color;
}
// handle iCheck skin 'line'
if (skin == 'line') {
var label = $this.next(),
label_text = label.text();
insert = '<div class="icheck_line-icon"></div>' + label_text;
label.remove();
}
// initialize
$this.iCheck({
checkboxClass: checkbox,
radioClass: radio,
insert: insert,
increaseArea: '30%' // optional
});
});
}

View File

@@ -0,0 +1,130 @@
function initDatepicker() {
var lang = getLang();
loadScript('assets/plugins/datepicker/bootstrap-datepicker.' + lang + '.min.js', function() {
$(".datepicker").datepicker({
language: lang
});
});
}
function initDaterangePicker() {
var lang = getLang();
loadScript('assets/plugins/daterangepicker/' + lang + '.js');
}
function initMomentLang() {
var lang = getLang();
loadScript('assets/plugins/moment/' + lang + '.js');
}
function getFormatDate() {
var lang = getLang();
switch (lang) {
case 'en':
return 'YYYY-MM-DD';
break;
case 'fr':
return 'DD/MM/YYYY';
break;
default:
return 'YYYY-MM-DD';
break;
}
}
function getFormatDatetime() {
var lang = getLang();
switch (lang) {
case 'en':
return 'YYYY-MM-DD HH:mm:ss';
break;
case 'fr':
return 'DD/MM/YYYY HH:mm:ss';
break;
default:
return 'YYYY-MM-DD HH:mm:ss';
break;
}
}
function convertToDateRange(str)
{
return str.replace('-','/');
}
function getDaterangePicker(selector, startDate, parentEl, endDate) {
// console.log('getDaterangePicker');
// console.log("StartDate : ", startDate);
if (typeof(parentEL) == 'undefined') {
parentEl = 'file_effect_date_selection';
} else {
$(selector).parent().parent().parent().parent().parent().parent().parent().parent().parent().addClass(parentEl);
}
if (typeof(startDate) == 'undefined') {
// startDate = moment().format(dateRangePickerLanguage.format);
startDate = moment();
} else {
// console.log("ici");
startDate = moment(startDate, getFormatDate());
}
// console.log("selector : ", selector);
// console.log("StartDate : ", startDate);
// console.log("format", dateRangePickerLanguage.format);
var options = {
alwaysShowCalendars: true,
autoUpdateInput: false,
format: dateRangePickerLanguage.format,
opens: 'left',
showDropdowns: true,
showWeekNumbers: true,
startDate: startDate,
separator: dateRangePickerLanguage.separator,
locale: dateRangePickerLanguage.locale,
buttonClasses: 'btn light uppercase weight-900',
parentEl: '.' +parentEl
};
if (typeof(endDate) != 'undefined') {
options.cancelClass = "btn-danger";
options.endDate = endDate;
options.ranges = dateRangePickerLanguage.ranges;
options.template =
'<div class="daterangepicker">' +
'<div class="ranges"></div>' +
'<div class="drp-calendar left">' +
'<div class="calendar-table"></div>' +
'<div class="calendar-time"></div>' +
'</div>' +
'<div class="drp-calendar right">' +
'<div class="calendar-table"></div>' +
'<div class="calendar-time"></div>' +
'</div>' +
'<div class="drp-buttons">' +
'<span class="drp-selected"></span>' +
'<button class="cancelBtn" type="button"></button>' +
'<button class="applyBtn" disabled="disabled" type="button"></button> ' +
'</div>' +
'</div>';
} else {
options.autoApply = true;
options.singleDatePicker = true;
};
$('#files_selection').parent().parent().parent().parent().parent().parent().parent().parent().parent().removeClass(parentEl).addClass(parentEl);
var picker = $(selector).daterangepicker(options, function(start, end, label) {
//console.log("New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')");
});
$(selector + ' .daterangepicker').removeClass('light').addClass('light');
$(selector).next('span.add-on').off('click').on('click', function() {
$(selector).trigger('click');
});
$(selector).on('apply.daterangepicker', function(ev, picker) {
$(this).val(picker.startDate.format(dateRangePickerLanguage.format));
$(selector).trigger('change');
});
return picker;
}

View File

@@ -0,0 +1,154 @@
function initMultiselect(model, item, route, availables, associated, event)
{
console.log('initMultiselect');
console.log(route);
var toggle_button = "#toggle_button_" + model;
var assoc_form = model + "_assoc_form";
var assoc_submit = '#' + model + '_assoc_submit';
var assoc_selection = '#' + model + '_search_selection';
var assoc_selectable = '#' + model + '_search_selectable';
var list = '#' + model + '_list';
$(assoc_submit).off('click').on('click', function(event) {
event.preventDefault();
$('form[name="' + assoc_form + '"]').submit();
});
$(toggle_button).off('click').on('click', function(event) {
if (!$(assoc_submit).is(':hover')) {
event.preventDefault();
$(toggle_button + " .header-wrapper .glyph-icon:first-child").toggleClass("icon-caret-right icon-caret-down");
$(assoc_submit).toggleClass('hidden');
$(this).parents(".content-box:first").find(".content-box-wrapper").slideToggle(100, function() {
admin_content.orderSelect($(list));
renderMultiselect(list, model, item, availables, associated);
modobox.resize();
});
}
});
$('form[name="'+assoc_form+'"]').off('submit').on('submit', function() {
var error = 0;
var datas = $(this).serializeJSON();
if (error == 0) {
datas["language"] = getLang();
$.ajax({
type: "POST",
dataType: "json",
url: laroute.route(route),
data: datas,
success: function(response) {
if (response.error == -1) {
header.logout();
} else if (response.error == -6) {
admin_content.alertNotFound();
} else {
admin_content.showSuccessMsg('.information_messages_manage', 'informations_has_been_saved');
if (response.nb > 0) {
$(toggle_button + " .bs-badge").removeClass("opacity-3");
} else {
$(toggle_button + " .bs-badge").addClass("opacity-3");
}
$(toggle_button + " .bs-badge").html(response.nb);
setTimeout(function(){
$(toggle_button).click();
}, 1000);
}
},
error: function() {
admin_content.showCustomErrorMsg('.information_messages_manage', translate.getText.an_error_occured);
}
});
} else {
admin_content.showCustomErrorMsg('.information_messages_manage', translate.getText.an_error_occured);
}
});
$(assoc_submit).off('click').on('click', function(event) {
event.preventDefault();
$('form[name="'+assoc_form+'"]').submit();
});
$(".ms-container").append('<i class="glyph-icon center-icon icon-exchange text-white"></i>');
}
function renderMultiselect(selector, model, item, availables, associated, parent)
{
console.log('renderMultiselect');
var assoc_submit = "#" + model + "_assoc_submit";
var assoc_form = model + "_assoc_form";
var assoc_toggle = "#toggle_button_" + model;
var assoc_list = "#" + model + "_list";
var assoc_selectable = '#' + model + '_search_selectable';
var assoc_selection = '#' + model + '_search_selection';
var assoc_selected = '#ms-' + model + '_list';
var select_all = 'select-all-' + item;
var deselect_all = 'deselect-all-' + item;
var selectableHeader = (typeof(availables) != 'undefined') ? "<div class='col-md-12 text-center'><label class='light'>"+availables+"</label></div>" : '';
var selectionHeader = (typeof(associated) != 'undefined') ? "<div class='col-md-12 text-center'><label class='green'>"+associated+"</label></div>" : '';
$(selector).multiSelect({
selectableHeader: selectableHeader + "<input type='text' id='"+assoc_selectable+"' class='mb-2 form-control quicksearch selectable-search styled' autocomplete='off' placeholder='"+translate.getText.search+"...'>",
selectionHeader: selectionHeader + "<input type='text' id='"+assoc_selection+"' class='mb-2 form-control quicksearch selectable-search styled' autocomplete='off' placeholder='"+translate.getText.search+"...'>",
selectableFooter: "<button id='"+select_all+"' class='btn btn-alt btn-success btn-block mt-2 noradius pr-3'><span>"+translate.getText.select_all+"</span><i class='glyph-icon icon-arrow-right pull-right'></i></button>",
selectionFooter: "<button id='"+deselect_all+"' class='btn btn-alt btn-danger btn-block mt-2 noradius pl-3'><i class='glyph-icon icon-arrow-left pull-left'></i><span>"+translate.getText.deselect_all+"</span></button>",
afterInit: function(ms) {
var that = this,
$selectableSearch = that.$selectableUl.prev(),
$selectionSearch = that.$selectionUl.prev(),
selectableSearchString = '#'+that.$container.attr('id')+' .ms-elem-selectable:not(.ms-selected)',
selectionSearchString = '#'+that.$container.attr('id')+' .ms-elem-selection.ms-selected';
that.qs1 = $selectableSearch.quicksearch(selectableSearchString).on('keydown', function(e){
if (e.which === 40) {
that.$selectableUl.focus();
return false;
}
});
that.qs2 = $selectionSearch.quicksearch(selectionSearchString).on('keydown', function(e){
if (e.which == 40) {
that.$selectionUl.focus();
return false;
}
});
$(select_all).off('click').on('click', function() {
console.log('select_all');
console.log('#ms-' + model + '_list');
if ($(assoc_selectable).val() == "") {
$(list).multiSelect('select_all');
} else {
$('#ms-' + model + '_list .ms-elem-selectable').each(function() {
if(!$(this).is(':hidden')) { $(this).click(); }
});
}
return false;
});
$(deselect_all).off('click').on('click', function() {
if ($(assoc_selection).val() == "") {
$(list).multiSelect('deselect_all');
} else {
$('#ms-' + model + '_list .ms-elem-selection').each(function() {
if(!$(this).is(':hidden')) { $(this).click(); }
});
}
return false;
});
},
afterSelect: function(){
this.qs1.cache();
this.qs2.cache();
},
afterDeselect: function(){
this.qs1.cache();
this.qs2.cache();
}
});
}

View File

@@ -0,0 +1,5 @@
function initRadio()
{
$('input[type="radio"].custom-radio').uniform();
$('.radio span').append('<i class="glyph-icon icon-circle"></i>');
}

View File

@@ -0,0 +1,24 @@
function initSelect2()
{
$(".select2").select2({
placeholder: "Select a value",
allowClear: true
});
}
function initChosen()
{
$(".chosen-select").chosen({ no_results_text: translate.getText.no_result });
$(".chosen-search").append('<i class="glyph-icon icon-search"></i>');
$(".chosen-single div").html('<i class="glyph-icon icon-caret-down"></i>');
$(".chosen-container-single").addClass('styled');
}
function resetChosen()
{
$('.chosen-select').each(function() {
$(this).val("").trigger("chosen:updated");
});
}

View File

@@ -0,0 +1,18 @@
function setOptions(selector,data,selected,all) {
// console.log(data);
var $el = $(selector);
$el.empty(); // remove old options
if (all) {
$el.append($("<option></option>").attr("value",'').text('Tous'));
}
$.each(data, function(key, name) {
console.log(name);
if (key != null) {
if (key == selected) {
$el.append($("<option selected='selected'></option>").attr("value", key).text(name));
} else {
$el.append($("<option></option>").attr("value", key).text(name));
}
}
});
}

View File

@@ -0,0 +1,21 @@
function initFileInputImage(images, uploadRoute)
{
$(".file").fileinput({
uploadUrl: "/file-upload-batch/2",
allowedFileExtensions: ['jpg', 'png', 'gif'],
overwriteInitial: true,
showRemove: true,
frameClass: '',
initialPreviewAsData: false,
maxFileSize: 10000,
removeFromPreviewOnError: true,
initialPreview: images,
layoutTemplates: {
footer: ''
},
previewTemplates: {
image: '<img src="{data}" class="kv-preview-data file-preview-image img-fluid" title="{caption}" alt="{caption}" {style}>\n',
}
});
}

View File

@@ -0,0 +1,74 @@
function initValidator() {
$( document ).ready(function() {
console.log('initValidator');
// $(window).on('load', function() {
// window.addEventListener('load', function() {
// console.log('initValidator load');
var forms = $('.needs-validation');
$(forms).each(function(i, form) {
form.addEventListener('submit', function(event) {
checkValidatorFields(form);
}, false);
});
// }, false);
});
}
function checkValidatorFields(form) {
console.log('checkValidatorFields');
if (form.checkValidity() === false) {
console.log('non validé');
event.preventDefault();
event.stopPropagation();
} else {
console.log("validé");
form.classList.add('valid');
}
form.classList.add('was-validated');
form.addEventListener('invalid', function(e) {
console.log(e);
}, true);
}
function initValidatorHtml() {
window.addEventListener('load', function() {
// Fetch all the forms we want to apply custom Bootstrap validation styles to
var forms = document.getElementsByClassName('needs-validation');
// Loop over them and prevent submission
var validation = Array.prototype.filter.call(forms, function(form) {
form.addEventListener('submit', function(event) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
}, false);
});
}, false);
}
function initValidator2() {
$('.needs-validation').bootstrapValidator().on('submit', function(e) {
if (e.isDefaultPrevented()) {
console.log('bad');
} else {
console.log('good');
}
e.preventDefault();
e.stopPropagation();
// Active the panel element containing the first invalid element
var $form = $(e.target),
validator = $form.data('bootstrapValidator'),
$invalidField = validator.getInvalidFields().eq(0),
$collapse = $invalidField.parents('.collapse');
$collapse.collapse('show');
});
}

View File

@@ -0,0 +1,27 @@
function initializeAutocomplete(id) {
var element = document.getElementById(id);
if (element) {
var autocomplete = new google.maps.places.Autocomplete(element, { types: ['geocode'] });
google.maps.event.addListener(autocomplete, 'place_changed', onPlaceChanged);
}
}
function onPlaceChanged() {
var place = this.getPlace();
// console.log(place); // Uncomment this line to view the full object returned by Google API.
for (var i in place.address_components) {
var component = place.address_components[i];
for (var j in component.types) { // Some types are ["country", "political"]
var type_element = document.getElementById(component.types[j]);
if (type_element) {
type_element.value = component.long_name;
}
}
}
}
google.maps.event.addDomListener(window, 'load', function() {
initializeAutocomplete('adresse');
});

View File

@@ -0,0 +1,67 @@
function renderContractDriveTPL(filename, data, selector) {
data.translate = translate;
var path = '/assets/apps/ContractDrive/templates/';
var content = getTemplate(path + filename, data);
if (typeof(selector) == 'undefined')
{
return content;
} else {
$(selector).html(content);
}
}
function getTemplate(file, data) {
var source = getSource(file);
var template = Handlebars.compile(source);
return template(data);
}
function getSource(file) {
var source = null;
$.ajax({
async: false,
dataType: 'html',
type: 'GET',
url: file + '?' + Date.now(),
success: function(data) {
source = data;
}
});
return source;
}
function view(template_id, data) {
// console.log(template_id);
// console.log(data);
var source = document.getElementById(template_id).innerHTML;
var template = Handlebars.compile(source);
return template(data);
}
function helperSelect(name, items, selected, options) {
// If the selected value is an array, then convert the
// select to a multiple select
if (selected instanceof Array) {
options.hash.multiple = 'multiple';
}
// Generate the list of options
var optionsHtml = '';
for (var i = 0, j = items.length; i < j; i++) {
// <option> attributes
var attr = {
value: items[i].value
};
// We can specify which options are selected by using either:
// * an array of selected values or
// * a single selected value
if ((selected instanceof Array && indexOf(selected, items[i].value) !== -1) || (selected === items[i].value)) {
attr.selected = 'selected';
}
optionsHtml += createElement('option', true, attr, items[i].text);
}
}

View File

@@ -0,0 +1,15 @@
function initAnimate()
{
/*
var wew = new Wew({
target: '.wow',
keyword: 'wow',
});
wew.init();
*/
wow = new WOW({animateClass: 'animated', live: true});
wow.init();
}

View File

@@ -0,0 +1,9 @@
function errorMessage(message)
{
var message = (typeof(message) != 'undefined') ? message : translate.getText.please_contact_the_administrator;
if ( typeof(screenErrors) != 'undefined' ) {
screenErrors.execute('error', translate.getText.an_error_occured+'.<br>'+message+'.');
}
}

View File

@@ -0,0 +1,37 @@
function openModal(title, route, params)
{
var params = (typeof(params) == 'undefined') ? [] : params;
var message = (typeof(params['preload']) == 'undefined') ? '<p><i class="fa fa-spin fa-spinner"></i> Loading...</p>' : params['preload'];
var callback_apply = (typeof(params['onApply']) == 'undefined') ? false : params['onApply'];
var callback_open = (typeof(params['onOpen']) == 'undefined') ? false : params['onOpen'];
var dialog = bootbox.dialog({
title: title,
message: message,
buttons: getModalButtons(callback_apply),
callback: function() {
if (callback_open) {
callback_open();
}
}
});
dialog.init(function(){
dialog.find('.bootbox-body').load(route);
});
}
function getModalButtons(callback) {
return {
ok: {
label: "Apply",
className: 'btn-info',
callback: function() {
if (typeof(callback) !== 'undefined') {
callback();
}
}
}
}
}

View File

@@ -0,0 +1,24 @@
function initScroll(selector)
{
if (typeof(selector) == 'undefined')
{
selector = ('.nicescrollable');
}
$(selector).niceScroll({
horizrailenabled: false,
cursorborder: "0",
cursorwidth: "8px",
cursorcolor: "#fff",
zindex: "5555",
autohidemode: true,
bouncescroll: true,
mousescrollstep: 40,
scrollspeed: 100,
background: "#cdcdcd",
cursoropacitymin: 0.3,
cursoropacitymax: 0.7,
cursorborderradius: 0,
railpadding: {top:0,right:1,left:0,bottom:0}
});
}

View File

@@ -0,0 +1,7 @@
function initTooltip()
{
$('[data-toggle="tooltip"]').tooltip({
trigger : 'hover',
delay: { "show": 500, "hide": 100 }
});
}

View File

@@ -0,0 +1,167 @@
var modal_confirm_delete_options = {
title: "Etes-vous sur ?",
text: "Cet enregistrement sera effacé.",
type: "warning",
showCancelButton: true,
confirmButtonClass: "btn-danger",
confirmButtonText: "Oui !",
cancelButtonText: "Annuler"
};
function modal_confirm_delete(id,module,route,callback) {
// console.log(id);
var $loader = $('#loader');
Swal.fire(modal_confirm_delete_options).then(function(result) {
if (result.value) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
// console.log('/' + route +'/'+ id);
$.ajax({
url : '/' + route +'/'+ id,
method : 'DELETE',
success : function(resp){
if (resp.success) {
Swal.fire("Supprimé !", "L'enregistrement a été supprimé.", "success");
$('#'+module+'-modal').modal('hide');
callback();
} else {
Swal.fire("Erreur!", "L'enregistrement n'a pu être supprimé pour les raisons suivantes : "+resp.message, "danger");
if(resp.code == 401){
location.reload();
}
}
$loader.hide();
}
});
} else if (result.dismiss === Swal.DismissReason.cancel) {
}
})
}
function modal_save(id,route,module,callback,$button) {
var $loader = $('#loader');
var $data = $('#'+module+'-form-data').serialize();
var $method = $button.attr('data-method');
var $url = ($method == 'POST') ? '/' + route : '/' + route +'/'+ id;
$button.prop('disabled', true);
$button.html('en cours...');
$loader.show();
$.ajax({
url: $url,
data: $data,
method : $method,
success: function(resp){
$button.prop('disabled', false);
$button.html('Enregistrer');
$loader.hide();
if (resp.success) {
$('#'+module+'-form-data').each(function(){
this.reset();
});
$('#btn-'+module+'-delete').hide();
$('#'+module+'-modal').modal('hide');
callback();
} else {
swal(resp.message);
if (resp.code == 401) {
location.reload();
}
}
}
});
}
function modal_add(module, callback) {
/*
$('#'+module+'-form-data').each(function(){
this.reset();
});
*/
$('#btn-'+module+'-save').attr('data-method', 'POST');
$('#btn-'+module+'-delete').hide();
$('#'+module+'-modal').modal('show');
callback();
}
function modal_edit(id,route,module,callback) {
var $loader = $('#loader');
$loader.show();
$('#btn-'+module+'-delete').show();
$.get('/'+route+'/'+id, function(resp){
if (resp.success) {
/*
$('#'+module+'-form-data').each(function(){
this.reset();
});
*/
callback(resp.data);
$('#btn-'+module+'-save').attr('data-method', 'PUT');
$('#btn-'+module+'-delete').show();
$('#'+module+'-modal').modal('show');
} else {
if (resp.code == 401) {
location.reload();
}
}
$loader.hide();
});
}
function initModalAdmin(route,module,callback,populate,Table) {
var selector = getDatatablesSelector(model);
/*
$( selector + ' tbody').on( 'click', 'tr', function (e) {
e.preventDefault();
// $(this).toggleClass('selected');
id = Table.row(this).id();
modal_edit(id,route,module,populate);
} );
*/
/*
$('#btn-'+module+'-add').click(function(e){
e.preventDefault();
modal_add(module, populate);
});
*/
/*
$('#'+module+'-table').on('click', '.btn-'+module+'-edit', function(e){
e.preventDefault();
var id = $(this).attr('data-id');
modal_edit(id,route,module,populate);
});
*/
/*
$('#'+module+'-table').on('click', '.btn-'+module+'-delete', function(e){
e.preventDefault();
var id = $(this).attr('data-id');
modal_confirm_delete(id,route,callback);
});
*/
$('#btn-'+module+'-delete').click(function(e){
e.preventDefault();
var id = $('#id').val();
modal_confirm_delete(id,module,route,callback);
});
/*
$('#btn-'+module+'-save').click(function(e){
e.preventDefault();
var id = $('#id').val();
modal_save(id,route,module,callback,$(this));
});
*/
}

View File

@@ -0,0 +1,41 @@
{
"sEmptyTable": "Keine Daten in der Tabelle vorhanden",
"sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen",
"sInfoEmpty": "Keine Daten vorhanden",
"sInfoFiltered": "(gefiltert von _MAX_ Einträgen)",
"sInfoPostFix": "",
"sInfoThousands": ".",
"sLengthMenu": "_MENU_ Einträge anzeigen",
"sLoadingRecords": "Wird geladen ..",
"sProcessing": "Bitte warten ..",
"sSearch": "Suchen",
"sZeroRecords": "Keine Einträge vorhanden",
"oPaginate": {
"sFirst": "Erste",
"sPrevious": "Zurück",
"sNext": "Nächste",
"sLast": "Letzte"
},
"oAria": {
"sSortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren",
"sSortDescending": ": aktivieren, um Spalte absteigend zu sortieren"
},
"select": {
"rows": {
"_": "%d Zeilen ausgewählt",
"0": "",
"1": "1 Zeile ausgewählt"
}
},
"buttons": {
"print": "Drucken",
"colvis": "Spalten",
"copy": "Kopieren",
"copyTitle": "In Zwischenablage kopieren",
"copyKeys": "Taste <i>ctrl</i> oder <i>\u2318</i> + <i>C</i> um Tabelle<br>in Zwischenspeicher zu kopieren.<br><br>Um abzubrechen die Nachricht anklicken oder Escape drücken.",
"copySuccess": {
"_": "%d Zeilen kopiert",
"1": "1 Zeile kopiert"
}
}
}

View File

@@ -0,0 +1,23 @@
{
"sEmptyTable": "No data available in table",
"sInfo": "Showing _START_ to _END_ of _TOTAL_ entries",
"sInfoEmpty": "Showing 0 to 0 of 0 entries",
"sInfoFiltered": "(filtered from _MAX_ total entries)",
"sInfoPostFix": "",
"sInfoThousands": ",",
"sLengthMenu": "Show _MENU_ entries",
"sLoadingRecords": "Loading...",
"sProcessing": "Processing...",
"sSearch": "Search:",
"sZeroRecords": "No matching records found",
"oPaginate": {
"sFirst": "First",
"sLast": "Last",
"sNext": "Next",
"sPrevious": "Previous"
},
"oAria": {
"sSortAscending": ": activate to sort column ascending",
"sSortDescending": ": activate to sort column descending"
}
}

View File

@@ -0,0 +1,29 @@
{
"sProcessing": "Traitement en cours...",
"sSearch": "Rechercher&nbsp;:",
"sLengthMenu": "Afficher _MENU_ &eacute;l&eacute;ments",
"sInfo": "Affichage de l'&eacute;l&eacute;ment _START_ &agrave; _END_ sur _TOTAL_ &eacute;l&eacute;ments",
"sInfoEmpty": "Affichage de l'&eacute;l&eacute;ment 0 &agrave; 0 sur 0 &eacute;l&eacute;ment",
"sInfoFiltered": "(filtr&eacute; de _MAX_ &eacute;l&eacute;ments au total)",
"sInfoPostFix": "",
"sLoadingRecords": "Chargement en cours...",
"sZeroRecords": "Aucun &eacute;l&eacute;ment &agrave; afficher",
"sEmptyTable": "Aucune donn&eacute;e disponible dans le tableau",
"oPaginate": {
"sFirst": "Premier",
"sPrevious": "Pr&eacute;c&eacute;dent",
"sNext": "Suivant",
"sLast": "Dernier"
},
"oAria": {
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
"sSortDescending": ": activer pour trier la colonne par ordre d&eacute;croissant"
},
"select": {
"rows": {
"_": "%d lignes s&eacute;lectionn&eacute;es",
"0": "Aucune ligne s&eacute;lectionn&eacute;e",
"1": "1 ligne s&eacute;lectionn&eacute;e"
}
}
}

View File

@@ -0,0 +1,23 @@
{
"sEmptyTable": "Nessun dato presente nella tabella",
"sInfo": "Vista da _START_ a _END_ di _TOTAL_ elementi",
"sInfoEmpty": "Vista da 0 a 0 di 0 elementi",
"sInfoFiltered": "(filtrati da _MAX_ elementi totali)",
"sInfoPostFix": "",
"sInfoThousands": ".",
"sLengthMenu": "Visualizza _MENU_ elementi",
"sLoadingRecords": "Caricamento...",
"sProcessing": "Elaborazione...",
"sSearch": "Cerca:",
"sZeroRecords": "La ricerca non ha portato alcun risultato.",
"oPaginate": {
"sFirst": "Inizio",
"sPrevious": "Precedente",
"sNext": "Successivo",
"sLast": "Fine"
},
"oAria": {
"sSortAscending": ": attiva per ordinare la colonna in ordine crescente",
"sSortDescending": ": attiva per ordinare la colonna in ordine decrescente"
}
}

View File

@@ -0,0 +1,23 @@
{
"sEmptyTable": "テーブルにデータがありません",
"sInfo": " _TOTAL_ 件中 _START_ から _END_ まで表示",
"sInfoEmpty": " 0 件中 0 から 0 まで表示",
"sInfoFiltered": "(全 _MAX_ 件より抽出)",
"sInfoPostFix": "",
"sInfoThousands": ",",
"sLengthMenu": "_MENU_ 件表示",
"sLoadingRecords": "読み込み中...",
"sProcessing": "処理中...",
"sSearch": "検索:",
"sZeroRecords": "一致するレコードがありません",
"oPaginate": {
"sFirst": "先頭",
"sLast": "最終",
"sNext": "次",
"sPrevious": "前"
},
"oAria": {
"sSortAscending": ": 列を昇順に並べ替えるにはアクティブにする",
"sSortDescending": ": 列を降順に並べ替えるにはアクティブにする"
}
}

View File

@@ -0,0 +1,28 @@
{
"sProcessing": "Procesando...",
"sLengthMenu": "Mostrar _MENU_ registros",
"sZeroRecords": "No se encontraron resultados",
"sEmptyTable": "Ningún dato disponible en esta tabla =(",
"sInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
"sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros",
"sInfoFiltered": "(filtrado de un total de _MAX_ registros)",
"sInfoPostFix": "",
"sSearch": "Buscar:",
"sUrl": "",
"sInfoThousands": ",",
"sLoadingRecords": "Cargando...",
"oPaginate": {
"sFirst": "Primero",
"sLast": "Último",
"sNext": "Siguiente",
"sPrevious": "Anterior"
},
"oAria": {
"sSortAscending": ": Activar para ordenar la columna de manera ascendente",
"sSortDescending": ": Activar para ordenar la columna de manera descendente"
},
"buttons": {
"copy": "Copiar",
"colvis": "Visibilidad"
}
}

View File

@@ -0,0 +1,37 @@
# Google Place Autocomplete
This sample code show you how to quickly use the Places Autocomplete javascript
API from Google.
[See demo right now](http://lewagon.github.io/google-place-autocomplete)
## Code
Look at the [index.html](index.html) file, you'll see a very standard form.
The input with id `user_input_autocomplete_address` is very important as it
is bound to an `autocomplete` object in the `autocomplete.js` code.
The code you see is not dependent on jQuery, also the `initializeAutocomplete`
method has to be called when `google` is ready, not just when the DOM is ready.
## API Key
In order to get a lot of requests for free to the API, you need to create a
new project under the [Google API Console](https://code.google.com/apis/console).
For this project, enable the Google Maps Javascript API v3:
![](readme-images/enable-api.png)
Then, for this project, create a new "Browser Key", the one you'll put in the
`index.html` file when calling the `https://maps.googleapis.com/maps/api/js` script.
![](readme-images/create-new-browser-key.png)
Make sure to specify referers so that **only you** can use this key! Remember,
you API calls are limited per day.
![](readme-images/key-referers.png)
## Documentation
[Full Reference](https://developers.google.com/maps/documentation/javascript/places-autocomplete)

View File

@@ -0,0 +1,27 @@
function initializeAutocomplete(id) {
var element = document.getElementById(id);
if (element) {
var autocomplete = new google.maps.places.Autocomplete(element, { types: ['geocode'] });
google.maps.event.addListener(autocomplete, 'place_changed', onPlaceChanged);
}
}
function onPlaceChanged() {
var place = this.getPlace();
// console.log(place); // Uncomment this line to view the full object returned by Google API.
for (var i in place.address_components) {
var component = place.address_components[i];
for (var j in component.types) { // Some types are ["country", "political"]
var type_element = document.getElementById(component.types[j]);
if (type_element) {
type_element.value = component.long_name;
}
}
}
}
google.maps.event.addDomListener(window, 'load', function() {
initializeAutocomplete('user_input_autocomplete_address');
});

View File

@@ -0,0 +1,83 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Google Place Autocomplete</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-sm-8 col-sm-offset-2">
<h1>Google Place Autocomplete exemple</h1>
<a href="https://github.com/lewagon/google-place-autocomplete">Source</a>
<hr>
<form role="form" class="form-horizontal">
<fieldset>
<div class="form-group">
<label class="col-sm-4 control-label">Address</label>
<div class="col-sm-8">
<input id="user_input_autocomplete_address" name="user_input_autocomplete_address"
class="form-control" placeholder="Start typing your address...">
</div>
</div>
</fieldset>
<fieldset class="disabled">
<div class="form-group">
<label class="col-sm-4 control-label"><code>street_number</code></label>
<div class="col-sm-8">
<input id="street_number" name="street_number" disabled="true" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label"><code>route</code></label>
<div class="col-sm-8">
<input id="route" name="route" disabled="true" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label"><code>locality</code></label>
<div class="col-sm-8">
<input id="locality" name="locality" disabled="true" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label"><code>administrative_area_level_1</code></label>
<div class="col-sm-8">
<input id="administrative_area_level_1" name="administrative_area_level_1" disabled="true" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label"><code>postal_code</code></label>
<div class="col-sm-8">
<input id="postal_code" name="postal_code" disabled="true" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label"><code>country</code></label>
<div class="col-sm-8">
<input id="country" name="country" disabled="true" class="form-control">
</div>
</div>
</fieldset>
</form>
</div>
</div>
</div>
<!-- Include Google Maps JS API -->
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?libraries=places&amp;key=AIzaSyDANjx3bosEtIyzJaoWs50Wnt6nt_1rmxU "></script>
<!-- Custom JS code to bind to Autocomplete API -->
<script type="text/javascript" src="autocomplete.js"></script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@@ -0,0 +1,241 @@
(function($){
var Captions = function(el, opts) {
var _this = this,
$this = $(el),
$el = $this.clone(),
href = $this.attr('href'),
$target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))), //strip for ie7
_overlay_css = {};
if ( ! $target.length )
{
$target = $this.next(opts.data_selector);
}
if ($target.length) {
this.set_from_attr(el, opts);
$wrap = $('<div class="drop-panel" />',{position: 'relative', 'z-index': 1, display: 'block', overflow: 'hidden'})
.append($el)
.append($target);
$this.replaceWith($wrap);
$target.hide();
$wrap.css({ 'position':'relative', 'overflow':'hidden', display: 'block', padding:'2px' });
if (opts.find_image && $this.not('img'))
{
var img = $wrap.find('img'),
w = img.width(),
h = img.height();
}
else {
var w = $wrap.outerWidth(),
h = $wrap.outerHeight();
}
var overlay_w = opts.width || w,
overlay_h = opts.height || h;
$target.css({ 'width':overlay_w, 'height':overlay_h, 'position':'absolute', 'z-index':33, overflow: 'hidden' });
var _overlay_css = {};
if (opts.overlay_bg) {
_overlay_css.background = opts.overlay_bg;
}
if (opts.overlay_opacity<1) {
_overlay_css.opacity = opts.overlay_opacity;
}
// CSS: Overlay X Position
_overlay_css.left = (opts.overlay_x == 'left')
? 0
: (opts.overlay_x == 'right')
? w-overlay_w
: (w - overlay_w) / 2 + 'px';
// CSS: Overlay Y Position
_overlay_css.top = (opts.overlay_y == 'top')
? 0
: (opts.overlay_y == 'bottom')
? h-overlay_h
: (h - overlay_h) / 2 + 'px';
// CSS: Apply rules
$target.css(_overlay_css);
// slide effect
if (opts.effect=='slide') {
var slide_css = {};
switch (opts.direction) {
case 'top':
slide_css.top = '-'+overlay_h+'px';
break;
case 'bottom':
slide_css.top = h+'px';
break;
case 'left':
slide_css.left = '-'+overlay_w+'px';
break;
case 'right':
default:
slide_css.left = w+'px';
break;
}
// Apply Slide rules
$target.css('z-index',opts.zindex+1).css(slide_css);
// Hover events
$wrap.hover(function(){
$target.show().stop(true, true).animate({ 'top': _overlay_css.top, 'left': _overlay_css.left }, +opts.speed, opts.onshow());
}, function(){
$target.show().stop(true, true).animate(slide_css, +opts.speed, opts.onhide());
});
// fade effect
} else if (opts.effect=='fade') {
$target.css('z-index',opts.zindex+1).hide();
$wrap.hover(function () {
$target.stop(true, true).fadeIn(+opts.speed, opts.onshow());
}, function () {
$target.stop(true, true).fadeOut(+opts.speed, opts.onhide());
});
// just show/hide
} else {
$target.css('z-index',opts.zindex+1).hide();
$wrap.hover(function () {
$target.show(0, opts.onshow());
}, function () {
$target.hide(0, opts.onhide());
});
}
}
};
Captions.prototype = {
constructor: Captions,
set_from_attr: function(el, opt){
var cfg={},
attrs=el.attributes,
l=attrs.length;
for (var i=0; i<l; i++)
{
attr = attrs.item(i);
if (/cap-/i.test(attr.nodeName))
{
opt[attr.nodeName.replace('cap-', '')] = attr.nodeValue;
}
}
}
};
$.fn.hcaptions = function (option) {
return this.each(function () {
var $this = $(this)
, data = $this.data('captions')
, options = $.extend({}, $.fn.hcaptions.defaults, $this.data(), typeof option == 'object' && option);
if (!data) $this.data('captions', (data = new Captions(this, options)));
if (typeof option == 'string') data[option]();
});
};
$.fn.hcaptions.defaults = {
/**
* Selector for caption content
* @type {String}
*/
data_selector: '.cap-overlay',
/**
* Overlay width
* @default full width
* @type {Number}
*/
width: 0,
/**
* Overlay height
* @type {Number}
*/
height: 0,
/**
* Horizontal position for the overlay
* @options [center, left, right]
* @type {String}
*/
overlay_x: 'center',
/**
* Vertical position for the overlay
* @options [center, top, bottom]
* @type {String}
*/
overlay_y: 'center',
/**
* Background css for overlay
* @type {String}
*/
overlay_bg: '',
/**
* Opacity of overlay
* @type {Number}
*/
overlay_opacity: 1,
/**
* Effect of overlay
* @options [fade, slide, show/hide]
* @type {String}
*/
effect: 'slide',
/**
* Animation speed in ms
* @type {Number}
*/
speed: 400,
/**
* Direction of overlay
* @options [top, bottom, right, left]
* @type {String}
*/
direction: 'top',
/**
* Z-Index Base
* @type {Number}
*/
zindex: 2,
find_image: false,
/**
* On show callback
* @return {[type]} [description]
*/
onshow: function(){},
/**
* On hide callback
* @return {[type]} [description]
*/
onhide: function(){}
};
})(jQuery);

View File

@@ -0,0 +1,487 @@
.tool-container, .tool-item, .btn-toolbar {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
.btn-toolbar {
background: #364347;
width: 20px;
height: 20px;
text-align: center;
padding: 10px;
border-radius: 6px;
display: block;
transition: none;
}
.btn-toolbar > i {
color: #02baf2;
font-size: 16px;
}
.btn-toolbar:hover {
background: #02baf2;
cursor: pointer;
}
.btn-toolbar:hover > i {
color: white;
}
.btn-toolbar-primary {
background-color: #009dcd;
}
.btn-toolbar-primary.pressed {
background-color: #02baf2;
}
.btn-toolbar-primary:hover {
background-color: #02baf2;
}
.btn-toolbar-primary > i {
color: white;
}
.btn-toolbar-danger {
background-color: #cc0000;
}
.btn-toolbar-danger.pressed {
background-color: #f84545;
}
.btn-toolbar-danger:hover {
background-color: #f84545;
}
.btn-toolbar-danger > i {
color: white;
}
.btn-toolbar-warning {
background-color: #f3bc65;
}
.btn-toolbar-warning.pressed {
background-color: #fad46b;
}
.btn-toolbar-warning:hover {
background-color: #fad46b;
}
.btn-toolbar-warning > i {
color: white;
}
.btn-toolbar-info {
background-color: #e96300;
}
.btn-toolbar-info.pressed {
background-color: #f58410;
}
.btn-toolbar-info:hover {
background-color: #f58410;
}
.btn-toolbar-info > i {
color: white;
}
.btn-toolbar-success {
background-color: #28948c;
}
.btn-toolbar-success.pressed {
background-color: #3eb5ac;
}
.btn-toolbar-success:hover {
background-color: #3eb5ac;
}
.btn-toolbar-success > i {
color: white;
}
.btn-toolbar-info-o {
background-color: #9175bd;
}
.btn-toolbar-info-o.pressed {
background-color: #a88cd5;
}
.btn-toolbar-info-o:hover {
background-color: #a88cd5;
}
.btn-toolbar-info-o > i {
color: white;
}
.btn-toolbar-light {
background-color: #b2c6cd;
}
.btn-toolbar-light.pressed {
background-color: #d6e1e5;
}
.btn-toolbar-light:hover {
background-color: #d6e1e5;
}
.btn-toolbar-light > i {
color: white;
}
.btn-toolbar-dark {
background-color: #364347;
}
.btn-toolbar-dark.pressed {
background-color: #5e696d;
}
.btn-toolbar-dark:hover {
background-color: #5e696d;
}
.btn-toolbar-dark > i {
color: white;
}
.tool-container {
background-color: #5e696d;
background-size: 100% 100%;
border-radius: 6px;
position: absolute;
}
.tool-container.tool-top,
.tool-container.tool-bottom {
height: 40px;
border-bottom: 0px solid #beb8b8;
}
.tool-container.tool-top .tool-item,
.tool-container.tool-bottom .tool-item {
float: left;
border-right: 0;
border-left: 0;
}
.tool-item {
height: 100%;
display: block;
width: 20px;
height: 20px;
text-align: center;
padding: 10px;
transition: none;
}
.tool-item > .fa {
color: #b2c6cd;
}
.tool-item.selected,
.tool-item:hover {
background: #02baf2;
}
.tool-item.selected > .fa,
.tool-item:hover > .fa {
color: white;
}
.tool-top .tool-item:first-child:hover,
.tool-bottom .tool-item:first-child:hover {
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
}
.tool-top .tool-item:last-child:hover,
.tool-bottom .tool-item:last-child:hover {
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
}
.tool-vertical-top .tool-item:first-child:hover,
.tool-vertical-bottom .tool-item:first-child:hover,
.tool-right .tool-item:first-child:hover,
.tool-left .tool-item:first-child:hover {
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
.tool-vertical-top .tool-item:last-child:hover,
.tool-vertical-bottom .tool-item:last-child:hover,
.tool-right .tool-item:last-child:hover,
.tool-left .tool-item:last-child:hover {
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
}
.tool-container .arrow {
width: 0;
height: 0;
position: absolute;
border-width: 7px;
border-style: solid;
}
.tool-container.tool-top .arrow {
border-color: #5e696d transparent transparent;
left: 50%;
bottom: -14px;
margin-left: -7px;
}
.tool-container.tool-bottom .arrow {
border-color: transparent transparent #5e696d;
left: 50%;
top: -14px;
margin-left: -7px;
}
.tool-container.tool-left .arrow {
border-color: transparent transparent transparent #5e696d;
top: 50%;
right: -14px;
margin-top: -7px;
}
.tool-container.tool-right .arrow {
border-color: transparent #5e696d transparent transparent;
top: 50%;
left: -14px;
margin-top: -7px;
}
.toolbar-primary {
background-color: #02baf2;
}
.toolbar-primary.tool-top .arrow {
border-color: #02baf2 transparent transparent;
}
.toolbar-primary.tool-bottom .arrow {
border-color: transparent transparent #02baf2;
}
.toolbar-primary.tool-left .arrow {
border-color: transparent transparent transparent #02baf2;
}
.toolbar-primary.tool-right .arrow {
border-color: transparent #02baf2 transparent transparent;
}
.toolbar-primary .tool-item > .fa {
color: white;
}
.toolbar-primary .tool-item.selected,
.toolbar-primary .tool-item:hover {
background: #009dcd;
color: white;
}
.toolbar-danger {
background-color: #f84545;
}
.toolbar-danger.tool-top .arrow {
border-color: #f84545 transparent transparent;
}
.toolbar-danger.tool-bottom .arrow {
border-color: transparent transparent #f84545;
}
.toolbar-danger.tool-left .arrow {
border-color: transparent transparent transparent #f84545;
}
.toolbar-danger.tool-right .arrow {
border-color: transparent #f84545 transparent transparent;
}
.toolbar-danger .tool-item > .fa {
color: white;
}
.toolbar-danger .tool-item.selected,
.toolbar-danger .tool-item:hover {
background: #cc0000;
color: white;
}
.toolbar-warning {
background-color: #f3bc65;
}
.toolbar-warning.tool-top .arrow {
border-color: #f3bc65 transparent transparent;
}
.toolbar-warning.tool-bottom .arrow {
border-color: transparent transparent #f3bc65;
}
.toolbar-warning.tool-left .arrow {
border-color: transparent transparent transparent #f3bc65;
}
.toolbar-warning.tool-right .arrow {
border-color: transparent #f3bc65 transparent transparent;
}
.toolbar-warning .tool-item > .fa {
color: white;
}
.toolbar-warning .tool-item.selected,
.toolbar-warning .tool-item:hover {
background: #fad46b;
color: white;
}
.toolbar-info {
background-color: #e96300;
}
.toolbar-info.tool-top .arrow {
border-color: #e96300 transparent transparent;
}
.toolbar-info.tool-bottom .arrow {
border-color: transparent transparent #e96300;
}
.toolbar-info.tool-left .arrow {
border-color: transparent transparent transparent #e96300;
}
.toolbar-info.tool-right .arrow {
border-color: transparent #e96300 transparent transparent;
}
.toolbar-info .tool-item > .fa {
color: white;
}
.toolbar-info .tool-item.selected,
.toolbar-info .tool-item:hover {
background: #f58410;
color: white;
}
.toolbar-success {
background-color: #28948c;
}
.toolbar-success.tool-top .arrow {
border-color: #28948c transparent transparent;
}
.toolbar-success.tool-bottom .arrow {
border-color: transparent transparent #28948c;
}
.toolbar-success.tool-left .arrow {
border-color: transparent transparent transparent #28948c;
}
.toolbar-success.tool-right .arrow {
border-color: transparent #28948c transparent transparent;
}
.toolbar-success .tool-item > .fa {
color: white;
}
.toolbar-success .tool-item.selected,
.toolbar-success .tool-item:hover {
background: #3eb5ac;
color: white;
}
.toolbar-info-o {
background-color: #9175bd;
}
.toolbar-info-o.tool-top .arrow {
border-color: #9175bd transparent transparent;
}
.toolbar-info-o.tool-bottom .arrow {
border-color: transparent transparent #9175bd;
}
.toolbar-info-o.tool-left .arrow {
border-color: transparent transparent transparent #9175bd;
}
.toolbar-info-o.tool-right .arrow {
border-color: transparent #9175bd transparent transparent;
}
.toolbar-info-o .tool-item > .fa {
color: white;
}
.toolbar-info-o .tool-item.selected,
.toolbar-info-o .tool-item:hover {
background: #a88cd5;
color: white;
}
.toolbar-light {
background-color: #b2c6cd;
}
.toolbar-light.tool-top .arrow {
border-color: #b2c6cd transparent transparent;
}
.toolbar-light.tool-bottom .arrow {
border-color: transparent transparent #b2c6cd;
}
.toolbar-light.tool-left .arrow {
border-color: transparent transparent transparent #b2c6cd;
}
.toolbar-light.tool-right .arrow {
border-color: transparent #b2c6cd transparent transparent;
}
.toolbar-light .tool-item > .fa {
color: white;
}
.toolbar-light .tool-item.selected,
.toolbar-light .tool-item:hover {
background: #d6e1e5;
color: white;
}
.toolbar-dark {
background-color: #364347;
}
.toolbar-dark.tool-top .arrow {
border-color: #364347 transparent transparent;
}
.toolbar-dark.tool-bottom .arrow {
border-color: transparent transparent #364347;
}
.toolbar-dark.tool-left .arrow {
border-color: transparent transparent transparent #364347;
}
.toolbar-dark.tool-right .arrow {
border-color: transparent #364347 transparent transparent;
}
.toolbar-dark .tool-item > .fa {
color: white;
}
.toolbar-dark .tool-item.selected,
.toolbar-dark .tool-item:hover {
background: #5e696d;
color: white;
}
.animate-standard {
-webkit-animation: standardAnimate 0.3s 1 ease;
}
.animate-flyin {
-webkit-animation: rotateAnimate 0.5s 1 ease;
}
.animate-grow {
-webkit-animation: growAnimate 0.4s 1 ease;
}
.animate-flip {
-webkit-animation: flipAnimate 0.4s 1 ease;
}
.animate-bounce {
-webkit-animation: bounceAnimate 0.4s 1 ease-out;
}
@-webkit-keyframes rotateAnimate {
from {
transform: rotate(180deg) translate(-120px);
opacity: 0;
}
to {
transform: rotate(0deg) translate(0px);
opacity: 1;
}
}
@-webkit-keyframes standardAnimate {
from {
transform: translateY(20px);
opacity: 0;
}
to {
transform: translateY(0px);
opacity: 1;
}
}
@-webkit-keyframes growAnimate {
0% {
transform: scale(0) translateY(40px);
opacity: 0;
}
70% {
transform: scale(1.5) translate(0px);
}
100% {
transform: scale(1) translate(0px);
opacity: 1;
}
}
@-webkit-keyframes rotate2Animate {
from {
transform: rotate(-90deg);
transform-origin: 0% 100%;
opacity: 0;
}
to {
transform: rotate(0deg);
opacity: 1;
}
}
@-webkit-keyframes flipAnimate {
from {
transform: rotate3d(2, 2, 2, 180deg);
opacity: 0;
}
to {
transform: rotate3d(0, 0, 0, 0deg);
opacity: 1;
}
}
@-webkit-keyframes bounceAnimate {
0% {
transform: translateY(40px);
opacity: 0;
}
30% {
transform: translateY(-40px);
}
70% {
transform: translateY(20px);
}
100% {
transform: translateY(0px);
opacity: 1;
}
}
.hidden {
display: none;
}

View File

@@ -0,0 +1,307 @@
/**
* Toolbar.js
*
* @fileoverview jQuery plugin that creates tooltip style toolbars.
* @link http://paulkinzett.github.com/toolbar/
* @author Paul Kinzett (http://kinzett.co.nz/)
* @version 1.1.0
* @requires jQuery 1.7+
*
* @license jQuery Toolbar Plugin v1.1.0
* http://paulkinzett.github.com/toolbar/
* Copyright 2013 - 2015 Paul Kinzett (http://kinzett.co.nz/)
* Released under the MIT license.
* <https://raw.github.com/paulkinzett/toolbar/master/LICENSE.txt>
*/
if ( typeof Object.create !== 'function' ) {
Object.create = function( obj ) {
function F() {}
F.prototype = obj;
return new F();
};
}
(function( $, window, document, undefined ) {
var ToolBar = {
init: function( options, elem ) {
var self = this;
self.elem = elem;
self.$elem = $( elem );
self.options = $.extend( {}, $.fn.toolbar.options, options );
self.metadata = self.$elem.data();
self.overrideOptions();
self.toolbar = $('<div class="tool-container" />')
.addClass('tool-'+self.options.position)
.addClass('toolbar-'+self.options.style)
.append('<div class="tool-items" />')
.append('<div class="arrow" />')
.appendTo('body')
.css('opacity', 0)
.hide();
self.toolbar_arrow = self.toolbar.find('.arrow');
self.initializeToolbar();
},
overrideOptions: function() {
var self = this;
$.each( self.options, function( $option ) {
if (typeof(self.$elem.data('toolbar-'+$option)) != "undefined") {
self.options[$option] = self.$elem.data('toolbar-'+$option);
}
});
},
initializeToolbar: function() {
var self = this;
self.populateContent();
self.setTrigger();
self.toolbarWidth = self.toolbar.width();
},
setTrigger: function() {
var self = this;
if (self.options.event != 'click') {
var moveTime;
function decideTimeout () {
if (self.$elem.hasClass('pressed')) {
moveTime = setTimeout(function() {
self.hide();
}, 150);
} else {
clearTimeout(moveTime);
};
};
self.$elem.on({
mouseenter: function(event) {
if (self.$elem.hasClass('pressed')) {
clearTimeout(moveTime);
} else {
self.show();
}
}
});
self.$elem.parent().on({
mouseleave: function(event){ decideTimeout(); }
});
$('.tool-container').on({
mouseenter: function(event){ clearTimeout(moveTime); },
mouseleave: function(event){ decideTimeout(); }
});
}
if (self.options.event == 'click') {
self.$elem.on('click', function(event) {
event.preventDefault();
if(self.$elem.hasClass('pressed')) {
self.hide();
} else {
self.show();
}
});
if (self.options.hideOnClick) {
$('html').on("click.toolbar", function ( event ) {
if (event.target != self.elem &&
self.$elem.has(event.target).length === 0 &&
self.toolbar.has(event.target).length === 0 &&
self.toolbar.is(":visible")) {
self.hide();
}
});
}
}
if (self.options.hover) {
var moveTime;
function decideTimeout () {
if (self.$elem.hasClass('pressed')) {
moveTime = setTimeout(function() {
self.hide();
}, 150);
} else {
clearTimeout(moveTime);
};
};
self.$elem.on({
mouseenter: function(event) {
if (self.$elem.hasClass('pressed')) {
clearTimeout(moveTime);
} else {
self.show();
}
}
});
self.$elem.parent().on({
mouseleave: function(event){ decideTimeout(); }
});
$('.tool-container').on({
mouseenter: function(event){ clearTimeout(moveTime); },
mouseleave: function(event){ decideTimeout(); }
});
}
$(window).resize(function( event ) {
event.stopPropagation();
if ( self.toolbar.is(":visible") ) {
self.toolbarCss = self.getCoordinates(self.options.position, 20);
self.collisionDetection();
self.toolbar.css( self.toolbarCss );
self.toolbar_arrow.css( self.arrowCss );
}
});
},
populateContent: function() {
var self = this;
var location = self.toolbar.find('.tool-items');
var content = $(self.options.content).clone( true ).find('a').addClass('tool-item');
location.html(content);
location.find('.tool-item').on('click', function(event) {
event.preventDefault();
self.$elem.trigger('toolbarItemClick', this);
});
},
calculatePosition: function() {
var self = this;
self.arrowCss = {};
self.toolbarCss = self.getCoordinates(self.options.position, self.options.adjustment);
self.toolbarCss.position = 'absolute';
self.toolbarCss.zIndex = self.options.zIndex;
self.collisionDetection();
self.toolbar.css(self.toolbarCss);
self.toolbar_arrow.css(self.arrowCss);
},
getCoordinates: function( position, adjustment ) {
var self = this;
self.coordinates = self.$elem.offset();
if (self.options.adjustment && self.options.adjustment[self.options.position]) {
adjustment = self.options.adjustment[self.options.position] + adjustment;
}
switch(self.options.position) {
case 'top':
return {
left: self.coordinates.left-(self.toolbar.width()/2)+(self.$elem.outerWidth()/2),
top: self.coordinates.top-self.$elem.outerHeight()-adjustment,
right: 'auto'
};
case 'left':
return {
left: self.coordinates.left-(self.toolbar.width()/2)-(self.$elem.outerWidth()/2)-adjustment,
top: self.coordinates.top-(self.toolbar.height()/2)+(self.$elem.outerHeight()/2),
right: 'auto'
};
case 'right':
return {
left: self.coordinates.left+(self.toolbar.width()/2)+(self.$elem.outerWidth()/2)+adjustment,
top: self.coordinates.top-(self.toolbar.height()/2)+(self.$elem.outerHeight()/2),
right: 'auto'
};
case 'bottom':
return {
left: self.coordinates.left-(self.toolbar.width()/2)+(self.$elem.outerWidth()/2),
top: self.coordinates.top+self.$elem.outerHeight()+adjustment,
right: 'auto'
};
}
},
collisionDetection: function() {
var self = this;
var edgeOffset = 20;
if(self.options.position == 'top' || self.options.position == 'bottom') {
self.arrowCss = {left: '50%', right: '50%'};
if( self.toolbarCss.left < edgeOffset ) {
self.toolbarCss.left = edgeOffset;
self.arrowCss.left = self.$elem.offset().left + self.$elem.width()/2-(edgeOffset);
}
else if(($(window).width() - (self.toolbarCss.left + self.toolbarWidth)) < edgeOffset) {
self.toolbarCss.right = edgeOffset;
self.toolbarCss.left = 'auto';
self.arrowCss.left = 'auto';
self.arrowCss.right = ($(window).width()-self.$elem.offset().left)-(self.$elem.width()/2)-(edgeOffset)-5;
}
}
},
show: function() {
var self = this;
self.$elem.addClass('pressed');
self.calculatePosition();
self.toolbar.show().css({'opacity': 1}).addClass('animate-'+self.options.animation);
self.$elem.trigger('toolbarShown');
},
hide: function() {
var self = this;
var animation = {'opacity': 0};
self.$elem.removeClass('pressed');
switch(self.options.position) {
case 'top':
animation.top = '+=20';
break;
case 'left':
animation.left = '+=20';
break;
case 'right':
animation.left = '-=20';
break;
case 'bottom':
animation.top = '-=20';
break;
}
self.toolbar.animate(animation, 200, function() {
self.toolbar.hide();
});
self.$elem.trigger('toolbarHidden');
},
getToolbarElement: function () {
return this.toolbar.find('.tool-items');
}
};
$.fn.toolbar = function( options ) {
if ($.isPlainObject( options )) {
return this.each(function() {
var toolbarObj = Object.create( ToolBar );
toolbarObj.init( options, this );
$(this).data('toolbarObj', toolbarObj);
});
} else if ( typeof options === 'string' && options.indexOf('_') !== 0 ) {
var toolbarObj = $(this).data('toolbarObj');
var method = toolbarObj[options];
return method.apply(toolbarObj, $.makeArray(arguments).slice(1));
}
};
$.fn.toolbar.options = {
content: '#myContent',
position: 'top',
hideOnClick: false,
zIndex: 120,
hover: false,
style: 'default',
animation: 'standard',
adjustment: 10
};
}) ( jQuery, window, document );

View File

@@ -0,0 +1,109 @@
function renderUploaderFiler(index, the_file, selector, uploadRoute, extensions, chooseText, that) {
$(selector + ' input[name="files[]"]').filer({
showThumbs: true,
addMore: true,
allowDuplicates: false,
limit: 1,
maxSize: null,
changeInput: '<div class="jFiler-input-dragDrop nomargin-bottom contract-file-upload required pointer p-2 w-100">\
<div class="jFiler-input-inner">\
<div class="jFiler-input-icon">\
<i class="icon-jfi-folder"></i>\
</div>\
<div class="jFiler-input-text">\
<h3>'+chooseText+'</h3>\
</div>\
</div>\
</div>',
extensions: extensions,
uploadFile: {
url: laroute.route(uploadRoute),
data: {
action: 'upload',
extensions: extensions,
sub_folder: that.subFolder
},
type: 'POST',
enctype: 'multipart/form-data',
synchron: true,
beforeSend: function() {
that.activeJConfirmButtons(false);
$(selector + ' .contract-file-upload').hide();
},
success: function(data, itemEl, listEl, boxEl, newInputEl, inputEl, id) {
// console.log('upload');
// console.log(data);
// console.log(id);
// var index = getIndexOf(that.currentSelected, the_file.id);
// var parent = itemEl.find(".jFiler-jProgressBar").parent();
var new_file_name = JSON.parse(data);
var filerKit = inputEl.prop("jFiler");
filerKit.files_list[id].name = new_file_name;
itemEl.find(".jFiler-jProgressBar").fadeOut("slow");
that.createFile(itemEl, index, new_file_name);
},
error: function(el) {
el.find(".jFiler-jProgressBar").fadeOut("slow");
el.find('.jFiler-item-others').html('\
<span><i class="glyph-icon icon-file"></i> <b>'+translate.getText.type+':</b> '+strtoupper(new_file_name.extension)+'</span>\
<div class="current-status text-error"><i class="icon-jfi-minus-circle"></i></div>\
');
},
statusCode: null,
onProgress: null,
onComplete: function() {
that.activeJConfirmButtons(true);
}
},
files: null,
clipBoardPaste: true,
excludeName: null,
beforeRender: null,
afterRender: null,
beforeShow: null,
beforeSelect: null,
onSelect: null,
afterShow: null,
onRemove: function(itemEl, file, id, listEl, boxEl, newInputEl, inputEl) {
var index = getIndexOf(that.currentSelected, the_file.id);
that.currentSelected[index].pdfFile = {};
$(selector + ' .contract-file-upload').show();
},
onEmpty: null,
options: null,
dialogs: {
alert: function(text) {
$.dialog({ title: translate.getText.warning, content: text });
},
confirm: function (text, callback) {
$.confirm({
title: translate.getText.warning,
content: text,
buttons: {
confirm: {
text: translate.getText.confirm,
btnClass: 'btn-danger',
action: function() {
callback()
}
},
cancel: {
text: translate.getText.cancel
}
}
});
}
},
captions: {
button: translate.getText.choose_files,
feedback: "",
feedback2: translate.getText.selected_files,
removeConfirmation: translate.getText.are_you_sure_you_want_to_remove_this_file,
errors: {
filesLimit: translate.getText.file_number_authorized+": <b>{{fi-limit}}</b>",
filesType: translate.getText.file_extension_authorized+": <b>.{{fi-extensions}}</b>",
filesSize: translate.getText.file_max_size_authorized+": <b>{{fi-maxSize}} MB.</b>"
}
}
});
}

View File

@@ -0,0 +1,11 @@
// Javascript to enable link to tab
var url = document.location.toString();
if (url.match('#')) {
$('.nav-tabs a[href="#' + url.split('#')[1] + '"]').tab('show');
}
// Change hash for page-reload
$('.nav-tabs a').on('shown.bs.tab', function (e) {
window.location.hash = e.target.hash;
$(window).scrollTop(0);
})

View File

@@ -0,0 +1,45 @@
/* require moment.js */
var dateRangePickerLanguage = {
format: "DD/MM/YYYY",
separator: " au ",
locale: {
applyLabel: "Valider",
cancelLabel: "Retour",
fromLabel: "Du",
toLabel: "Au",
customRangeLabel: "Personnalisé",
weekLabel: "S",
daysOfWeek: [
"Dim",
"Lun",
"Mar",
"Mer",
"Jeu",
"Ven",
"Sam"
],
monthNames: [
"Jan",
"Fev",
"Mar",
"Avr",
"Mai",
"Juin",
"Juil",
"Aou",
"Sep",
"Oct",
"Nov",
"Déc"
],
firstDay: 1
},
ranges: {
'Aujourd\'hui': [moment(), moment()],
'Hier': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'La semaine dernière': [moment().subtract(6, 'days'), moment()],
'30 derniers jours': [moment().subtract(29, 'days'), moment()],
'Ce mois-ci': [moment().startOf('month'), moment().endOf('month')],
'Le mois dernier': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
}
};

View File

@@ -0,0 +1,184 @@
/* Needed for the lightbox */
html, body {
height: 100%;
width: 100%;
}
/* CSS for the loading div */
.sp-loading {
text-align: center;
max-width: 270px;
padding: 15px;
border: 5px solid #eee;
border-radius: 3px;
font-size: 12px;
color: #888;
}
/* Element wrapper */
.sp-wrap {
display: none;
line-height: 0;
font-size: 0;
background: #eee;
border: 5px solid #eee;
border-radius: 3px;
position: relative;
margin: 0 25px 15px 0;
float: left;
/**************
Set max-width to your thumbnail width
***************/
max-width: 480px;
}
/* Thumbnails */
.sp-thumbs {
text-align: left;
display: inline-block;
}
.sp-thumbs img {
min-height: 50px;
min-width: 50px;
max-width: 50px;
}
.sp-thumbs a:link, .sp-thumbs a:visited {
width: 50px;
height: 50px;
overflow: hidden;
opacity: .3;
display: inline-block;
background-size: cover;
background-position: center;
-webkit-transition: all .2s ease-out;
-moz-transition: all .2s ease-out;
-ms-transition: all .2s ease-out;
-o-transition: all .2s ease-out;
transition: all .2s ease-out;
}
.sp-thumbs a:hover {
opacity: 1;
}
/* Styles for the currently selected thumbnail */
.sp-thumbs a:active, .sp-current {
opacity: 1!important;
position: relative;
}
/* Image currently being viewed */
.sp-large {
position: relative;
overflow: hidden;
top: 0;
left: 0;
}
.sp-large a img {
max-width: 100%;
height: auto;
}
.sp-large a {
display: block;
}
/* Panning Zoomed Image */
.sp-zoom {
position: absolute;
left: -50%;
top: -50%;
cursor: -webkit-zoom-in;
cursor: -moz-zoom-in;
cursor: zoom-in;
display: none;
}
/* Lightbox */
.sp-lightbox {
position: fixed;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: rgb(0, 0, 0);
background: rgba(0, 0, 0, .9);
z-index: 500;
display: none;
cursor: pointer;
}
.sp-lightbox img {
position: absolute;
margin: auto;
top: 0;
bottom: 0;
left: 0;
right: 0;
max-width: 90%;
max-height: 90%;
border: 2px solid #fff;
}
#sp-prev, #sp-next {
position: absolute;
top: 50%;
margin-top: -25px;
z-index: 501;
color: #fff;
padding: 14px;
text-decoration: none;
background: #000;
border-radius: 25px;
border: 2px solid #fff;
width: 50px;
height: 50px;
box-sizing: border-box;
transition: .2s;
-webkit-transition: .2s;
-moz-transition: .2s;
-ms-transition: .2s;
-o-transition: .2s;
}
#sp-prev {
left: 10px;
}
#sp-prev:before {
content: '';
border: 7px solid transparent;
border-right: 15px solid #fff;
position: absolute;
top: 16px;
left: 7px;
}
#sp-next {
right: 10px;
}
#sp-next:before {
content: '';
border: 7px solid transparent;
border-left: 15px solid white;
position: absolute;
top: 16px;
left: 18px;
}
#sp-prev:hover, #sp-next:hover {
background: #444;
}
/* Tweak styles for small viewports */
@media screen and (max-width: 400px) {
.sp-wrap {
margin: 0 0 15px 0;
}
#sp-prev, #sp-next {
top: auto;
margin-top: 0;
bottom: 25px;
}
}

View File

@@ -0,0 +1,274 @@
/*
* Smoothproducts version 2.0.2
* http://kthornbloom.com/smoothproducts.php
*
* Copyright 2013, Kevin Thornbloom
* Free to use and abuse under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
*/
(function($) {
$.fn.extend({
deleteSmoothProducts: function () {
$(document.body).off('click', '.sp-lightbox');
$(document.body).off('click', '#sp-prev');
$(document.body).off('click', '#sp-next');
$(document.body).off('click', '.sp-large a');
$(document.body).off('click', '.sp-noff-touch .sp-zoom');
$(document.body).off('click', '.sp-tb-active a');
$(document.body).off('click', '.sp-thumbs');
},
smoothproducts: function() {
// Add some markup & set some CSS
$('.sp-loading').hide();
$('.sp-wrap').each(function() {
$(this).addClass('sp-touch');
var thumbQty = $('a', this).length;
// If more than one image
if (thumbQty > 1) {
var firstLarge,firstThumb,
defaultImage = $('a.sp-default', this)[0]?true:false;
$(this).append('<div class="sp-large"></div><div class="sp-thumbs sp-tb-active"></div>');
$('a', this).each(function(index) {
var thumb = $('img', this).attr('src'),
large = $(this).attr('href'),
classes = '';
//set default image
if((index === 0 && !defaultImage) || $(this).hasClass('sp-default')){
classes = ' class="sp-current"';
firstLarge = large;
firstThumb = $('img', this)[0].src;
}
$(this).parents('.sp-wrap').find('.sp-thumbs').append('<a href="' + large + '" style="background-image:url(' + thumb + ')"'+classes+'></a>');
$(this).remove();
});
$('.sp-large', this).append('<a href="' + firstLarge + '" class="sp-current-big"><img src="' + firstThumb + '" alt="" /></a>');
$('.sp-wrap').css('display', 'inline-block');
// If only one image
} else {
$(this).append('<div class="sp-large"></div>');
$('a', this).appendTo($('.sp-large', this)).addClass('.sp-current-big');
$('.sp-wrap').css('display', 'inline-block');
}
});
// Prevent clicking while things are happening
$(document.body).on('click', '.sp-thumbs', function(event) {
event.preventDefault();
});
// Is this a touch screen or not?
$(document.body).on('mouseover', function(event) {
$('.sp-wrap').removeClass('sp-touch').addClass('sp-non-touch');
event.preventDefault();
});
$(document.body).on('touchstart', function() {
$('.sp-wrap').removeClass('sp-non-touch').addClass('sp-touch');
});
// Clicking a thumbnail
$(document.body).on('click', '.sp-tb-active a', function(event) {
event.preventDefault();
$(this).parent().find('.sp-current').removeClass();
$(this).addClass('sp-current');
$(this).parents('.sp-wrap').find('.sp-thumbs').removeClass('sp-tb-active');
$(this).parents('.sp-wrap').find('.sp-zoom').remove();
var currentHeight = $(this).parents('.sp-wrap').find('.sp-large').height(),
currentWidth = $(this).parents('.sp-wrap').find('.sp-large').width();
$(this).parents('.sp-wrap').find('.sp-large').css({
overflow: 'hidden',
height: currentHeight + 'px',
width: currentWidth + 'px'
});
$(this).addClass('sp-current').parents('.sp-wrap').find('.sp-large a').remove();
var nextLarge = $(this).parent().find('.sp-current').attr('href'),
nextThumb = get_url_from_background($(this).parent().find('.sp-current').css('backgroundImage'));
$(this).parents('.sp-wrap').find('.sp-large').html('<a href="' + nextLarge + '" class="sp-current-big"><img src="' + nextThumb + '"/></a>');
$(this).parents('.sp-wrap').find('.sp-large').hide().fadeIn(250, function() {
var autoHeight = $(this).parents('.sp-wrap').find('.sp-large img').height();
$(this).parents('.sp-wrap').find('.sp-large').animate({
height: autoHeight
}, 'fast', function() {
$('.sp-large').css({
height: 'auto',
width: 'auto'
});
});
$(this).parents('.sp-wrap').find('.sp-thumbs').addClass('sp-tb-active');
});
});
// Zoom In non-touch
$(document.body).on('mouseenter', '.sp-non-touch .sp-large', function(event) {
var largeUrl = $('a', this).attr('href');
$(this).append('<div class="sp-zoom"><img src="' + largeUrl + '"/></div>');
$(this).find('.sp-zoom').fadeIn(250);
event.preventDefault();
});
// Zoom Out non-touch
$(document.body).on('mouseleave', '.sp-non-touch .sp-large', function(event) {
$(this).find('.sp-zoom').fadeOut(250, function() {
$(this).remove();
});
event.preventDefault();
});
// Open in Lightbox non-touch
$(document.body).on('click', '.sp-non-touch .sp-zoom', function(event) {
var currentImg = $(this).html(),
thumbAmt = $(this).parents('.sp-wrap').find('.sp-thumbs a').length,
currentThumb = ($(this).parents('.sp-wrap').find('.sp-thumbs .sp-current').index())+1;
$(this).parents('.sp-wrap').addClass('sp-selected');
$('body').append("<div class='sp-lightbox' data-currenteq='"+currentThumb+"'>" + currentImg + "</div>");
if(thumbAmt > 1){
$('.sp-lightbox').append("<a href='#' id='sp-prev'></a><a href='#' id='sp-next'></a>");
if(currentThumb == 1) {
$('#sp-prev').css('opacity','.1');
} else if (currentThumb == thumbAmt){
$('#sp-next').css('opacity','.1');
}
}
$('.sp-lightbox').fadeIn();
event.preventDefault();
});
// Open in Lightbox touch
$(document.body).on('click', '.sp-large a', function(event) {
var currentImg = $(this).attr('href'),
thumbAmt = $(this).parents('.sp-wrap').find('.sp-thumbs a').length,
currentThumb = ($(this).parents('.sp-wrap').find('.sp-thumbs .sp-current').index())+1;
$(this).parents('.sp-wrap').addClass('sp-selected');
$('body').append('<div class="sp-lightbox" data-currenteq="'+currentThumb+'"><img src="' + currentImg + '"/></div>');
if(thumbAmt > 1){
$('.sp-lightbox').append("<a href='#' id='sp-prev'></a><a href='#' id='sp-next'></a>");
if(currentThumb == 1) {
$('#sp-prev').css('opacity','.1');
} else if (currentThumb == thumbAmt){
$('#sp-next').css('opacity','.1');
}
}
$('.sp-lightbox').fadeIn();
event.preventDefault();
});
// Pagination Forward
$(document.body).on('click', '#sp-next', function(event) {
event.stopPropagation();
var currentEq = $('.sp-lightbox').data('currenteq'),
totalItems = $('.sp-selected .sp-thumbs a').length;
if(currentEq >= totalItems) {
} else {
var nextEq = currentEq + 1,
newImg = $('.sp-selected .sp-thumbs').find('a:eq('+currentEq+')').attr('href'),
newThumb = get_url_from_background($('.sp-selected .sp-thumbs').find('a:eq('+currentEq+')').css('backgroundImage'));
if (currentEq == (totalItems - 1)) {
$('#sp-next').css('opacity','.1');
}
$('#sp-prev').css('opacity','1');
$('.sp-selected .sp-current').removeClass();
$('.sp-selected .sp-thumbs a:eq('+currentEq+')').addClass('sp-current');
$('.sp-selected .sp-large').empty().append('<a href='+newImg+'><img src="'+newThumb+'"/></a>');
$('.sp-lightbox img').fadeOut(250, function() {
$(this).remove();
$('.sp-lightbox').data('currenteq',nextEq).append('<img src="'+newImg+'"/>');
$('.sp-lightbox img').hide().fadeIn(250);
});
}
event.preventDefault();
});
// Pagination Backward
$(document.body).on('click', '#sp-prev', function(event) {
event.stopPropagation();
var currentEq = $('.sp-lightbox').data('currenteq'),
currentEq = currentEq - 1;
if(currentEq <= 0) {
} else {
if (currentEq == 1) {
$('#sp-prev').css('opacity','.1');
}
var nextEq = currentEq - 1,
newImg = $('.sp-selected .sp-thumbs').find('a:eq('+nextEq+')').attr('href'),
newThumb = get_url_from_background($('.sp-selected .sp-thumbs').find('a:eq('+nextEq+')').css('backgroundImage'));
$('#sp-next').css('opacity','1');
$('.sp-selected .sp-current').removeClass();
$('.sp-selected .sp-thumbs a:eq('+nextEq+')').addClass('sp-current');
$('.sp-selected .sp-large').empty().append('<a href='+newImg+'><img src="'+newThumb+'"/></a>');
$('.sp-lightbox img').fadeOut(250, function() {
$(this).remove();
$('.sp-lightbox').data('currenteq',currentEq).append('<img src="'+newImg+'"/>');
$('.sp-lightbox img').hide().fadeIn(250);
});
}
event.preventDefault();
});
// Close Lightbox
$(document.body).on('click', '.sp-lightbox', function() {
closeModal();
});
// Close on Esc
$(document).keydown(function(e) {
if (e.keyCode == 27) {
closeModal();
return false;
}
});
function closeModal (){
$('.sp-selected').removeClass('sp-selected');
$('.sp-lightbox').fadeOut(function() {
$(this).remove();
});
}
// Panning zoomed image (non-touch)
$('.sp-large').mousemove(function(e) {
var viewWidth = $(this).width(),
viewHeight = $(this).height(),
viewOffset = $(this).offset(),
largeWidth = $(this).find('.sp-zoom').width(),
largeHeight = $(this).find('.sp-zoom').height(),
relativeXPosition = (e.pageX - viewOffset.left),
relativeYPosition = (e.pageY - viewOffset.top),
moveX = Math.floor((relativeXPosition * (viewWidth - largeWidth) / viewWidth)),
moveY = Math.floor((relativeYPosition * (viewHeight - largeHeight) / viewHeight));
$(this).find('.sp-zoom').css({
left: moveX,
top: moveY
});
});
function get_url_from_background(bg){
return bg.match(/url\([\"\']{0,1}(.+)[\"\']{0,1}\)+/i)[1];
}
}
});
})(jQuery);

File diff suppressed because one or more lines are too long

17
resources/shop/js/site.js Normal file
View File

@@ -0,0 +1,17 @@
// Prevent closing from click inside dropdown
$(document).on('click', '.dropdown-menu', function (e) {
e.stopPropagation();
});
// make it as accordion for smaller screens
if ($(window).width() < 992) {
$('.dropdown-menu a').click(function(e) {
e.preventDefault();
if ($(this).next('.submenu').length) {
$(this).next('.submenu').toggle();
}
$('.dropdown').on('hide.bs.dropdown', function () {
$(this).find('.submenu').hide();
});
});
}

View File

@@ -0,0 +1,520 @@
/*!
* Fancytree Taxonomy Browser
*
* Copyright (c) 2015, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version @VERSION
* @date @DATE
*/
/* global Handlebars */
/* eslint-disable no-console */
(function($, window, document) {
"use strict";
/*******************************************************************************
* Private functions and variables
*/
var taxonTree,
searchResultTree,
tmplDetails,
tmplInfoPane,
tmplMedia,
timerMap = {},
USER_AGENT = "Fancytree Taxonomy Browser/1.0",
GBIF_URL = "//api.gbif.org/v1/",
TAXONOMY_KEY = "d7dddbf4-2cf0-4f39-9b2a-bb099caae36c", // GBIF backbone taxonomy
SEARCH_PAGE_SIZE = 5,
CHILD_NODE_PAGE_SIZE = 200,
glyphOpts = {
preset: "bootstrap3",
map: {
expanderClosed: "glyphicon glyphicon-menu-right", // glyphicon-plus-sign
expanderLazy: "glyphicon glyphicon-menu-right", // glyphicon-plus-sign
expanderOpen: "glyphicon glyphicon-menu-down", // glyphicon-collapse-down
},
};
// Load and compile handlebar templates
$.get("details.tmpl.html", function(data) {
tmplDetails = Handlebars.compile(data);
Handlebars.registerPartial("tmplDetails", tmplDetails);
});
$.get("media.tmpl.html", function(data) {
tmplMedia = Handlebars.compile(data);
Handlebars.registerPartial("tmplMedia", tmplMedia);
});
$.get("info-pane.tmpl.html", function(data) {
tmplInfoPane = Handlebars.compile(data);
});
/** Update UI elements according to current status
*/
function updateControls() {
var query = $.trim($("input[name=query]").val());
$("#btnPin").attr("disabled", !taxonTree.getActiveNode());
$("#btnUnpin")
.attr("disabled", !taxonTree.isFilterActive())
.toggleClass("btn-success", taxonTree.isFilterActive());
$("#btnResetSearch").attr("disabled", query.length === 0);
$("#btnSearch").attr("disabled", query.length < 2);
}
/**
* Invoke callback after `ms` milliseconds.
* Any pending action of this type is cancelled before.
*/
function _delay(tag, ms, callback) {
/*jshint -W040:true */
var self = this;
tag = "" + (tag || "default");
if (timerMap[tag] != null) {
clearTimeout(timerMap[tag]);
delete timerMap[tag];
// console.log("Cancel timer '" + tag + "'");
}
if (ms == null || callback == null) {
return;
}
// console.log("Start timer '" + tag + "'");
timerMap[tag] = setTimeout(function() {
// console.log("Execute timer '" + tag + "'");
callback.call(self);
}, +ms);
}
/**
*/
function _callWebservice(cmd, data) {
return $.ajax({
url: GBIF_URL + cmd,
data: $.extend({}, data),
cache: true,
headers: { "Api-User-Agent": USER_AGENT },
dataType: "jsonp",
});
}
/**
*/
function updateItemDetails(key) {
$("#tmplDetails").addClass("busy");
$.bbq.pushState({ key: key });
$.when(
_callWebservice("species/" + key),
_callWebservice("species/" + key + "/speciesProfiles"),
_callWebservice("species/" + key + "/synonyms"),
_callWebservice("species/" + key + "/descriptions"),
_callWebservice("species/" + key + "/media")
).done(function(species, profiles, synonyms, descriptions, media) {
// Requests are resolved as: [ data, statusText, jqXHR ]
species = species[0];
profiles = profiles[0];
synonyms = synonyms[0];
descriptions = descriptions[0];
media = media[0];
var info = $.extend(species, {
profileList: profiles.results, // marine, extinct
profile:
profiles.results.length === 1 ? profiles.results[0] : null, // marine, extinct
synonyms: synonyms.results,
descriptions: descriptions.results,
descriptionsByLang: {},
media: media.results,
now: new Date().toString(),
});
$.each(info.descriptions, function(i, o) {
if (!info.descriptionsByLang[o.language]) {
info.descriptionsByLang[o.language] = [];
}
info.descriptionsByLang[o.language].push(o);
});
console.log("updateItemDetails", info);
$("#tmplDetails")
// .html(tmplDetails(info))
.removeClass("busy");
$("#tmplMedia")
// .html(tmplMedia(info))
.removeClass("busy");
$("#tmplInfoPane")
.html(tmplInfoPane(info))
.removeClass("busy");
$("[data-toggle='popover']").popover();
$(".carousel").carousel();
$("#mediaCounter").text("" + (media.results.length || ""));
// $("[data-toggle='collapse']").collapse();
updateControls();
});
}
/**
*/
function updateBreadcrumb(key, loadTreeNodes) {
var $ol = $("ol.breadcrumb").addClass("busy"),
activeNode = taxonTree.getActiveNode();
if (activeNode && activeNode.key !== key) {
activeNode.setActive(false); // deactivate, in case the new key is not found
}
$.when(
_callWebservice("species/" + key + "/parents"),
_callWebservice("species/" + key)
).done(function(parents, node) {
// Both requests resolved (result format: [ data, statusText, jqXHR ])
var nodeList = parents[0],
keyList = [];
nodeList.push(node[0]);
// Display as <OL> list (for Bootstrap breadcrumbs)
$ol.empty().removeClass("busy");
$.each(nodeList, function(i, o) {
var name = o.vernacularName || o.canonicalName;
keyList.push(o.key);
if ("" + o.key === "" + key) {
$ol.append(
$("<li class='active'>").append(
$("<span>", {
text: name,
title: o.rank,
})
)
);
} else {
$ol.append(
$("<li>").append(
$("<a>", {
href: "#key=" + o.key,
text: name,
title: o.rank,
})
)
);
}
});
if (loadTreeNodes) {
// console.log("updateBreadcrumb - loadKeyPath", keyList);
taxonTree.loadKeyPath("/" + keyList.join("/"), function(
n,
status
) {
// console.log("... updateBreadcrumb - loadKeyPath " + n.title + ": " + status);
switch (status) {
case "loaded":
n.makeVisible();
break;
case "ok":
n.setActive();
// n.makeVisible();
break;
}
});
}
});
}
/**
*/
function search(query) {
query = $.trim(query);
console.log("searching for '" + query + "'...");
// Store the source options for optional paging
searchResultTree.lastSourceOpts = {
// url: GBIF_URL + "species/match", // Fuzzy matches scientific names against the GBIF Backbone Taxonomy
url: GBIF_URL + "species/search", // Full text search of name usages covering the scientific and vernacular name, the species description, distribution and the entire classification across all name usages of all or some checklists
data: {
q: query,
datasetKey: TAXONOMY_KEY,
// name: query,
// strict: "true",
// hl: true,
limit: SEARCH_PAGE_SIZE,
offset: 0,
},
cache: true,
// headers: { "Api-User-Agent": USER_AGENT }
// dataType: "jsonp"
};
$("#searchResultTree").addClass("busy");
searchResultTree
.reload(searchResultTree.lastSourceOpts)
.done(function(result) {
// console.log("search returned", result);
if (result.length < 1) {
searchResultTree.getRootNode().setStatus("nodata");
}
$("#searchResultTree").removeClass("busy");
// https://github.com/tbasse/jquery-truncate
// SLOW!
// $("div.truncate").truncate({
// multiline: true
// });
updateControls();
});
}
/*******************************************************************************
* Pageload Handler
*/
$(function() {
$("#taxonTree").fancytree({
extensions: ["filter", "glyph", "wide"],
filter: {
mode: "hide",
},
glyph: glyphOpts,
autoCollapse: true,
activeVisible: true,
autoScroll: true,
source: {
url: GBIF_URL + "species/root/" + TAXONOMY_KEY,
data: {},
cache: true,
// dataType: "jsonp"
},
init: function(event, data) {
updateControls();
$(window).trigger("hashchange"); // trigger on initial page load
},
lazyLoad: function(event, data) {
data.result = {
url: GBIF_URL + "species/" + data.node.key + "/children",
data: {
limit: CHILD_NODE_PAGE_SIZE,
},
cache: true,
// dataType: "jsonp"
};
// store this request options for later paging
data.node.lastSourceOpts = data.result;
},
postProcess: function(event, data) {
var response = data.response;
data.node.info("taxonTree postProcess", response);
data.result = $.map(response.results, function(o) {
return (
o && {
title: o.vernacularName || o.canonicalName,
key: o.key,
nubKey: o.nubKey,
folder: true,
lazy: true,
}
);
});
if (response.endOfRecords === false) {
// Allow paging
data.result.push({
title: "(more)",
statusNodeType: "paging",
});
} else {
// No need to store the extra data
delete data.node.lastSourceOpts;
}
},
activate: function(event, data) {
$("#tmplDetails").addClass("busy");
$("ol.breadcrumb").addClass("busy");
updateControls();
_delay("showDetails", 500, function() {
updateItemDetails(data.node.key);
updateBreadcrumb(data.node.key);
});
},
clickPaging: function(event, data) {
// Load the next page of results
var source = $.extend(
true,
{},
data.node.parent.lastSourceOpts
);
source.data.offset = data.node.parent.countChildren() - 1;
data.node.replaceWith(source);
},
});
$("#searchResultTree").fancytree({
extensions: ["table", "wide"],
source: [{ title: "No Results." }],
minExpandLevel: 2,
icon: false,
table: {
nodeColumnIdx: 2,
},
postProcess: function(event, data) {
var response = data.response;
data.node.info("search postProcess", response);
data.result = $.map(response.results, function(o) {
var res = $.extend(
{
title: o.scientificName,
key: o.key,
},
o
);
return res;
});
// Append paging link
if (
response.count != null &&
response.offset + response.limit < response.count
) {
data.result.push({
title:
"(" +
(response.count -
response.offset -
response.limit) +
" more)",
statusNodeType: "paging",
});
}
data.node.info("search postProcess 2", data.result);
},
// loadChildren: function(event, data) {
// $("#searchResultTree td div.cell").truncate({
// multiline: true
// });
// },
renderColumns: function(event, data) {
var i,
node = data.node,
$tdList = $(node.tr).find(">td"),
cnList = node.data.vernacularNames
? $.map(node.data.vernacularNames, function(o) {
return o.vernacularName;
})
: [];
i = 0;
function _setCell($cell, text) {
$("<div class='truncate'>")
.attr("title", text)
.text(text)
.appendTo($cell);
}
$tdList.eq(i++).text(node.key);
$tdList.eq(i++).text(node.data.rank);
i++; // #1: node.title = scientificName
// $tdList.eq(i++).text(cnList.join(", "));
_setCell($tdList.eq(i++), cnList.join(", "));
$tdList.eq(i++).text(node.data.canonicalName);
// $tdList.eq(i++).text(node.data.accordingTo);
_setCell($tdList.eq(i++), node.data.accordingTo);
$tdList.eq(i++).text(node.data.taxonomicStatus);
$tdList.eq(i++).text(node.data.nameType);
$tdList.eq(i++).text(node.data.numOccurrences);
$tdList.eq(i++).text(node.data.numDescendants);
// $tdList.eq(i++).text(node.data.authorship);
_setCell($tdList.eq(i++), node.data.authorship);
// $tdList.eq(i++).text(node.data.publishedIn);
_setCell($tdList.eq(i++), node.data.publishedIn);
},
activate: function(event, data) {
if (data.node.isStatusNode()) {
return;
}
_delay("activateNode", 500, function() {
updateItemDetails(data.node.key);
updateBreadcrumb(data.node.key);
});
},
clickPaging: function(event, data) {
// Load the next page of results
var source = $.extend(
true,
{},
searchResultTree.lastSourceOpts
);
source.data.offset = data.node.parent.countChildren() - 1;
data.node.replaceWith(source);
},
});
taxonTree = $.ui.fancytree.getTree("#taxonTree");
searchResultTree = $.ui.fancytree.getTree("#searchResultTree");
// Bind a callback that executes when document.location.hash changes.
// (This code uses bbq: https://github.com/cowboy/jquery-bbq)
$(window).on("hashchange", function(e) {
var key = $.bbq.getState("key");
console.log("bbq key", key);
if (key) {
updateBreadcrumb(key, true);
}
}); // don't trigger now, since we need the the taxonTree root nodes to be loaded first
$("input[name=query]")
.on("keyup", function(e) {
var query = $.trim($(this).val()),
lastQuery = $(this).data("lastQuery");
if ((e && e.which === $.ui.keyCode.ESCAPE) || query === "") {
$("#btnResetSearch").click();
return;
}
if (e && e.which === $.ui.keyCode.ENTER && query.length >= 2) {
$("#btnSearch").click();
return;
}
if (query === lastQuery || query.length < 2) {
console.log("Ignored query '" + query + "'");
return;
}
$(this).data("lastQuery", query);
_delay("search", 1, function() {
$("#btnSearch").click();
});
$("#btnResetSearch").attr("disabled", query.length === 0);
$("#btnSearch").attr("disabled", query.length < 2);
})
.focus();
$("#btnResetSearch").click(function(e) {
$("#searchResultPane").collapse("hide");
$("input[name=query]").val("");
searchResultTree.clear();
updateControls();
});
$("#btnSearch")
.click(function(event) {
$("#searchResultPane").collapse("show");
search($("input[name=query]").val());
})
.attr("disabled", true);
$("#btnPin").click(function(event) {
taxonTree.filterBranches(function(n) {
return n.isActive();
});
updateControls();
});
$("#btnUnpin").click(function(event) {
taxonTree.clearFilter();
updateControls();
});
// -----------------------------------------------------------------------------
}); // end of pageload handler
})(jQuery, window, document);

View File

View File

View File

0
resources/shop/print.css Normal file
View File