summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--.gitmodules3
-rw-r--r--403.html46
-rw-r--r--404.html46
-rw-r--r--Makefile5
-rw-r--r--about.html120
-rw-r--r--about/Venky.html93
-rw-r--r--about/charter.html631
-rw-r--r--about/ecosystem.html91
-rw-r--r--about/techboard.html109
-rw-r--r--cgit-footer.html1
-rw-r--r--cgit-head.html12
-rw-r--r--cgit.css823
-rw-r--r--cgit.pngbin2922 -> 0 bytes
-rw-r--r--config.toml47
-rw-r--r--content-doxygen.css32
-rw-r--r--content.css288
-rw-r--r--content/_footer.md0
-rw-r--r--content/_header.md1
-rw-r--r--content/_index.md29
-rw-r--r--content/contribute/_index.md165
-rw-r--r--content/doc/_index.md24
-rw-r--r--content/doc/archives/_index.md73
-rw-r--r--content/doc/quick-start.md77
-rw-r--r--content/download/_index.md45
-rw-r--r--content/perf-reports/_index.md41
-rw-r--r--content/roadmap/_index.md112
-rw-r--r--content/supported/NICs/amazon.md9
-rw-r--r--content/supported/NICs/atomicrules.md9
-rw-r--r--content/supported/NICs/broadcom.md9
-rw-r--r--content/supported/NICs/cavium.md13
-rw-r--r--content/supported/NICs/chelsio.md9
-rw-r--r--content/supported/NICs/cisco.md9
-rw-r--r--content/supported/NICs/intel.md18
-rw-r--r--content/supported/NICs/marvell.md9
-rw-r--r--content/supported/NICs/mellanox.md10
-rw-r--r--content/supported/NICs/netcope.md9
-rw-r--r--content/supported/NICs/netronome.md9
-rw-r--r--content/supported/NICs/nxp.md10
-rw-r--r--content/supported/NICs/solarflare.md9
-rw-r--r--content/supported/_index.md13
-rw-r--r--content/supported/others.md10
-rw-r--r--content/supported/paravirtualization.md9
-rw-r--r--content/techboard/_index.md81
-rw-r--r--content/techboard/minutes.md45
-rw-r--r--content/training/_index.md13
-rw-r--r--dev.html154
-rw-r--r--dev/roadmap.html170
-rw-r--r--dev/techboard-minutes.html82
-rw-r--r--doc.html103
-rw-r--r--doc/archives.html113
-rw-r--r--doc/doxy-footer.html5
-rw-r--r--doc/doxy-header.html48
-rw-r--r--doc/memnic-pmd.html129
-rw-r--r--doc/nics.html130
-rw-r--r--doc/quick-start.html101
-rw-r--r--doc/virtio-net-pmd.html132
-rw-r--r--doc/vmxnet3-usermap.html159
-rw-r--r--download.html77
-rw-r--r--events.html169
-rw-r--r--events/summit-2017-china.html147
-rw-r--r--events/summit-2017-india.html162
-rw-r--r--events/summit-2017-ireland.html225
-rw-r--r--events/summit-2017-usa.html350
-rw-r--r--fonts.css61
-rw-r--r--fonts/exo2-blackitalic.eotbin17501 -> 0 bytes
-rw-r--r--fonts/exo2-blackitalic.svg996
-rw-r--r--fonts/exo2-blackitalic.ttfbin40000 -> 0 bytes
-rw-r--r--fonts/exo2-blackitalic.woffbin18972 -> 0 bytes
-rw-r--r--fonts/exo2-bold.eotbin17998 -> 0 bytes
-rw-r--r--fonts/exo2-bold.svg1151
-rw-r--r--fonts/exo2-bold.ttfbin41700 -> 0 bytes
-rw-r--r--fonts/exo2-bold.woffbin19484 -> 0 bytes
-rw-r--r--fonts/exo2-regular.eotbin18411 -> 0 bytes
-rw-r--r--fonts/exo2-regular.svg1187
-rw-r--r--fonts/exo2-regular.ttfbin41724 -> 0 bytes
-rw-r--r--fonts/exo2-regular.woffbin19960 -> 0 bytes
-rw-r--r--fonts/opensans-italic.eotbin12651 -> 0 bytes
-rw-r--r--fonts/opensans-italic.svg550
-rw-r--r--fonts/opensans-italic.ttfbin22228 -> 0 bytes
-rw-r--r--fonts/opensans-italic.woffbin14660 -> 0 bytes
-rw-r--r--fonts/opensans-regular.eotbin12349 -> 0 bytes
-rw-r--r--fonts/opensans-regular.svg550
-rw-r--r--fonts/opensans-regular.ttfbin22000 -> 0 bytes
-rw-r--r--fonts/opensans-regular.woffbin14272 -> 0 bytes
-rw-r--r--fonts/opensans-semibold.eotbin12335 -> 0 bytes
-rw-r--r--fonts/opensans-semibold.svg549
-rw-r--r--fonts/opensans-semibold.ttfbin22020 -> 0 bytes
-rw-r--r--fonts/opensans-semibold.woffbin14284 -> 0 bytes
-rw-r--r--index.html91
-rw-r--r--layout.css110
-rw-r--r--layouts/404.html2
-rw-r--r--layouts/partials/custom-head.html6
-rw-r--r--layouts/partials/menu-footer.html16
-rw-r--r--logos/6wind.pngbin14790 -> 0 bytes
-rw-r--r--logos/arm.pngbin4713 -> 0 bytes
-rw-r--r--logos/atomicrules.pngbin17277 -> 0 bytes
-rw-r--r--logos/att.pngbin10604 -> 0 bytes
-rw-r--r--logos/broadcom.pngbin83868 -> 0 bytes
-rw-r--r--logos/cavium.pngbin19133 -> 0 bytes
-rw-r--r--logos/clearlinux.pngbin18386 -> 0 bytes
-rw-r--r--logos/debian.pngbin6633 -> 0 bytes
-rw-r--r--logos/dpdk.pngbin28669 -> 0 bytes
-rw-r--r--logos/dpvs.pngbin8751 -> 0 bytes
-rw-r--r--logos/elte.pngbin77781 -> 0 bytes
-rw-r--r--logos/ericsson.pngbin20317 -> 0 bytes
-rw-r--r--logos/f5.pngbin14207 -> 0 bytes
-rw-r--r--logos/fastly.pngbin3658 -> 0 bytes
-rw-r--r--logos/fdio.pngbin18559 -> 0 bytes
-rw-r--r--logos/fedora.pngbin7011 -> 0 bytes
-rw-r--r--logos/freebsd.pngbin16807 -> 0 bytes
-rw-r--r--logos/gandi.pngbin16158 -> 0 bytes
-rw-r--r--logos/huawei.pngbin13936 -> 0 bytes
-rw-r--r--logos/intel.pngbin10872 -> 0 bytes
-rw-r--r--logos/kaist.pngbin1697 -> 0 bytes
-rw-r--r--logos/lagopus.pngbin10228 -> 0 bytes
-rw-r--r--logos/lfp.pngbin11874 -> 0 bytes
-rw-r--r--logos/mellanox.pngbin22097 -> 0 bytes
-rw-r--r--logos/mirantis.pngbin31598 -> 0 bytes
-rw-r--r--logos/nxp.pngbin6581 -> 0 bytes
-rw-r--r--logos/opnfv.pngbin7801 -> 0 bytes
-rw-r--r--logos/ovs.pngbin13197 -> 0 bytes
-rw-r--r--logos/redhat.pngbin21382 -> 0 bytes
-rw-r--r--logos/scylla.pngbin17010 -> 0 bytes
-rw-r--r--logos/spirent.pngbin8815 -> 0 bytes
-rw-r--r--logos/suse.pngbin9563 -> 0 bytes
-rw-r--r--logos/trex.pngbin11943 -> 0 bytes
-rw-r--r--logos/tsinghua.pngbin29857 -> 0 bytes
-rw-r--r--logos/ubuntu.pngbin11288 -> 0 bytes
-rw-r--r--logos/umass.pngbin10207 -> 0 bytes
-rw-r--r--logos/univlimerick.pngbin21777 -> 0 bytes
-rw-r--r--logos/warp17.pngbin16771 -> 0 bytes
-rw-r--r--logos/windriver.pngbin12604 -> 0 bytes
-rw-r--r--logos/zte.pngbin13413 -> 0 bytes
-rw-r--r--ml.html150
-rw-r--r--news.html191
-rw-r--r--rel.html129
-rw-r--r--reset.css47
-rw-r--r--scripts/serve_local.py63
-rw-r--r--sitemap.xml27
-rw-r--r--static/css/dpdk.css185
-rw-r--r--static/favicon.icobin0 -> 1150 bytes
-rw-r--r--static/img/bg_tunnel.jpgbin0 -> 203062 bytes
-rw-r--r--static/img/dpdk.pngbin0 -> 24615 bytes
m---------themes/docdock0
145 files changed, 1130 insertions, 10605 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..c75eecc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/public
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..b82af08
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "themes/docdock"]
+ path = themes/docdock
+ url = https://github.com/vjeantet/hugo-theme-docdock.git
diff --git a/403.html b/403.html
deleted file mode 100644
index f16f1f7..0000000
--- a/403.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK 403</title>
- <link rel="stylesheet" href="//dpdk.org/reset.css" />
- <link rel="stylesheet" href="//dpdk.org/layout.css" />
- <link rel="stylesheet" href="//dpdk.org/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="//dpdk.org/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="//dpdk.org/">Home</a></li>
- <li><a href="//dpdk.org/download">Download</a></li>
- <li><a href="//dpdk.org/doc">Documentation</a></li>
- <li><a href="//dpdk.org/dev">Development</a></li>
- <li><a href="//dpdk.org/ml">Mailing Lists</a></li>
- <li><a href="//dpdk.org/events">Events</a></li>
- <li><a href="//dpdk.org/news">News</a></li>
- <li><a href="//dpdk.org/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section>
- <h2>403: forbidden</h2>
- <p>This URL is not valid, sorry!</p>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/404.html b/404.html
deleted file mode 100644
index c573b23..0000000
--- a/404.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK 404</title>
- <link rel="stylesheet" href="//dpdk.org/reset.css" />
- <link rel="stylesheet" href="//dpdk.org/layout.css" />
- <link rel="stylesheet" href="//dpdk.org/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="//dpdk.org/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="//dpdk.org/">Home</a></li>
- <li><a href="//dpdk.org/download">Download</a></li>
- <li><a href="//dpdk.org/doc">Documentation</a></li>
- <li><a href="//dpdk.org/dev">Development</a></li>
- <li><a href="//dpdk.org/ml">Mailing Lists</a></li>
- <li><a href="//dpdk.org/events">Events</a></li>
- <li><a href="//dpdk.org/news">News</a></li>
- <li><a href="//dpdk.org/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section>
- <h2>404: page not found</h2>
- <p>This URL is not valid, sorry!</p>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 58646bd..0000000
--- a/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-PYTHON2 = python
-
-local:
- (sleep 1 && xdg-open http://localhost:8000) &
- $(PYTHON2) scripts/serve_local.py
diff --git a/about.html b/about.html
deleted file mode 100644
index 5b0ea8d..0000000
--- a/about.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>about DPDK</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about" id="current">About</a></li>
- </ul>
- </nav>
- </header>
- <section>
- <h2>Governance</h2>
- <p>The <a href="/about/charter">DPDK charter</a> defines
- the global project, its boards and some related policies.
- <p>The Gold and Silver members are funding contributors.
- <h2 id="members">Members</h2>
- <h3>Gold</h3>
- <ul class="logos gold">
- <li><img src="/logos/arm.png" alt="ARM" class="heavy">
- <li><img src="/logos/att.png" alt="AT&T">
- <li><img src="/logos/cavium.png" alt="Cavium">
- <li><img src="/logos/ericsson.png" alt="Ericsson">
- <li><img src="/logos/f5.png" alt="F5">
- <li><img src="/logos/intel.png" alt="Intel">
- <li><img src="/logos/mellanox.png" alt="Mellanox">
- <li><img src="/logos/nxp.png" alt="NXP" class="heavy">
- <li><img src="/logos/redhat.png" alt="Red Hat">
- <li><img src="/logos/zte.png" alt="ZTE" class="heavy">
- </ul>
- </div>
- <h3>Silver</h3>
- <ul class="logos silver">
- <li><img src="/logos/6wind.png" alt="6WIND" class="heavy">
- <li><img src="/logos/atomicrules.png" alt="Atomic Rules">
- <li><img src="/logos/broadcom.png" alt="Broadcom">
- <li><img src="/logos/huawei.png" alt="Huawei">
- <li><img src="/logos/spirent.png" alt="Spirent" class="heavy">
- <li><img src="/logos/windriver.png" alt="Wind River">
- </ul>
- <h3>Associate</h3>
- <p>The <a href="/about/ecosystem#associate">Associate Members</a> are
- non-profit, academic or government agencies.
- <h2>Maintainers</h2>
- <p>Each project on <a href="/browse/">dpdk.org</a> has its own maintenance process.
- <p>The main DPDK project has a <a href="/browse/dpdk/tree/MAINTAINERS">list of maintainers</a>
- and a <a href="/about/techboard">Technical Board</a>.
- <h2>Contacts</h2>
- <p>For private notice or security issue, please write to
- <a href="mailto:maintainers@dpdk.org">maintainers@dpdk.org</a>.
- <p>For an update of this web site,
- please join <a href="/ml/listinfo/web">web@dpdk.org</a>
- and check the <a href="/browse/tools/dpdk-web/">git repository</a>.
- <p>For any administrative question or request about a dpdk.org service,
- please contact <a href="mailto:admin@dpdk.org">admin@dpdk.org</a>.
- <h2>Services</h2>
- <p id="services">Companies able to provide services and support for DPDK environments:</p>
- <ul>
- <li id="6WIND">
- <a href="http://6wind.com/products/6windgate-software-modules">6WIND</a>
- <li id="Calsoft">
- <a href="http://sdn.calsoftlabs.com/competencies/intel-dpdk.html">Calsoft Labs</a>
- <li id="Intel">
- <a href="http://intel.com/go/dpdk">Intel</a>
- <li id="Tieto">
- <a href="http://tieto.com/product-development/communications-infrastructure/telco-cloud">Tieto</a>
- <li id="WindRiver">
- <a href="http://www.windriver.com/news/press/pr.html?ID=10661">Wind River</a>
- </ul>
- <p id="trainings">Companies providing instructor-led courses:</p>
- <ul>
- <li><a href="http://altencalsoftlabs.com/resources/insights/dpdk-data-plane-development-kit">Calsoft Labs</a>
- <li><a href="http://academy.semihalf.com">Semihalf</a>
- <li><a href="https://education.windriver.com/lmt/clmsCatalogDetails.prMain?in_sessionId=&in_portId=1&in_offeringId=1994910">Wind River</a>
- </ul>
- <h2>Logos</h3>
- <p>
- <a href="//fast.dpdk.org/download/logos/">The DPDK logos</a>
- are provided by Intel under a Creative Commons Attribution-NoDerivatives 4.0 License
- (<a href="http://creativecommons.org/licenses/by-nd/4.0/">CC BY-ND 4.0</a>).
- </p>
- <h2>Hosting</h2>
- <p>
- The main server is hosted by <a href="http://gandi.net">
- <img src="/logos/gandi.png" style="height:1.6em" alt="Gandi"></a>
- and the CDN is provided by <a href="http://fastly.com">
- <img src="/logos/fastly.png" style="height:1.6em" alt="Fastly"></a>.
- </p>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/about/Venky.html b/about/Venky.html
deleted file mode 100644
index f3ba619..0000000
--- a/about/Venky.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>Venky Venkatesan</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a>
- <li><a href="/download">Download</a>
- <li><a href="/doc">Documentation</a>
- <li><a href="/dev">Development</a>
- <li><a href="/ml">Mailing Lists</a>
- <li><a href="/events">Events</a>
- <li><a href="/news">News</a>
- <li><a href="/about" id="current">About</a>
- </ul>
- </nav>
-</header>
-<section>
-<h3>In Loving Memory: Venky Venkatesan, "The Father of DPDK"</h3>
-<img src="https://fast.dpdk.org/events/images/Venky-Venkatesan.jpg" style="float: left; margin: 4em 3em 4em 0;">
-
-<p>It is with a heavy heart that we share news that
-the DPDK and FD.io communities have lost a key founding member of the communities:
-Venky Venkatesan has passed away following a long battle with cancer.
-We’d like to express our utmost condolences to Venky’s family, friends,
-and extended community during this incredibly sad time.
-Venky was an incredibly inspiring man who exuded greatness all around;
-he will be dearly missed.</p>
-
-<p>Affectionately known as "The Father of DPDK",
-a nod to his invention and creation of DPDK
-approximately ten years ago (before it was called DPDK).
-His footprints across the industry, and across the globe, are everywhere:
-Venky was deeply involved in the PICMG ATCA specification,
-creating a new bladed form factor for telecom equipment.
-He touched on and gave guidance to projects spanning Linux/netdev, DPDK,
-Intel QuickAssist Technology, BSD stacks,
-OVS, OPNFV, FD.io (of which he was a sitting TSC member),
-all-things-virtualization (KVM, Xen, VMware, Hyper-V, etc.),
-ETSI, IETF, containers, and so many other arenas.
-Venky regularly spoke at technical conferences
-including Intel Developer Forum, DPDK Summit,
-and various other workshops spanning FD.io, NFV, SDN, and virtual switching.</p>
-
-<p>Those who knew him and engaged him, especially on deep technical discussions,
-knew they were talking to someone with the rare combination of skills
-that went incredibly deep both on the hardware (silicon) side of platforms,
-but also on the software (networking) side of the platforms.
-Venky was well-versed on a range of topics beyond technical themes.
-His mind could engage you on subjects ranging from football (soccer)
-to photography to history to politics and many other domains.
-Conversations with Venky were a treat.
-Traveling with him was an adventure.
-Debating with him was a lesson.
-We will so miss all of him.</p>
-
-<p>Venky left behind a wife and two young daughters.
-A <a href="https://www.gofundme.com/venky-venkatesan-memorial-fund">GoFundMe memorial fund</a>
-to establish a college fund for his daughters has been set up
-to honor his legacy of mentoring and developing the next generation
-of engineers and scientists.</p>
-
-<p>The upcoming DPDK release, 18.05, and the upcoming FD.io release, 18.04,
-will be named in Venky’s honor as well.</p>
-
-<p>Please join us in expressing our gratitude for all that
-Venky gave to the world during the too-short time he was here,
-as well as our deep sadness in losing a great friend, colleague, and mentor.</p>
-
-</section>
-<footer></footer>
diff --git a/about/charter.html b/about/charter.html
deleted file mode 100644
index 2b42e09..0000000
--- a/about/charter.html
+++ /dev/null
@@ -1,631 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK Project Charter</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a>
- <li><a href="/download">Download</a>
- <li><a href="/doc">Documentation</a>
- <li><a href="/dev">Development</a>
- <li><a href="/ml">Mailing Lists</a>
- <li><a href="/events">Events</a>
- <li><a href="/news">News</a>
- <li><a href="/about" id="current">About</a>
- </ul>
- </nav>
-</header>
-<section id="charter">
-<h1>Project Charter</h1>
-
-<h2 id="mission">Mission of the Data Plane Development Kit</h2>
-<p>
- The mission of DPDK is to:
-<ol>
- <li>
- Create an open source, production quality, vendor neutral
- software platform for enabling fast dataplane I/O,
- upon which users can build and run data plane applications.
- <li>
- Host the infrastructure for the DPDK community,
- establishing a neutral home for community assets,
- infrastructure, meetings, events and collaborative discussions.
-</ol>
-
-<h2 id="structure">Project Structure</h2>
-<p>
- The DPDK Project is comprised of
- one core software project which is DPDK itself,
- and a few smaller sub-projects that are closely related to DPDK.
-<p>
- The core DPDK project is comprised of a number of git repositories,
- including a master repository,
- several "next" repositories
- which are used to apply changes to specific parts of DPDK
- before these are pulled into the master repository,
- and a stable release repository.
- This structure is listed in
- the <a href= "/browse/">repository home page</a>.
-<p>
- The sub-projects that are also hosted as part of the DPDK Project
- are typically applications that are closely related to DPDK.
- These can be browsed in
- the <a href= "/browse/">repository home page</a>.
-<p>
- Changes to this structure, including approval for any new sub-projects,
- are the responsibility of the Technical Board
- (see <a href="#techboard">section 3.2</a> below).
-
-<h2 id="governance">Project Governance</h2>
-<p>
- Governance for DPDK will be provided by two boards:
-<ol>
- <li>
- A Governing Board which deals with budget, marketing,
- lab resources, administrative, legal and licensing issues.
- <li>
- A Technical Board which deals with technical issues
- including approval of new sub-projects, deprecating old sub-projects,
- and resolution of technical disputes.
-</ol>
-<p>
- These two boards are peers and work together to oversee the DPDK project.
-
-<h3 id="govboard">Governing Board</h3>
-
-<h4 id="govscope">Scope</h4>
-<p>
- The Governing Board covers the full scope of DPDK, including all sub-projects.
- Responsibilities of the Governing Board are:
-<ol>
- <li>
- Electing a Chair to preside over meetings,
- authorize expenditures approved by the Governing Board,
- and manage any day-to-day operations.
- <ol>
- <li>
- The Chair will be elected on an annual basis.
- <li>
- The existing Chair will be allowed to stand for re-election.
- </ol>
- <li>
- Approving an annual budget comprising funds raised by DPDK
- from all sources of revenue,
- and approving expenditures in compliance with that budget.
- <li>
- Overseeing all project business and marketing matters
- including planning and executing DPDK events.
- <li>
- Planning and management of all project lab resources.
- <li>
- Adopting and maintaining administrative policies and procedures for DPDK
- (subject to LF approval) including but not limited to a Code of Conduct,
- and a trademark policy.
- <li>
- Approving procedures for the nomination and election of
- (1) Silver Member representatives to the Governing Board,
- and (2) any officer or other positions created by the Governing Board.
- <li>
- Recruiting and approving new Gold and Silver members of the project.
- <li>
- Approving any exceptions to the Intellectual Property Policy.
- <li id="subprojcriteria">
- Defining any non-technical criteria
- (examples might include things like "no or minimal additional
- budgetary requirements for the project")
- that the Technical Board must consider when approving new sub-projects.
- In the interim period until these criteria are defined and agreed
- with the Technical Board, the Governing Board must approve new sub-projects
- after the Technical Board has approved them.
- <li>
- Voting on all matters requiring a decision from the Governing Board.
-</ol>
-
-<h4 id="govcomposition">Composition</h4>
-<p>
- The Governing Board shall consist of:
-<ol>
- <li>
- One representative appointed by each Gold Member
- as specified in <a href="#goldrep">clause 4.d.i</a> below.
- <li>
- Up to two Silver Member representatives
- as specified in <a href="#silverrep">clause 4.e.i</a> below.
- <li>
- One representative of the Technical Board,
- to be nominated by the Technical Board on an annual basis.
-</ol>
-
-<h4 id="govconduct">Conduct</h4>
-<p>
- Conduct of Governing Board meetings:
-<ol>
- <li>
- Governing Board meetings shall be limited to
- the Governing Board representatives,
- plus any other individuals that the Governing Board invites
- because their input is required on specific agenda topics.
- The Governing Board will allow a named representative to attend
- as an alternate if a Governing Board member cannot attend.
- <li>
- The quorum required for a meeting to proceed is a majority
- (&gt; 50%) of the Governing Board.
- <li>
- For a vote to be passed on the following items,
- a &frac23; majority (&gt; 66%) of the total Governing Board is required
- (<em>not</em> just a &frac23; majority of those in attendance at the meeting).
- In the event of a deadlock the Governing Board Chair
- shall have the casting vote.
- <ol>
- <li>
- Approval of any exceptions to the Intellectual Property Policy
- (see <a href="#licexception">clause 6.c</a>).
- <li>
- Approval of any changes to this document
- (see <a href="#amendments">section 12</a>).
- </ol>
- <li>
- For a vote to be passed on any other item,
- a majority (&gt; 50%) of the total Governing Board is required
- (<em>not</em> just a majority of those in attendance at the meeting).
- In the event of a deadlock the Governing Board Chair
- shall have the casting vote.
- <li id="govtransp">
- The Governing Board will encourage transparency,
- including the public publication of meeting minutes
- and reporting of budgets within a reasonable time
- following their approval by the Governing Board.
- When approving meeting minutes and budgets,
- the Governing Board must approve any items which cannot be included
- in the public versions for confidentiality reasons.
- <br>
- <em>Note</em>: Examples of board discussions which should not be made public
- might include things like legal issues, confidential budget discussions,
- discussion on potential new project members that have not yet been made public,
- etc.
-</ol>
-
-<h3 id="techboard">Technical Board</h3>
-
-<h4 id="techscope">Scope</h4>
-<p>
- The Technical Board is responsible for technical decision making
- for the DPDK project.
- Its scope does not include the other sub-projects
- hosted on dpdk.org (Pktgen, SPP etc.).
- A separate Technical Board may be established for other sub-projects
- in future if any of them grows sufficiently large to require one.
- Responsibilities of the Technical Board are:
-<ol>
- <li>
- Electing a Chair to preside over meetings,
- and manage any day-to-day operations.
- <ol>
- <li>
- The Chair will be elected on an annual basis.
- <li>
- The existing Chair will be allowed to stand for re-election.
- </ol>
- <li>
- Approving any new sub-projects,
- including new "next" repositories for DPDK
- and new DPDK-based apps like Pktgen and SPP.
- The procedure and requirements for requesting a new sub-project
- will be defined by the Technical Board.
- The Technical Board will apply non-technical criteria
- for new sub-projects that are defined by the Governing Board
- (see <a href="#subprojcriteria">clause 3.1.1.i</a>)
- when making its decision on proposed new projects.
- Requests can be submitted by emailing
- <a href="mailto:techboard@dpdk.org">techboard@dpdk.org</a>.
- <li>
- Deprecating any existing sub-projects.
- The procedure for deprecation and archival
- will be defined by the Technical Board.
- Deprecation requests can be submitted by emailing
- <a href="mailto:techboard@dpdk.org">techboard@dpdk.org</a>.
- <li>
- Resolving any technical disputes.
- Anybody who is unhappy with the resolution of a technical issue
- can request that the Technical Board review the issue
- and make a decision on it by emailing
- <a href="mailto:techboard@dpdk.org">techboard@dpdk.org</a>.
- This is only expected to happen in exceptional cases.
- Before escalating to the Technical Board it is required that
- all reasonable steps to resolve the dispute via consensus
- are taken and recorded on the
- <a href="/ml/listinfo/dev">dev@dpdk.org</a> mailing list.
- If the Technical Board Chair does not feel that this has happened,
- they can refer the issue back to the complainant
- for further action to be taken before escalating it to the Technical Board.
- <br>
- The decision of the Technical Board on any technical disputes will be final
- and all project contributors are expected to comply.
- If a Maintainer or Committer fails to comply
- with a decision of the Technical Board,
- the Technical Board will be empowered to take
- any necessary steps to enforce its decision,
- including replacing that Maintainer/Committer.
- <br>
- <em>Note</em>: Examples of issues that fall into this category might include
- disagreements over which patches should/should not go into DPDK.
- <li>
- Voting on all matters requiring a decision from the Technical Board.
-</ol>
-
-<h4 id="techcomposition">Composition</h4>
-<p>
- The Technical Board shall consist of:
-<ol>
- <li>
- The composition of the Technical Board is documented at
- <a href="/about/techboard#members">dpdk.org/about/techboard#members</a>.
- In the case of a conflict, the terms of this Charter prevail.
- <li>
- To be added to or removed from the Technical Board:
- <ol>
- <li>
- A candidate must be nominated by an existing member of the Technical Board and
- <li>
- The Technical Board must review and approve the change.
- </ol>
- <li>
- When adding or removing members, the Technical Board must consider the following:
- <ol>
- <li>
- Positions on the Technical Board are determined based on technical merit.
- A new member must have a strong history of contribution
- (including reviews of other people's contributions) to the project.
- <li>
- The Technical Board must ensure that it represents all parts of DPDK,
- including support for all architectures that DPDK runs on.
- <li>
- Employees of a single company should not occupy
- more than 40% of the Tech Board seats.
- <li>
- The Technical Board needs to be kept to a manageable size
- so that decisions can be made in an effective way.
- </ol>
-</ol>
-
-<h4 id="techconduct">Conduct</h4>
-<p>
- Conduct of Technical Board meetings:
-<ol>
- <li>
- Technical Board meetings shall be open to the public.
- <li>
- The quorum required for a meeting to proceed is a 70% majority
- of the Technical Board.
- <li>
- For a vote to be passed, a majority (&gt; 50%) of the total Technical Board
- is required (<em>not</em> just a majority of those in attendance at the meeting).
- In the event of a deadlock the Technical Board Chair shall have the casting vote.
- <li>
- Minutes of Technical Board meetings will be published publicly
- within a reasonable time following their approval by the Technical Board.
-</ol>
-
-<h2 id="membership">Membership</h2>
-<ol>
- <li>
- DPDK is a free, open source project that welcomes all contributors.
- Anybody can use or contribute to DPDK.
- There is no requirement to be a member of the DPDK project
- or a member of The Linux Foundation ("LF") to do so.
- <li>
- The DPDK project shall have Gold and Silver Members,
- independent of the technical contributors.
- All Gold and Silver Members must be current
- corporate members of The Linux Foundation (at any level).
- Details of LF membership levels and rates are available in
- <a href="https://www.linuxfoundation.org/about/bylaws">
- The Linux Foundation Bylaws</a>.
- <li>
- All Gold and Silver Members enjoy the privileges
- and undertake the obligations described in this DPDK Project Charter,
- as from time to time amended by the Governing Board
- with the approval of The Linux Foundation.
- During the term of their membership,
- all members will comply with all such policies
- as the LF Board of Directors and/or the DPDK Governing Board
- may from time to time adopt with notice to members.
- <li>
- Gold Members shall be entitled to:
- <ol>
- <li id="goldrep">
- Appoint a representative to the Governing Board
- and any other committees established by the Governing Board.
- <li>
- Participate in an open DPDK performance lab
- as outlined in <a href="#lab">clause 4.f</a> below.
- <li>
- Be prominently identified as Gold sponsors of the project
- at DPDK-funded events.
- Specific details of how this will be implemented
- will be determined by the Governing Board.
- <li>
- Identify themselves as Gold Members of the project.
- </ol>
- <li>
- Silver Members shall be entitled to:
- <ol>
- <li id="silverrep">
- Annually elect one representative to the Governing Board
- and any other committees established by the Governing Board
- for every five (5) Silver Members,
- up to a maximum of two (2) representatives.
- The election process shall be determined
- and published publicly by the Governing Board.
- <li>
- Participate in an open DPDK performance lab
- as outlined in <a href="#lab">clause 4.f</a> below.
- <li>
- Be identified as Silver sponsors of the project
- at DPDK-funded events.
- Specific details of how this will be implemented
- will be determined by the Governing Board.
- <li>
- Identify themselves as Silver Members of the project.
- </ol>
- <li id="lab">
- Gold and Silver Members shall be entitled to participate in
- an open DPDK Project performance lab (if created):
- <ol>
- <li>
- They will be able to contribute hardware
- to be hosted in the lab for DPDK performance testing.
- <li>
- They will be able to integrate software applications
- into the performance test configuration within the lab.
- <li>
- Limits on hardware and software contributions
- for Gold and Silver Members will be determined by the Governing Board.
- A higher priority will be given to Gold members
- than to Silver members when determining these limits.
- <li>
- Costs for hardware and software contributions
- for Gold and Silver Members will be determined by the Governing Board.
- The cost structure will take into account the fact that
- Gold members have already contributed significantly
- more funding to the project than Silver members.
- </ol>
-</ol>
-
-<h2 id="techgov">Technical Governance</h2>
-<p>
- The Technical Board described in <a href="#techboard">section 3.2</a>
- provides overall technical guidance and direction for DPDK.
-<p>
- Beyond that, each sub-project within DPDK shall be responsible
- for its own technical governance and technical decision making,
- including issues such as:
-<ol>
- <li>
- Determining the process and tools to be used
- for development, CI, validation etc.
- <li>
- Reviewing proposed changes (patches)
- and making decisions on which patches are and are not accepted
- into the project.
- <li>
- Scheduling of releases.
-</ol>
-<p>
- For the core DPDK project, technical governance is documented in
- the <a href="/doc/guides/contributing/">Contributor's Guidelines</a>
- and on the <a href="/dev/">Development web page</a>.
-<p>
- For the other sub-projects within DPDK,
- technical governance will be documented in a CONTRIBUTING.txt file
- in the root directory for the sub-project.
- See <a href="/browse/apps/pktgen-dpdk/tree/CONTRIBUTING.TXT"
- >pktgen-dpdk/tree/CONTRIBUTING.TXT</a> for an example.
-
-<h2 id="ip">Intellectual Property Policy</h2>
-<ol>
- <li>
- All new inbound contributions to DPDK
- will be made under the following licenses:
- <ol>
- <li>
- The <a href="https://spdx.org/licenses/GPL-2.0.html"
- >GPL-2.0 license</a>
- shall be used for code that runs in the kernel.
- Current examples of this are:
- <ol>
- <li>
- lib/librte_eal/linuxapp/igb_uio
- <li>
- lib/librte_eal/linuxapp/kni
- <li>
- lib/librte_eal/linuxapp/kni/ethtool/igb
- <li>
- lib/librte_eal/linuxapp/kni/ethtool/ixgbe
- </ol>
- <li>
- A disjunctive licence choice of
- <a href="https://spdx.org/licenses/BSD-3-Clause.html"
- >BSD-3-Clause</a> OR
- <a href="https://spdx.org/licenses/GPL-2.0.html"
- >GPL-2.0</a> or
- <a href="https://spdx.org/licenses/BSD-3-Clause.html"
- >BSD-3-Clause</a> OR
- <a href="https://spdx.org/licenses/LGPL-2.1.html"
- >LGPL-2.1</a>
- will be used for code that is shared between the kernel and userspace.
- Current examples of this are:
- <ul>
- <li>
- BSD-3-Clause OR GPL-2.0:
- <ol>
- <li>
- All files in
- <a href="/browse/dpdk/tree/drivers/crypto/qat/qat_adf/"
- >qat_adf</a>
- <li>
- <a href="/browse/dpdk/tree/lib/librte_eal/common/include/rte_pci_dev_features.h"
- >rte_pci_dev_features.h</a>,
- <a href="/browse/dpdk/tree/lib/librte_eal/common/include/rte_pci_dev_feature_defs.h"
- >rte_pci_dev_feature_defs.h</a>
- </ol>
- <li>
- BSD-3-Clause OR LGPL-2.1:
- <ol start="4">
- <li>
- <a href="/browse/dpdk/tree/lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h"
- >rte_kni_common.h</a>
- </ol>
- </ul>
- <li>
- The <a href="https://spdx.org/licenses/BSD-3-Clause.html"
- >BSD-3-Clause license</a>
- will be used for all other contributions.
- </ol>
- <li>
- All contributions shall include a "Signed-off-by:" line
- which certifies that the contribution complies with
- the <a href="http://developercertificate.org"
- >Developer Certificate of Origin</a>.
- <li id="licexception">
- If an alternative inbound or outbound license is required
- for compliance with the license for a leveraged open source project
- or is otherwise required to achieve DPDK's Mission,
- the Governing Board may approve the use of an alternative license
- for specific inbound or outbound contributions on an exception basis.
- Any exceptions must be approved
- by a two-thirds vote of the entire Governing Board
- and must be limited in scope to what is required for such purpose.
- <li>
- Subject to available Project funds,
- DPDK may engage The Linux Foundation to determine the availability of,
- and register, trademarks, service marks, and certification marks,
- which shall be owned by the LF.
-</ol>
-
-<h2 id="budget">Budget</h2>
-<ol>
- <li>
- The Governing Board shall approve an annual budget
- and never commit to spend in excess of funds raised.
- The budget and the purposes to which it is applied
- shall be consistent with the non-profit mission of The Linux Foundation.
- <li>
- The Linux Foundation shall provide the Governing Board
- with regular reports of spend levels against the budget.
- In no event will The Linux Foundation have any obligation
- to undertake any action on behalf of DPDK or otherwise related to DPDK
- that will not be covered in full by funds raised by DPDK.
- <li>
- In the event any unbudgeted or otherwise unfunded obligation
- arises related to DPDK, The Linux Foundation will coordinate
- with the Governing Board to address gap funding requirements.
- <li>
- As described in <a href="#govtransp">clause 3.1.3.e</a>,
- the Governing Board will publish a public version of the budget.
- Questions on the budget should be addressed to the Governing Board.
-</ol>
-
-<h2 id="expenses">General &amp; Administrative Expenses</h2>
-<ol>
- <li>
- The Linux Foundation shall have custody of and final authority
- over the usage of any fees, funds and other cash receipts.
- <li>
- A General &amp; Administrative (G&amp;A) fee
- will be applied by the Linux Foundation
- to funds raised to cover Finance, Accounting, and operations.
- The G&amp;A fee shall equal 9% of DPDK's first $1,000,000 of gross receipts
- and 6% of DPDK's gross receipts over $1,000,000.
- <li>
- Under no circumstances shall The Linux Foundation be expected or required
- to undertake any action on behalf of DPDK that is inconsistent
- with the tax exempt purpose of The Linux Foundation.
-</ol>
-
-<h2 id="antitrust">Antitrust Guidelines</h2>
-<ol>
- <li>
- All members shall abide by
- <a href="http://www.linuxfoundation.org/antitrust-policy"
- >The Linux Foundation Antitrust Policy</a>.
- <li>
- All members shall encourage open participation
- from any organization able to meet the membership requirements,
- regardless of competitive interests.
- Put another way, the Governing Board shall not seek to exclude any member
- based on any criteria, requirements or reasons other than those that
- are reasonable and applied on a non-discriminatory basis to all members.
-</ol>
-
-<h2 id="coc">Code of Conduct</h2>
-<ol>
- <li>
- The Governing Board may adopt a specific Project code of conduct,
- with approval from the LF.
- <li>
- All participants in LF Project events shall abide by
- <a href="http://events.linuxfoundation.org/EVENT-CODE-OF-CONDUCT"
- >The Linux Foundation Events Code of Conduct</a>.
-</ol>
-
-<h2 id="genrules">General Rules and Operations</h2>
-<p>
- The DPDK project shall be conducted so as to:
-<ol>
- <li>
- Engage in the work of the project in a professional manner
- consistent with maintaining a cohesive community,
- while also maintaining the goodwill and esteem
- of The Linux Foundation in the open source software community;
- <li>
- Respect the rights of all trademark owners,
- including any branding and usage guidelines;
- <li>
- Engage The Linux Foundation for
- all DPDK press and analyst relations activities;
- <li>
- Upon request, provide information regarding project participation,
- including information regarding attendance at project-sponsored events,
- to The Linux Foundation;
- <li>
- Coordinate with The Linux Foundation in relation to
- any websites created directly for DPDK; and
- <li>
- Operate under such rules and procedures
- as may from time to time be approved by the Governing Board
- and confirmed by The Linux Foundation.
-</ol>
-
-<h2 id="amendments">Amendments</h2>
-<p>
- This charter may be amended by a two-thirds vote of
- the entire Governing Board,
- subject to approval by The Linux Foundation.
- Proposed changes must be communicated publicly
- to the community prior to being approved by the Governing Board.
-
-</section>
-<footer></footer>
diff --git a/about/ecosystem.html b/about/ecosystem.html
deleted file mode 100644
index 8015f09..0000000
--- a/about/ecosystem.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK ecosystem</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about" id="current">About</a></li>
- </ul>
- </nav>
-</header>
-<section id="ecosystem">
- <h2>Ecosystem</h2>
- <p>While funding <a href="/about#members">members</a>
- are an important part of the ecosystem,
- OS distributions, software projects and universities
- participate in DPDK evolution.
-
- <h3 id="packaging">Distributions Packaging DPDK</h3>
- <ul class="logos">
- <li><img src="/logos/clearlinux.png" alt="Clear Linux">
- <li><img src="/logos/debian.png" alt="Debian">
- <li><img src="/logos/mirantis.png" alt="Mirantis">
- <li><img src="/logos/redhat.png" alt="RHEL">
- <li><img src="/logos/fedora.png" alt="Fedora">
- <li><img src="/logos/suse.png" alt="SUSE">
- <li><img src="/logos/ubuntu.png" alt="Ubuntu">
- <li><img src="/logos/freebsd.png" alt="FreeBSD">
- </ul>
-
- <h3 id="projects">Open Source Projects Leveraging DPDK</h3>
- <ul class="logos">
- <li><a href="https://github.com/opendp/dpdk-ans">ANS</a>
- <li><a href="http://span.cs.berkeley.edu/bess.html">BESS</a>
- <li><a href="https://github.com/outscale/butterfly">Butterfly</a>
- <li><a href="https://github.com/iqiyi/dpvs"><img src="/logos/dpvs.png" alt="DPVS"></a>
- <li><a href="https://fd.io"><img src="/logos/fdio.png" alt="fd.io"></a>
- <li><a href="http://lagopus.org"><img src="/logos/lagopus.png" alt="Lagopus"></a>
- <li><a href="http://scholzd.github.io/MoonGen">MoonGen</a>
- <li><a href="https://github.com/eunyoung14/mtcp">mTCP</a>
- <li><a href="https://opnfv.org"><img src="/logos/opnfv.png" alt="OPNFV"></a>
- <li><a href="http://openvswitch.org"><img src="/logos/ovs.png" alt="OVS"></a>
- <li><a href="https://github.com/Gandi/packet-journey">Packet-journey</a>
- <li><a href="http://pktgen.readthedocs.io">Pktgen-dpdk</a>
- <li><a href="https://github.com/REANNZ/ruru">Ruru</a>
- <li><a href="http://seastar-project.org"><img src="/logos/scylla.png" alt="ScyllaDB/Seastar"></a>
- <li><a href="http://spdk.io">SPDK</a>
- <li><a href="https://trex-tgn.cisco.com"><img src="/logos/trex.png" alt="TRex"></a>
- <li><a href="http://warp17.net"><img src="/logos/warp17.png" alt="WARP17"></a>
- <li><a href="https://github.com/intel-go/yanff">YANFF</a>
- </ul>
-
- <h3 id="associate">Associate Members</h3>
- <ul class="logos">
- <li><img src="/logos/elte.png" alt="Eötvös Loránd University">
- <li><img src="/logos/kaist.png" alt="Korea Advanced Institute of Science and Technology" class="heavy">
- <li><img src="/logos/univlimerick.png" alt="University of Limerick">
- <li><img src="/logos/umass.png" alt="University of Massachusetts Lowell">
- <li><img src="/logos/tsinghua.png" alt="Tsinghua University">
- </ul>
-
-</section>
-<footer></footer>
diff --git a/about/techboard.html b/about/techboard.html
deleted file mode 100644
index abf3e07..0000000
--- a/about/techboard.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK Technical Board</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a>
- <li><a href="/download">Download</a>
- <li><a href="/doc">Documentation</a>
- <li><a href="/dev">Development</a>
- <li><a href="/ml">Mailing Lists</a>
- <li><a href="/events">Events</a>
- <li><a href="/news">News</a>
- <li><a href="/about" id="current">About</a>
- </ul>
- </nav>
-</header>
-<section>
-<h2>Technical Board</h2>
-
-<p>More high level details are defined in the <a href="/about/charter">charter</a>.
-
-<h3 id="scope">Scope</h3>
-<p>The decision making process is primarily based on consensus.
-However in rare cases, the Technical Board can make a decision
-when consensus is not reached on the mailing list.
-<p>The scope of this body is limited to the questions directly related
-to the development in the following repositories:
-<ul>
- <li>dpdk.git
- <li>dpdk-stable.git
- <li>dpdk-next-*.git
- <li>dpdk-ci.git
- <li>dpdk-web.git
-</ul>
-
-<h3 id="members">Members</h3>
-<p>The 8 current members of
-<a href="mailto:techboard@dpdk.org">techboard@dpdk.org</a> are:
-<ul>
- <li>Bruce Richardson
- <li>Ferruh Yigit
- <li>Hemant Agrawal
- <li>Jerin Jacob
- <li>Konstantin Ananyev
- <li>Olivier Matz
- <li>Stephen Hemminger
- <li>Thomas Monjalon
-</ul>
-
-<h3 id="renewal">Renewal</h3>
-<p>Technical Board positions are held by individuals, not companies.
-However, employees of a single company should not occupy more than 40% of board seats.
-<p>It can be decided to remove a member if there is an approval of 2/3 of the whole Technical Board.
-It can be decided either to replace the member, or to redefine the size of the board.
-<p>There will be some renewal when it will be felt as needed.
-
-<h3 id="meetings">Meetings</h3>
-<p>A short meeting happens on IRC (freenode #dpdk-board) every two weeks.
-<p>The quorum required for a meeting to proceed is a 70% majority of the Technical Board.
-<p>The Chair is a rotating role among members.
-<p>Any contributor can ask to add a topic
-in the <a href="https://annuel.framapad.org/p/r.0c3cc4d1e011214183872a98f6b5c7db">agenda</a>
-by sending an email
-to <a href="mailto:techboard@dpdk.org">techboard@dpdk.org</a>.
-The board members will add any topic of interest
-in the <a href="https://annuel.framapad.org/p/r.0c3cc4d1e011214183872a98f6b5c7db">agenda</a>.
-<p>Minutes are sent to <a href="/ml/archives/dev/">dev@dpdk.org</a> so anyone can comment.
-However, the technical discussions should happen in the original thread.
-<p>There is a <a href="/dev/techboard-minutes">list of previous meeting minutes</a>.
-
-<h3 id="roles">Roles</h3>
-<ul>
- <li>The new project repositories must be approved by the Technical Board,
- while applying the non-technical criteria defined by
- the <a href="/about/charter#govboard">Governing Board</a>.
- <li>If a patch does not receive any or enough comment, the board may discuss it
- in order to provide an input on the mailing list.
- <li>If there is no consensus in a discussion, a decision can be taken
- by the Technical Board and explained on the mailing list.
-</ul>
-<p>For a vote to be passed, a majority (> 50%) of the total Technical Board is required
-(not just a majority of those in attendance at the meeting).
-In the event of a deadlock the Technical Board Chair shall have the casting vote.
-
-</section>
-<footer></footer>
diff --git a/cgit-footer.html b/cgit-footer.html
deleted file mode 100644
index b661e5e..0000000
--- a/cgit-footer.html
+++ /dev/null
@@ -1 +0,0 @@
-<div class='footer'><a href="//dpdk.org/dev">dpdk.org</a></div>
diff --git a/cgit-head.html b/cgit-head.html
deleted file mode 100644
index 80351d4..0000000
--- a/cgit-head.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
-</script>
diff --git a/cgit.css b/cgit.css
deleted file mode 100644
index d4cad49..0000000
--- a/cgit.css
+++ /dev/null
@@ -1,823 +0,0 @@
-@import url(fonts.css);
-
-div#cgit {
- padding: 0em;
- margin: 0em;
- font-family: sans-serif;
- font-size: 10pt;
- color: #333;
- background: white;
- padding: 4px;
-}
-
-div#cgit a {
- color: blue;
- text-decoration: none;
-}
-
-div#cgit a:hover {
- text-decoration: underline;
-}
-
-div#cgit table {
- border-collapse: collapse;
-}
-
-div#cgit table#header {
- width: 100%;
- margin-bottom: 1em;
-}
-
-div#cgit table#header td.logo {
- width: 96px;
- vertical-align: top;
-}
-
-div#cgit table#header td.main {
- font-family: 'exo2', sans-serif;
- font-style: italic;
- font-weight: 900;
- color: #333;
- font-size: 250%;
- padding-left: 10px;
- white-space: nowrap;
-}
-
-div#cgit table#header td.main a {
- color: #000;
-}
-
-div#cgit table#header td.form {
- text-align: right;
- vertical-align: bottom;
- padding-right: 1em;
- padding-bottom: 2px;
- white-space: nowrap;
-}
-
-div#cgit table#header td.form form,
-div#cgit table#header td.form input,
-div#cgit table#header td.form select {
- font-size: 90%;
-}
-
-div#cgit table#header td.sub {
- color: #777;
- border-top: solid 1px #ccc;
- padding-left: 10px;
-}
-
-div#cgit table#header td.sub.right {
- visibility: hidden;
-}
-
-div#cgit table.tabs {
- border-bottom: solid 3px #ccc;
- border-collapse: collapse;
- margin-top: 2em;
- margin-bottom: 0px;
- width: 100%;
-}
-
-div#cgit table.tabs td {
- padding: 0px 1em;
- vertical-align: bottom;
-}
-
-div#cgit table.tabs td a {
- padding: 2px 0.75em;
- color: #777;
- font-size: 110%;
-}
-
-div#cgit table.tabs td a.active {
- color: #000;
- background-color: #ccc;
-}
-
-div#cgit table.tabs td.form {
- text-align: right;
-}
-
-div#cgit table.tabs td.form form {
- padding-bottom: 2px;
- font-size: 90%;
- white-space: nowrap;
-}
-
-div#cgit table.tabs td.form input,
-div#cgit table.tabs td.form select {
- font-size: 90%;
-}
-
-div#cgit div.path {
- margin: 0px;
- padding: 5px 2em 2px 2em;
- color: #000;
- background-color: #eee;
-}
-
-div#cgit div.content {
- margin: 0px;
- padding: 2em;
- border-bottom: solid 3px #ccc;
-}
-
-
-div#cgit table.list {
- width: 100%;
- border: none;
- border-collapse: collapse;
-}
-
-div#cgit table.list tr {
- background: white;
-}
-
-div#cgit table.list tr.logheader {
- background: #eee;
-}
-
-div#cgit table.list tr:hover {
- background: #eee;
-}
-
-div#cgit table.list tr.nohover:hover {
- background: white;
-}
-
-div#cgit table.list th {
- font-weight: bold;
- /* color: #888;
- border-top: dashed 1px #888;
- border-bottom: dashed 1px #888;
- */
- padding: 0.1em 0.5em 0.05em 0.5em;
- vertical-align: baseline;
-}
-
-div#cgit table.list td {
- border: none;
- padding: 0.1em 0.5em 0.1em 0.5em;
-}
-
-div#cgit table.list td.commitgraph {
- font-family: monospace;
- white-space: pre;
-}
-
-div#cgit table.list td.commitgraph .column1 {
- color: #a00;
-}
-
-div#cgit table.list td.commitgraph .column2 {
- color: #0a0;
-}
-
-div#cgit table.list td.commitgraph .column3 {
- color: #aa0;
-}
-
-div#cgit table.list td.commitgraph .column4 {
- color: #00a;
-}
-
-div#cgit table.list td.commitgraph .column5 {
- color: #a0a;
-}
-
-div#cgit table.list td.commitgraph .column6 {
- color: #0aa;
-}
-
-div#cgit table.list td.logsubject {
- font-family: monospace;
- font-weight: bold;
-}
-
-div#cgit table.list td.logmsg {
- font-family: monospace;
- white-space: pre;
- padding: 0 0.5em;
-}
-
-div#cgit table.list td a {
- color: black;
-}
-
-div#cgit table.list td a.ls-dir {
- font-weight: bold;
- color: #00f;
-}
-
-div#cgit table.list td a:hover {
- color: #00f;
-}
-
-div#cgit img {
- border: none;
-}
-
-div#cgit input#switch-btn {
- margin: 2px 0px 0px 0px;
-}
-
-div#cgit td#sidebar input.txt {
- width: 100%;
- margin: 2px 0px 0px 0px;
-}
-
-div#cgit table#grid {
- margin: 0px;
-}
-
-div#cgit td#content {
- vertical-align: top;
- padding: 1em 2em 1em 1em;
- border: none;
-}
-
-div#cgit div#summary {
- vertical-align: top;
- margin-bottom: 1em;
-}
-
-div#cgit table#downloads {
- float: right;
- border-collapse: collapse;
- border: solid 1px #777;
- margin-left: 0.5em;
- margin-bottom: 0.5em;
-}
-
-div#cgit table#downloads th {
- background-color: #ccc;
-}
-
-div#cgit div#blob {
- border: solid 1px black;
-}
-
-div#cgit div.error {
- color: red;
- font-weight: bold;
- margin: 1em 2em;
-}
-
-div#cgit a.ls-blob, div#cgit a.ls-dir, div#cgit a.ls-mod {
- font-family: monospace;
-}
-
-div#cgit td.ls-size {
- text-align: right;
- font-family: monospace;
- width: 10em;
-}
-
-div#cgit td.ls-mode {
- font-family: monospace;
- width: 10em;
-}
-
-div#cgit table.blob {
- margin-top: 0.5em;
- border-top: solid 1px black;
-}
-
-div#cgit table.blob td.lines {
- margin: 0; padding: 0 0 0 0.5em;
- vertical-align: top;
- color: black;
-}
-
-div#cgit table.blob td.linenumbers {
- margin: 0; padding: 0 0.5em 0 0.5em;
- vertical-align: top;
- text-align: right;
- border-right: 1px solid gray;
-}
-
-div#cgit table.blob pre {
- padding: 0; margin: 0;
-}
-
-div#cgit table.blob a.no, div#cgit table.ssdiff a.no {
- color: gray;
- text-align: right;
- text-decoration: none;
-}
-
-div#cgit table.blob a.no a:hover {
- color: black;
-}
-
-div#cgit table.bin-blob {
- margin-top: 0.5em;
- border: solid 1px black;
-}
-
-div#cgit table.bin-blob th {
- font-family: monospace;
- white-space: pre;
- border: solid 1px #777;
- padding: 0.5em 1em;
-}
-
-div#cgit table.bin-blob td {
- font-family: monospace;
- white-space: pre;
- border-left: solid 1px #777;
- padding: 0em 1em;
-}
-
-div#cgit table.nowrap td {
- white-space: nowrap;
-}
-
-div#cgit table.commit-info {
- border-collapse: collapse;
- margin-top: 1.5em;
-}
-
-div#cgit div.cgit-panel {
- float: right;
- margin-top: 1.5em;
-}
-
-div#cgit div.cgit-panel table {
- border-collapse: collapse;
- border: solid 1px #aaa;
- background-color: #eee;
-}
-
-div#cgit div.cgit-panel th {
- text-align: center;
-}
-
-div#cgit div.cgit-panel td {
- padding: 0.25em 0.5em;
-}
-
-div#cgit div.cgit-panel td.label {
- padding-right: 0.5em;
-}
-
-div#cgit div.cgit-panel td.ctrl {
- padding-left: 0.5em;
-}
-
-div#cgit table.commit-info th {
- text-align: left;
- font-weight: normal;
- padding: 0.1em 1em 0.1em 0.1em;
- vertical-align: top;
-}
-
-div#cgit table.commit-info td {
- font-weight: normal;
- padding: 0.1em 1em 0.1em 0.1em;
-}
-
-div#cgit div.commit-subject {
- font-weight: bold;
- font-size: 125%;
- margin: 1.5em 0em 0.5em 0em;
- padding: 0em;
-}
-
-div#cgit div.commit-msg {
- white-space: pre;
- font-family: monospace;
-}
-
-div#cgit div.notes-header {
- font-weight: bold;
- padding-top: 1.5em;
-}
-
-div#cgit div.notes {
- white-space: pre;
- font-family: monospace;
- border: solid 1px #ee9;
- background-color: #ffd;
- padding: 0.3em 2em 0.3em 1em;
- float: left;
-}
-
-div#cgit div.notes-footer {
- clear: left;
-}
-
-div#cgit div.diffstat-header {
- font-weight: bold;
- padding-top: 1.5em;
-}
-
-div#cgit table.diffstat {
- border-collapse: collapse;
- border: solid 1px #aaa;
- background-color: #eee;
-}
-
-div#cgit table.diffstat th {
- font-weight: normal;
- text-align: left;
- text-decoration: underline;
- padding: 0.1em 1em 0.1em 0.1em;
- font-size: 100%;
-}
-
-div#cgit table.diffstat td {
- padding: 0.2em 0.2em 0.1em 0.1em;
- font-size: 100%;
- border: none;
-}
-
-div#cgit table.diffstat td.mode {
- white-space: nowrap;
-}
-
-div#cgit table.diffstat td span.modechange {
- padding-left: 1em;
- color: red;
-}
-
-div#cgit table.diffstat td.add a {
- color: green;
-}
-
-div#cgit table.diffstat td.del a {
- color: red;
-}
-
-div#cgit table.diffstat td.upd a {
- color: blue;
-}
-
-div#cgit table.diffstat td.graph {
- width: 500px;
- vertical-align: middle;
-}
-
-div#cgit table.diffstat td.graph table {
- border: none;
-}
-
-div#cgit table.diffstat td.graph td {
- padding: 0px;
- border: 0px;
- height: 7pt;
-}
-
-div#cgit table.diffstat td.graph td.add {
- background-color: #5c5;
-}
-
-div#cgit table.diffstat td.graph td.rem {
- background-color: #c55;
-}
-
-div#cgit div.diffstat-summary {
- color: #888;
- padding-top: 0.5em;
-}
-
-div#cgit table.diff {
- width: 100%;
-}
-
-div#cgit table.diff td {
- font-family: monospace;
- white-space: pre;
-}
-
-div#cgit table.diff td div.head {
- font-weight: bold;
- margin-top: 1em;
- color: black;
-}
-
-div#cgit table.diff td div.hunk {
- color: #009;
-}
-
-div#cgit table.diff td div.add {
- color: green;
-}
-
-div#cgit table.diff td div.del {
- color: red;
-}
-
-div#cgit .sha1 {
- font-family: monospace;
- font-size: 90%;
-}
-
-div#cgit .left {
- text-align: left;
-}
-
-div#cgit .right {
- text-align: right;
-}
-
-div#cgit table.list td.reposection {
- font-style: italic;
- color: #888;
-}
-
-div#cgit a.button {
- font-size: 80%;
- padding: 0em 0.5em;
-}
-
-div#cgit a.primary {
- font-size: 100%;
-}
-
-div#cgit a.secondary {
- font-size: 90%;
-}
-
-div#cgit td.toplevel-repo {
-
-}
-
-div#cgit table.list td.sublevel-repo {
- padding-left: 1.5em;
-}
-
-div#cgit div.pager {
- text-align: center;
- margin: 1em 0em 0em 0em;
-}
-
-div#cgit div.pager a {
- color: #777;
- margin: 0em 0.5em;
-}
-
-div#cgit div.pager .current {
- font-weight: bold;
-}
-
-div#cgit span.age-mins {
- font-weight: bold;
- color: #080;
-}
-
-div#cgit span.age-hours {
- color: #080;
-}
-
-div#cgit span.age-days {
- color: #040;
-}
-
-div#cgit span.age-weeks {
- color: #444;
-}
-
-div#cgit span.age-months {
- color: #888;
-}
-
-div#cgit span.age-years {
- color: #bbb;
-}
-div#cgit div.footer {
- margin-top: 0.5em;
- text-align: center;
- font-size: 80%;
- color: #ccc;
-}
-div#cgit div.footer a {
- color: inherit;
-}
-div#cgit a.branch-deco {
- color: #000;
- margin: 0px 0.5em;
- padding: 0px 0.25em;
- background-color: #88ff88;
- border: solid 1px #007700;
-}
-div#cgit a.tag-deco {
- color: #000;
- margin: 0px 0.5em;
- padding: 0px 0.25em;
- background-color: #ffff88;
- border: solid 1px #777700;
-}
-div#cgit a.remote-deco {
- color: #000;
- margin: 0px 0.5em;
- padding: 0px 0.25em;
- background-color: #ccccff;
- border: solid 1px #000077;
-}
-div#cgit a.deco {
- color: #000;
- margin: 0px 0.5em;
- padding: 0px 0.25em;
- background-color: #ff8888;
- border: solid 1px #770000;
-}
-
-div#cgit div.commit-subject a.branch-deco,
-div#cgit div.commit-subject a.tag-deco,
-div#cgit div.commit-subject a.remote-deco,
-div#cgit div.commit-subject a.deco {
- margin-left: 1em;
- font-size: 75%;
-}
-
-div#cgit table.stats {
- border: solid 1px black;
- border-collapse: collapse;
-}
-
-div#cgit table.stats th {
- text-align: left;
- padding: 1px 0.5em;
- background-color: #eee;
- border: solid 1px black;
-}
-
-div#cgit table.stats td {
- text-align: right;
- padding: 1px 0.5em;
- border: solid 1px black;
-}
-
-div#cgit table.stats td.total {
- font-weight: bold;
- text-align: left;
-}
-
-div#cgit table.stats td.sum {
- color: #c00;
- font-weight: bold;
-/* background-color: #eee; */
-}
-
-div#cgit table.stats td.left {
- text-align: left;
-}
-
-div#cgit table.vgraph {
- border-collapse: separate;
- border: solid 1px black;
- height: 200px;
-}
-
-div#cgit table.vgraph th {
- background-color: #eee;
- font-weight: bold;
- border: solid 1px white;
- padding: 1px 0.5em;
-}
-
-div#cgit table.vgraph td {
- vertical-align: bottom;
- padding: 0px 10px;
-}
-
-div#cgit table.vgraph div.bar {
- background-color: #eee;
-}
-
-div#cgit table.hgraph {
- border: solid 1px black;
- width: 800px;
-}
-
-div#cgit table.hgraph th {
- background-color: #eee;
- font-weight: bold;
- border: solid 1px black;
- padding: 1px 0.5em;
-}
-
-div#cgit table.hgraph td {
- vertical-align: middle;
- padding: 2px 2px;
-}
-
-div#cgit table.hgraph div.bar {
- background-color: #eee;
- height: 1em;
-}
-
-div#cgit table.ssdiff {
- width: 100%;
-}
-
-div#cgit table.ssdiff td {
- font-size: 75%;
- font-family: monospace;
- white-space: pre;
- padding: 1px 4px 1px 4px;
- border-left: solid 1px #aaa;
- border-right: solid 1px #aaa;
-}
-
-div#cgit table.ssdiff td.add {
- color: black;
- background: #cfc;
- min-width: 50%;
-}
-
-div#cgit table.ssdiff td.add_dark {
- color: black;
- background: #aca;
- min-width: 50%;
-}
-
-div#cgit table.ssdiff span.add {
- background: #cfc;
- font-weight: bold;
-}
-
-div#cgit table.ssdiff td.del {
- color: black;
- background: #fcc;
- min-width: 50%;
-}
-
-div#cgit table.ssdiff td.del_dark {
- color: black;
- background: #caa;
- min-width: 50%;
-}
-
-div#cgit table.ssdiff span.del {
- background: #fcc;
- font-weight: bold;
-}
-
-div#cgit table.ssdiff td.changed {
- color: black;
- background: #ffc;
- min-width: 50%;
-}
-
-div#cgit table.ssdiff td.changed_dark {
- color: black;
- background: #cca;
- min-width: 50%;
-}
-
-div#cgit table.ssdiff td.lineno {
- color: black;
- background: #eee;
- text-align: right;
- width: 3em;
- min-width: 3em;
-}
-
-div#cgit table.ssdiff td.hunk {
- color: black;
- background: #ccf;
- border-top: solid 1px #aaa;
- border-bottom: solid 1px #aaa;
-}
-
-div#cgit table.ssdiff td.head {
- border-top: solid 1px #aaa;
- border-bottom: solid 1px #aaa;
-}
-
-div#cgit table.ssdiff td.head div.head {
- font-weight: bold;
- color: black;
-}
-
-div#cgit table.ssdiff td.foot {
- border-top: solid 1px #aaa;
- border-left: none;
- border-right: none;
- border-bottom: none;
-}
-
-div#cgit table.ssdiff td.space {
- border: none;
-}
-
-div#cgit table.ssdiff td.space div {
- min-height: 3em;
-}
-
-/* Syntax highlighting */
-div#cgit table.blob .num { color:#2928ff; }
-div#cgit table.blob .esc { color:#ff00ff; }
-div#cgit table.blob .str { color:#ff0000; }
-div#cgit table.blob .dstr { color:#818100; }
-div#cgit table.blob .slc { color:#838183; font-style:italic; }
-div#cgit table.blob .com { color:#838183; font-style:italic; }
-div#cgit table.blob .dir { color:#008200; }
-div#cgit table.blob .sym { color:#000000; }
-div#cgit table.blob .kwa { color:#000000; font-weight:bold; }
-div#cgit table.blob .kwb { color:#830000; }
-div#cgit table.blob .kwc { color:#000000; font-weight:bold; }
-div#cgit table.blob .kwd { color:#010181; }
diff --git a/cgit.png b/cgit.png
deleted file mode 100644
index fa8a6be..0000000
--- a/cgit.png
+++ /dev/null
Binary files differ
diff --git a/config.toml b/config.toml
new file mode 100644
index 0000000..2b94816
--- /dev/null
+++ b/config.toml
@@ -0,0 +1,47 @@
+title = "DPDK"
+baseURL = "//core.dpdk.org"
+
+languageCode = "en-us"
+
+theme = "docdock"
+
+[params]
+themeStyle = "flex"
+themeVariant = "gray"
+showVisitedLinks = true
+disableNavChevron = true
+disableSearch = true
+
+[outputs]
+home = [ "HTML", "RSS", "JSON"]
+
+[[menu.shortcuts]]
+name = "<label>About</label>"
+url = "https://www.dpdk.org/about"
+weight = 1
+
+[[menu.shortcuts]]
+name = "<label>DPDK Core</label>"
+url = "https://core.dpdk.org"
+weight = 2
+
+[[menu.shortcuts]]
+name = "<label>News & Events</label>"
+url = "https://www.dpdk.org/news"
+weight = 3
+
+[[menu.shortcuts]]
+name = "<label>Ecosystem</label>"
+url = "https://www.dpdk.org/ecosystem"
+weight = 4
+
+[[menu.shortcuts]]
+name = "<label>Contribute</label>"
+identifier = "contribute"
+url = "https://www.dpdk.org/contribute"
+weight = 5
+
+[[menu.shortcuts]]
+name = "<label>Hosted Projects</label>"
+url = "https://www.dpdk.org/hosted-projects"
+weight = 6
diff --git a/content-doxygen.css b/content-doxygen.css
deleted file mode 100644
index fc1a0b5..0000000
--- a/content-doxygen.css
+++ /dev/null
@@ -1,32 +0,0 @@
-section {
- font-size: 14px;
- line-height: 19px;
- padding: 0 0 1em 0;
-}
-
-section .version {
- float: right;
- padding-right: 20px;
- font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
- font-size: 13px;
- font-weight: bold;
- line-height: 36px;
- color: #283A5D;
- text-shadow: 0px 1px 1px rgba(255,255,255,0.9);
- outline-color: rgb(40, 58, 93);
-}
-
-section p {
- margin-top: 1em;
-}
-section p:first-child {
- margin-top: 0;
-}
-
-section ul {
- margin-left: 3em;
-}
-
-section td {
- vertical-align: top;
-}
diff --git a/content.css b/content.css
deleted file mode 100644
index fea7dcc..0000000
--- a/content.css
+++ /dev/null
@@ -1,288 +0,0 @@
-section {
- line-height: 1.3em;
-}
-
-section h1 {
- margin: 0;
- text-align: center;
- font: italic bold 2em 'exo2', sans-serif;
-}
-
-section h2 {
- margin: 1.5em 0 0.7em 0;
- font: bold 2em 'exo2', sans-serif;
-}
-section h2:first-child {
- margin-top: 0;
-}
-section h2 em,
-section h3 em {
- color: #782a90;
- font-weight: inherit;
- font-style: inherit;
-}
-
-section h3 {
- margin: 1em 0 0.7em 0;
- font: bold 1.4em 'exo2', sans-serif;
-}
-
-section h4 {
- margin: 1em 0 0.7em 0;
- font: bold 1.2em 'exo2', sans-serif;
-}
-
-section strong {
- font-weight: bolder;
-}
-
-section p,
-section pre {
- margin-top: 1em;
-}
-section ul,
-section ol,
-section pre {
- margin-left: 1em;
-}
-@media (min-width: 700px) {
-section ul,
-section ol,
-section pre {
- margin-left: 3em;
-}}
-
-section#home p:first-child {
- margin: 1em 15% 0 15%;
- font-style: italic;
-}
-
-section#news ul {
- list-style-type: none;
- margin: 0;
-}
-section#news li {
- margin: 1em 0 0 0;
-}
-section#news li em:first-child {
- display: block;
-}
-
-section#event ul {
- clear: left;
- list-style: none;
- margin-left: 0;
-}
-section#event li {
- margin: 3em 0 1em 0;
-}
-section#event li > em {
- display: inline-block;
- margin-top: 1em;
-}
-section#event li > a {
- float: right;
- margin: 0.5em 0 0 2em;
- vertical-align: top;
- text-align: center;
- text-decoration: none;
-}
-section#event li > a::after {
- content: attr(class);
-}
-section#event li > a:hover::after {
- text-decoration: underline;
-}
-section#event li > a .material-icons {
- display: block;
- font-size: 2em;
-}
-section#event li > a.Slides .material-icons::before {
- content: "insert_drive_file";
-}
-section#event li > a.Video .material-icons::before {
- content: "play_circle_outline";
-}
-section#event > img.venue {
- float: left;
- margin: 0 2em 2em 0;
-}
-section#event > img.room {
- margin: 1em 0;
-}
-
-section pre {
- padding-left: 1em;
- border-left: solid 0.3em #782A90;
-}
-section span.pre {
- font: 1.2em monospace;
-}
-section#rel pre {
- margin: 0;
- padding: 0;
- border: none;
-}
-
-section a {
- color: #ef4e22;
- font-weight: 600;
-}
-section a:hover {
- text-decoration: underline;
-}
-
-section#roadmap table {
- width: 100%;
-}
-section#roadmap th,
-section#roadmap td {
- padding: 0 1em 0.8em 0;
-}
-section#roadmap tr:hover td {
- background-color: #faf8ff;
-}
-
-section#ml th,
-section#ml td {
- padding: 0 0 1em 3em;
-}
-section#ml th {
- text-align: right;
-}
-
-section#rel th,
-section#rel td {
- padding: 6px 40px;
-}
-section#rel td:nth-child(2) {
- font-size: 85%;
-}
-section#rel tr:hover td {
- background-color: #faf8ff;
-}
-
-section .button {
- display: inline-block;
- background-color: rgba(0, 35, 60, 0.07);
- text-align: center;
- padding: 1em 0;
- box-shadow: inset 2px 2px 2px rgba(0,0,0,0.3);
- border-radius: 0.7em 0.7em 0.7em 0.7em;
- color : #00233b;
-}
-section .button .material-icons {
- display: block;
- font-size: 4em;
-}
-section .button:hover {
- text-decoration: none;
- color: #fff;
- background-color: #ef4e22;
- -webkit-transition: background-color .08s linear;
- -moz-transition: background-color .08s linear;
- -o-transition: background-color .08s linear;
- transition: background-color .08s linear;
-}
-section#download .button {
- width: 18%;
-}
-section#download .button + .button {
- margin-left: 9.3%;
-}
-section#rel .button {
- width: 26%;
-}
-section#rel .button + .button {
- margin-left: 11%;
-}
-section#events .button {
- padding: 1em 3em;
- margin: 0 3em;
-}
-
-section .logos {
- margin: 0;
- list-style: none;
-}
-section .logos li {
- display: inline-block;
- margin: 17px 37px;
-}
-section .logos img {
- max-width: 180px;
- max-height: 70px;
-}
-section .logos img.heavy {
- max-height: 40px;
-}
-section .logos.gold img {
- max-width: 180px;
- max-height: 70px;
-}
-section .logos.gold img.heavy {
- max-height: 40px;
-}
-section .logos.silver img {
- max-width: 120px;
- max-height: 40px;
-}
-section .logos.silver img.heavy {
- max-height: 30px;
-}
-
-section#charter h1 {
- counter-reset: h2;
-}
-section#charter h2 {
- counter-reset: h3;
-}
-section#charter h3 {
- counter-reset: h4;
-}
-section#charter h2:before {
- counter-increment: h2;
- content: counter(h2) ". ";
-}
-section#charter h3:before {
- counter-increment: h3;
- content: counter(h2) "." counter(h3) ". ";
-}
-section#charter h4:before {
- counter-increment: h4;
- content: counter(h2) "." counter(h3) "." counter(h4) ". ";
-}
-@media (min-width: 700px) {
-section#charter > p,
-section#charter > ol {
- padding: 0 3em 0 2em;
-}}
-section#charter p,
-section#charter ol {
- text-align: justify;
- text-justify: inter-word;
-}
-section#charter ol {
- list-style-type: lower-latin;
-}
-section#charter ol ol {
- list-style-type: lower-roman;
-}
-section#charter ol ol ol {
- list-style-type: lower-decimal;
-}
-section#charter li {
- margin-top: 0.6em;
-}
-section#charter em {
- font-style: inherit;
- font-weight: bold;
- text-decoration: underline;
-}
-
-section hr {
- margin: 2em 0 1em 0;
- border: 0;
- height: 1px;
- background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
-}
diff --git a/content/_footer.md b/content/_footer.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/content/_footer.md
diff --git a/content/_header.md b/content/_header.md
new file mode 100644
index 0000000..72a09c1
--- /dev/null
+++ b/content/_header.md
@@ -0,0 +1 @@
+<a href="//www.dpdk.org" rel="DPDK">![DPDK logo](/img/dpdk.png)</a>
diff --git a/content/_index.md b/content/_index.md
new file mode 100644
index 0000000..d26e2c7
--- /dev/null
+++ b/content/_index.md
@@ -0,0 +1,29 @@
++++
+identifier = "home"
+weight="1"
++++
+
+<p style="text-align:right; color:grey;">
+the [old website](//old.dpdk.org) is still available
+
+<section class="main-hero">
+<h2>DPDK is a set of libraries and drivers for fast packet processing</h2>
+<p class="tagline">
+DPDK is the Data Plane Development Kit
+that consists of libraries to accelerate packet processing workloads
+running on a wide variety of CPU architectures.
+</p>
+</section>
+
+#### Features:
+---
+- Designed to run on any processor
+- Runs mostly in Linux userland
+- DPDK is an Open Source BSD licensed project
+
+<center>{{< button href="/download" >}} Download Now {{< /button >}}
+</center>
+
+##### Architecture
+----
+
diff --git a/content/contribute/_index.md b/content/contribute/_index.md
new file mode 100644
index 0000000..418fd85
--- /dev/null
+++ b/content/contribute/_index.md
@@ -0,0 +1,165 @@
++++
+title = "Contribute"
+weight = "4"
++++
+
+Anyone is welcome to contribute.
+
+The collaboration is based on [git](//git.dpdk.org)
+and [emails](//mails.dpdk.org/archives/dev).
+Coming patches are listed in [patchwork](https://patches.dpdk.org).
+
+Planned features are listed in the [roadmap](/roadmap/)
+and integrated during a [cycle started by a merge window](/roadmap/#cycle).
+
+Bugs are open in [bugzilla](https://bugs.dpdk.org/buglist.cgi?bug_status=__open__&product=DPDK).
+
+## Licenses {#licenses}
+---
+
+Main code is BSD licensed and Linux kernel related parts are naturally licensed under the GPL.
+
+## Get source code {#clone}
+---
+
+Read-only access:
+```
+git clone git://dpdk.org/dpdk
+```
+
+Or if git is blocked in your network:
+```
+git clone http://dpdk.org/git/dpdk
+```
+
+The source code can be [browsed online](//git.dpdk.org/dpdk/tree/).
+
+Focus is on next version in git *HEAD*. There is no maintenance of previous versions.
+
+## Contribute by sending patches {#send}
+---
+
+{{% alert theme="info" %}}Following lines are a snippet of [contribution guidelines](//doc.dpdk.org/guides/contributing/patches.html).{{% /alert %}}
+
+Patches should be sent and reviewed via the [mailing list](//mails.dpdk.org/archives/dev).
+Be sure [to be registered](//mails.dpdk.org/listinfo/dev).
+
+To prepare a patch, it must be saved with
+[git commit](http://www.kernel.org/pub/software/scm/git/docs/git-commit.html).
+
+The title will be clearly visible in the
+[git repository](//git.dpdk.org/dpdk/log)
+and in the [email archives](//mails.dpdk.org/archives/dev).
+So it is important to make it short and clear for quick reading and searches.
+Prefixes like *"mk:"*, *"mem:"* or *"pci:"* make it easy to read.\
+The email title must begin with *[PATCH]* to distinguish it among discussions.
+
+There must be details in the commit log, explaining what was the problem and how it is fixed.\
+When fixing a regression, it is a good idea to reference the id of
+the commit which introduced the bug (see fixline alias below).
+
+Before sending a patch, be sure that there is no licensing issue.
+The commit log must have a *Signed-off-by* line (*--signoff* option).
+It certifies that you wrote it and/or have the right to send it.\
+For a longer explanation, see the
+[Developer Certificate of Origin](http://developercertificate.org).
+
+The patch must be sent with
+[git send-email](http://www.kernel.org/pub/software/scm/git/docs/git-send-email.html).
+It is automatically or manually prepared in the right format by
+[git format-patch](http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html).
+Typical usage is:
+```
+git send-email -1 --to dev@dpdk.org
+```
+
+If a previous version of the patch has already been sent,
+a version number and changelog annotations are helpful:
+```
+git send-email -1 -v2 --annotate --in-reply-to <Message-ID of the previous patch>
+--to dev@dpdk.org --cc <everybody discussing the patch>
+```
+
+Annotations take place after the 3 dashes and should explicit
+what has changed since the previous version.
+
+The Message-ID can be found in the email header of the previous patch or in its
+[patchwork page](//patches.dpdk.org/patch/14470).
+
+In the case of a bug reported on the mailing list, the patch should be a reply to the bug report.
+
+An updated patchset should be a reply to the previous cover letter.
+
+When sending several patches in a series, a cover letter may explain the global idea:
+```
+git send-email -3 --to dev@dpdk.org --cover-letter --annotate
+```
+
+Shallow threading (*--thread --no-chain-reply-to*) is preferred for patch series.
+It should be git's default.
+
+If a patch is for a [stable release](//doc.dpdk.org/guides/contributing/stable.html)
+rather than for mainline, please send only to stable@dpdk.org and indicate the target branch
+using *--subject-prefix*:
+```
+git send-email -1 --to stable@dpdk.org --subject-prefix='PATCH 17.11'
+```
+
+Example of configuration in *~/.gitconfig*:
+```
+[sendemail]
+ suppressfrom = true
+ chainreplyto = false
+ confirm = always
+ envelopesender = auto
+ smtpuser = name@domain.com
+ smtpserver = smtp.domain.com
+ smtpserverport = 465
+ smtpencryption = ssl
+[alias]
+ fixline = log -1 --abbrev=12 --format='Fixes: %h (\"%s\")%nCc: %ae'
+```
+
+## Contribute by testing or reviewing patches {#review}
+---
+
+Patches are applied in the git repository when it becomes clear that
+they are well written and do the right things.\
+Test reports and reviews help a lot in the process.
+Such contributions are marked with flags
+*Tested-by*, *Reviewed-by* or *Acked-by*.
+
+## Status of patches {#patchwork}
+---
+
+Once sent to the mailing list, patches are automatically registered
+in [patchwork](//patches.dpdk.org) with status *"New"*.
+So they are visible in the default view (filter *"Action Required"*).
+
+Access to management of his own patches is granted
+after [registration](https://patches.dpdk.org/register).
+The status may be manually updated to *"RFC"*,
+*"Changes Requested"*, *"Superseded"* or *"Rejected"*.
+After sending a new version of a patch, developers should set
+the previous patch as *"Superseded"*.
+When a patch is applied, it is set to *"Accepted"*.
+
+Patchwork can also help to download patches individually or bundled.
+
+Most of the patchwork actions can be done
+with a [pwclient](//patches.dpdk.org/project/dpdk/) command line.
+
+## Contribute by finding or fixing bugs {#bugzilla}
+---
+
+There is a [bug tracker](https://bugs.dpdk.org) where
+anybody can notify a bug to the community, and follow the resolution.
+
+A notification is sent to dev@dpdk.org for every new bug.
+The fixes must be sent and discussed on the mailing list.
+
+## Technical Board {#board}
+---
+
+The Technical Board may intermediate in the development process,
+as described in the [Technical Board operation](/techboard/).
diff --git a/content/doc/_index.md b/content/doc/_index.md
new file mode 100644
index 0000000..d226409
--- /dev/null
+++ b/content/doc/_index.md
@@ -0,0 +1,24 @@
++++
+title = "Documentation"
+weight = "5"
++++
+
+{{% notice info %}}
+For a first try, you should follow the [quick start instructions](/doc/quick-start).
+{{% /notice %}}
+
+### Quick Links to Latest Documentation
+----
+<center>
+ {{< button href="//doc.dpdk.org/guides/rel_notes/" >}} Release Notes {{< /button >}}
+ {{< button href="//doc.dpdk.org/guides/linux_gsg/" >}} Linux User Guide {{< /button >}}
+ {{< button href="//doc.dpdk.org/guides/prog_guide/" >}} Programmer's Guide {{< /button >}}
+ {{< button href="//doc.dpdk.org/api/" >}} API Documentation {{< /button >}}
+
+ ***Documentation is also available in [PDF format](//fast.dpdk.org/doc/pdf-guides/)***.
+</center>
+
+### Other
+----
+- See the [list of supported NICs](/supported), which includes PCI NICs and paravirtualized NICs.
+- [Documentation for previous versions](/doc/archives/)
diff --git a/content/doc/archives/_index.md b/content/doc/archives/_index.md
new file mode 100644
index 0000000..9205225
--- /dev/null
+++ b/content/doc/archives/_index.md
@@ -0,0 +1,73 @@
++++
+title = "Archives"
++++
+
+- DPDK 18.05
+| [HTML API](//doc.dpdk.org/api-18.05/)
+| [HTML guides](//doc.dpdk.org/guides-18.05/)
+| [PDF guides](//fast.dpdk.org/doc/pdf-guides-18.05/)
+
+- DPDK 18.02
+| [HTML API](//doc.dpdk.org/api-18.02/)
+| [HTML guides](//doc.dpdk.org/guides-18.02/)
+| [PDF guides](//fast.dpdk.org/doc/pdf-guides-18.02/)
+
+- DPDK 17.11
+| [HTML API](//doc.dpdk.org/api-17.11/)
+| [HTML guides](//doc.dpdk.org/guides-17.11/)
+| [PDF guides](//fast.dpdk.org/doc/pdf-guides-17.11/)
+
+- DPDK 17.08
+| [HTML API](//doc.dpdk.org/api-17.08/)
+| [HTML guides](//doc.dpdk.org/guides-17.08/)
+| [PDF guides](//fast.dpdk.org/doc/pdf-guides-17.08/)
+
+- DPDK 17.05
+| [HTML API](//doc.dpdk.org/api-17.05/)
+| [HTML guides](//doc.dpdk.org/guides-17.05/)
+| [PDF guides](//fast.dpdk.org/doc/pdf-guides-17.05/)
+
+- DPDK 17.02
+| [HTML API](//doc.dpdk.org/api-17.02/)
+| [HTML guides](//doc.dpdk.org/guides-17.02/)
+| [PDF guides](//fast.dpdk.org/doc/pdf-guides-17.02/)
+
+- DPDK 16.11
+| [HTML API](//doc.dpdk.org/api-16.11/)
+| [HTML guides](//doc.dpdk.org/guides-16.11/)
+| [PDF guides](//fast.dpdk.org/doc/pdf-guides-16.11/)
+
+- DPDK 16.07
+| [HTML API](//doc.dpdk.org/api-16.07/)
+| [HTML guides](//doc.dpdk.org/guides-16.07/)
+| [PDF guides](//fast.dpdk.org/doc/pdf-guides-16.07/)
+
+- DPDK 16.04
+| [HTML API](//doc.dpdk.org/api-16.04/)
+| [HTML guides](//doc.dpdk.org/guides-16.04/)
+| [PDF guides](//fast.dpdk.org/doc/pdf-guides-16.04/)
+
+- DPDK 2.2
+| [HTML API](//doc.dpdk.org/api-2.2/)
+| [HTML guides](//doc.dpdk.org/guides-2.2/)
+| [PDF guides](//fast.dpdk.org/doc/pdf-guides-2.2/)
+
+- DPDK 2.1
+| [HTML API](//doc.dpdk.org/api-2.1/)
+| [HTML guides](//doc.dpdk.org/guides-2.1/)
+| [PDF guides](//fast.dpdk.org/doc/pdf-guides-2.1/)
+
+- DPDK 2.0
+| [HTML API](//doc.dpdk.org/api-2.0/)
+| [HTML guides](//doc.dpdk.org/guides-2.0/)
+| [PDF guides](//fast.dpdk.org/doc/pdf-guides-2.0/)
+
+- DPDK 1.8
+| [HTML API](//doc.dpdk.org/api-1.8/)
+| [HTML guides](//doc.dpdk.org/guides-1.8/)
+
+- DPDK 1.7
+| [HTML API](//doc.dpdk.org/api-1.7/)
+
+- DPDK 1.6
+| [HTML API](//doc.dpdk.org/api-1.6/)
diff --git a/content/doc/quick-start.md b/content/doc/quick-start.md
new file mode 100644
index 0000000..fdffa98
--- /dev/null
+++ b/content/doc/quick-start.md
@@ -0,0 +1,77 @@
++++
+title = "Quick Start Guide"
++++
+
+{{% alert theme="info" %}}<center>A simple forwarding test with pcap PMD which works with any NIC (with performance penalties)</center>{{% /alert %}}
+
+Extract sources
+
+```
+ tar xf dpdk.tar.gz
+ cd dpdk
+```
+
+Enable pcap (libpcap headers are required).
+
+```
+ make config T=x86_64-native-linuxapp-gcc
+ sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config
+```
+
+Build libraries and test application (Linux headers may be needed with default config).
+
+```
+ make
+```
+
+Reserve huge pages memory.
+
+```
+ mkdir -p /mnt/huge
+ mount -t hugetlbfs nodev /mnt/huge
+ echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
+```
+
+Run poll-mode driver test (with a cable between ports).
+
+```
+ build/app/testpmd -c7 -n3 --vdev=net_pcap0,iface=eth0 --vdev=net_pcap1,iface=eth1 --
+ -i --nb-cores=2 --nb-ports=2 --total-num-mbufs=2048
+
+ testpmd> show port stats all
+
+ ######################## NIC statistics for port 0 ########################
+ RX-packets: 0 RX-errors: 0 RX-bytes: 0
+ TX-packets: 0 TX-errors: 0 TX-bytes: 0
+ ############################################################################
+
+ ######################## NIC statistics for port 1 ########################
+ RX-packets: 0 RX-errors: 0 RX-bytes: 0
+ TX-packets: 0 TX-errors: 0 TX-bytes: 0
+ ############################################################################
+
+ testpmd> start tx_first
+
+ testpmd> stop
+
+ ---------------------- Forward statistics for port 0 ----------------------
+ RX-packets: 2377688 RX-dropped: 0 RX-total: 2377688
+ TX-packets: 2007009 TX-dropped: 0 TX-total: 2007009
+ ----------------------------------------------------------------------------
+
+ ---------------------- Forward statistics for port 1 ----------------------
+ RX-packets: 2006977 RX-dropped: 0 RX-total: 2006977
+ TX-packets: 2377720 TX-dropped: 0 TX-total: 2377720
+ ----------------------------------------------------------------------------
+
+ +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
+ RX-packets: 4384665 RX-dropped: 0 RX-total: 4384665
+ TX-packets: 4384729 TX-dropped: 0 TX-total: 4384729
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+```
+
+Some sample applications can be tested after building them.
+
+```
+ make -C examples RTE_SDK=$(pwd) RTE_TARGET=build O=$(pwd)/build/examples
+```
diff --git a/content/download/_index.md b/content/download/_index.md
new file mode 100644
index 0000000..7fde2b9
--- /dev/null
+++ b/content/download/_index.md
@@ -0,0 +1,45 @@
++++
+title = "Download"
+weight = "2"
++++
+
+<section class="download-container">
+<div class="dwnld-btn-group">
+<a class="dwnld-btn" href="https://fast.dpdk.org/rel/dpdk-18.05.tar.xz">
+ {{< icon name="glyphicon glyphicon-download-alt" size="large" >}}
+ Latest Major\
+ 18.05
+</a>
+<a class="dwnld-btn" href="https://fast.dpdk.org/rel/dpdk-18.02.2.tar.xz">
+ {{< icon name="glyphicon glyphicon-download-alt" size="large" >}}
+ Latest Stable\
+ 18.02.2
+</a>
+<a class="dwnld-btn" href="/roadmap">
+ {{< icon name="glyphicon glyphicon-calendar" size="large" >}}
+ Roadmap
+</a>
+</div>
+</section>
+\
+
+| file | date/changelog | md5 |
+|---------------------------------------------------------------------|-----------------------------------------------------------------------------------|----------------------------------|
+| [DPDK 18.05](//fast.dpdk.org/rel/dpdk-18.05.tar.xz) | [2018 May 30](//doc.dpdk.org/guides-18.05/rel_notes/release_18_05.html) | 9fc86367cd9407ff6a8dfea56c4eddc4 |
+| [DPDK 18.02.2](//fast.dpdk.org/rel/dpdk-18.02.2.tar.xz) | [2018 June 15](//doc.dpdk.org/guides-18.02/rel_notes/release_18_02.html) | 75ad6d39b513649744e49c9fcbbb9ca5 |
+| [DPDK 17.11.3 (LTS)](//fast.dpdk.org/rel/dpdk-17.11.3.tar.xz) | [2018 June 15](//doc.dpdk.org/guides-17.11/rel_notes/release_17_11.html) | 68ca84ac878011acf44e75d33b46f55b |
+| [DPDK 17.08.2](//fast.dpdk.org/rel/dpdk-17.08.2.tar.xz) | [2018 April 23](//doc.dpdk.org/guides-17.08/rel_notes/release_17_08.html) | dd239a878c8c40cf482fdfe438f8d99c |
+| [DPDK 17.05.2](//fast.dpdk.org/rel/dpdk-17.05.2.tar.xz) | [2017 September 7](//doc.dpdk.org/guides-17.05/rel_notes/release_17_05.html) | 37afc9ce410d8e6945a1beb173074003 |
+| [DPDK 17.02.1](//fast.dpdk.org/rel/dpdk-17.02.1.tar.xz) | [2017 June 2](//doc.dpdk.org/guides-17.02/rel_notes/release_17_02.html) | cbdf8b7a92ce934d47c38cbc9c20c54a |
+| [DPDK 16.11.7 (LTS)](//fast.dpdk.org/rel/dpdk-16.11.7.tar.xz) | [2018 June 14](//doc.dpdk.org/guides-16.11/rel_notes/release_16_11.html) | c081d113dfd57633e3bc3ebc802691be |
+| [DPDK 16.07.2](//fast.dpdk.org/rel/dpdk-16.07.2.tar.xz) | [2016 November 30](//doc.dpdk.org/guides-16.07/rel_notes/release_16_07.html) | 4922ea2ec935b64ff5c191fec53344a6 |
+| [DPDK 16.04](//fast.dpdk.org/rel/dpdk-16.04.tar.xz) | [2016 April 12](//doc.dpdk.org/guides/rel_notes/release_16_04.html) | d1f82e7d7589b3b2f623c155442b8306 |
+| [DPDK 2.2](//fast.dpdk.org/rel/dpdk-2.2.0.tar.xz) | [2015 December 15](//doc.dpdk.org/guides/rel_notes/release_2_2.html) | bfa10283b49d56264c82519d130458cc |
+| [DPDK 2.1](//fast.dpdk.org/rel/dpdk-2.1.0.tar.xz) | [2015 August 17](//doc.dpdk.org/guides/rel_notes/release_2_1.html) | a0d69f78f360e03dbdf38ae93fad32d4 |
+| [DPDK 2.0](//fast.dpdk.org/rel/dpdk-2.0.0.tar.xz) | [2015 April 3](//doc.dpdk.org/guides/rel_notes/release_2_0.html) | 44bf2ffd39e8370d4dee8907699f964a |
+| [DPDK 1.8](//fast.dpdk.org/rel/dpdk-1.8.0.tar.xz) | [2014 December 3](//doc.dpdk.org/guides/rel_notes/release_1_8.html) | 14f26ca9e1c9f72f0d7abda83cbf8127 |
+
+### More Downloads
+
+* [All Releases](//fast.dpdk.org/rel)
+* [Archives from Git](//git.dpdk.org/dpdk-stable/refs)
diff --git a/content/perf-reports/_index.md b/content/perf-reports/_index.md
new file mode 100644
index 0000000..8dc9f0d
--- /dev/null
+++ b/content/perf-reports/_index.md
@@ -0,0 +1,41 @@
++++
+title = "Performance Reports"
+weight = "7"
++++
+
+- [DPDK 18.02 Intel NIC Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_18_02_Intel_NIC_performance_report.pdf)
+- [DPDK 18.02 Intel Vhost/Virtio Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_18_02_Intel_virtio_performance_report.pdf)
+- [DPDK 18.02 Intel Crypto Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_18_02_Intel_crypto_performance_report.pdf)
+- [DPDK 18.02 Mellanox NIC Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_18_02_Mellanox_NIC_performance_report.pdf)
+- [DPDK 17.11 Intel NIC Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_11_Intel_NIC_performance_report.pdf)
+- [DPDK 17.11 Intel Vhost/Virtio Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_11_Intel_virtio_performance_report.pdf)
+- [DPDK 17.11 Intel Crypto Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_11_Intel_crypto_performance_report.pdf)
+- [DPDK 17.11 Mellanox NIC Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_11_Mellanox_NIC_performance_report.pdf)
+- [DPDK 17.08 Intel NIC Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_08_Intel_NIC_performance_report.pdf)
+- [DPDK 17.08 Intel Vhost/Virtio Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_08_Intel_virtio_performance_report.pdf)
+- [DPDK 17.05 Intel NIC Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_05_Intel_NIC_performance_report.pdf)
+- [DPDK 17.05 Intel Vhost/Virtio Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_05_Intel_virtio_performance_report.pdf)
+- [DPDK 17.05 Mellanox NIC Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_05_Mellanox_NIC_performance_report.pdf)
+- [DPDK 17.05 Netcope NIC Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_05_Netcope_NIC_performance_report.pdf)
+- [DPDK 17.02 Intel NIC Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_02_Intel_NIC_performance_report.pdf)
+- [DPDK 17.02 Intel Vhost/Virtio Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_02_Intel_virtio_performance_report.pdf)
+- [DPDK 17.02 Mellanox NIC Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_17_02_Mellanox_NIC_performance_report.pdf)
+- [DPDK 16.11 Intel NIC Performance Report]
+ (//fast.dpdk.org/doc/perf/DPDK_16_11_Intel_NIC_performance_report.pdf)
diff --git a/content/roadmap/_index.md b/content/roadmap/_index.md
new file mode 100644
index 0000000..bf8e82a
--- /dev/null
+++ b/content/roadmap/_index.md
@@ -0,0 +1,112 @@
++++
+title = "Roadmap"
+weight = "3"
++++
+
+{{% notice info %}}
+Major known features and milestones may be noted here.
+This list is obviously neither complete nor guaranteed.
+{{% /notice %}}
+
+### Version 18.08 (2018 August) {#1808}
+----
+- new device specification (devargs) syntax
+- power management: turbo core thread pinning
+- power management: traffic pattern aware power control
+- power management: 100% busy traffic polling
+- add MPLS to rte_flow encapsulation API
+- add metadata matching in rte_flow API
+- mlx5: add representors (including for BlueField SmartNIC)
+- mlx5: support rte_flow port and VLAN actions
+- mlx5: support VXLAN and MPLS encapsulations
+- mlx4: support TSO offload for ConnectX-3 Pro
+- mlx: support 32-bit compilation
+- complete support of new descriptor status API for Intel PMDs
+- failure handler for PCIE hardware hotplug
+- virtual device hotplug
+- virtio IN_ORDER support
+- vhost/virtio: packed ring layout support
+- vhost: unified enqueue path
+- vhost: buffer vectors generalization
+- vhost-user extension to improve vDPA
+- tap TSO
+- tap and failsafe support in multi-process
+- SoftNIC restructuring to use Packet Framework
+- SoftNIC support for NAT
+- eventdev ordered and atomic queues for DPAA2
+- 3DES support in AESNI_MB PMD
+- ISAL Compression PMD enhancements
+- Intel QuickAssist Technology Compression PMD
+- unified packet fragmentation API
+- libedit integration
+- noisy VNF forward mode in testpmd
+
+### Nice to have - Future {#future}
+----
+- multi-process rework
+- automatic UIO/VFIO binding
+- infiniband driver class (ibdev)
+- default configuration from files
+- generic white/blacklisting
+
+### Cycle model {#cycle}
+----
+A typical release should be done after 3 months.
+
+It is designed to allow DPDK to keep evolving at a rapid pace while
+giving enough opportunity to review, discuss and improve the contributions.
+
+The merge window will open once the previous release is complete.
+First version of a new feature must be submitted before the proposal deadline.
+Features that miss this first period will be deferred until the next release.
+
+Updated versions of patches (v2, v3, etc.) will be submitted to address comments.
+The new features must be properly reviewed, tested and accepted before the
+integration deadline. Otherwise, they will be postponed to the next releases.
+
+At the end of the merge window, the first release candidate is out.
+
+The last period is 1 month long and is dedicated to bug fixing.
+
+### Scheduling {#dates}
+----
+
+#### 18.08
+
+- Proposal deadline: June 8, 2018
+- Integration deadline: June 29, 2018
+- Release: August 1, 2018
+
+#### 18.11 (LTS)
+
+- Proposal deadline: September 7, 2018
+- Integration deadline: October 5, 2018
+- Release: November 2, 2018
+
+### Stable Releases {#stable}
+----
+There is a documentation page describing the
+[guidelines of the stable releases](//doc.dpdk.org/guides/contributing/stable.html).
+
+Stable point releases follow mainline releases.
+
+After each -rc tag and after the final version, relevant bug fixes get
+backported by the stable maintainers into the respective branches in "bursts".
+
+Developers can provide stable-specific patches by sending them
+to stable@dpdk.org only (avoiding dev@dpdk.org).
+
+After all the relevant bugfixes have been backported,
+regression tests are ran, and if clear, the stable release is announced.
+
+Typically a new stable release version follows a mainline release
+by 1-2 weeks, depending on the test results.
+
+| Next version | Date | End of life | Maintainer |
+|---|---|---|---|
+| 16.11.8 | August 14, 2018 | November 2018 (LTS) | Luca Boccassi |
+| 17.11.3 | June 15, 2018 | November 2019 (LTS) | Yuanhan Liu |
+| 18.02.2 | June 15, 2018 | June 2018 | Luca Boccassi |
+| 18.05.1 | August 24, 2018 | August 2018 | Christian Ehrhardt |
+| 18.08.1 | November 16, 2018 | November 2018 | Looking for volunteer |
+| 18.11.1 | January 11, 2019 | November 2020 (LTS) | Kevin Traynor |
diff --git a/content/supported/NICs/amazon.md b/content/supported/NICs/amazon.md
new file mode 100644
index 0000000..231d2d2
--- /dev/null
+++ b/content/supported/NICs/amazon.md
@@ -0,0 +1,9 @@
++++
+title = "Amazon"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "1"
++++
+
+- [ena (Elastic Network Adapter)](http://doc.dpdk.org/guides/nics/ena.html)
diff --git a/content/supported/NICs/atomicrules.md b/content/supported/NICs/atomicrules.md
new file mode 100644
index 0000000..858fd13
--- /dev/null
+++ b/content/supported/NICs/atomicrules.md
@@ -0,0 +1,9 @@
++++
+title = "Atomic Rules"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "2"
++++
+
+- [ark](http://doc.dpdk.org/guides/nics/ark.html) (Arkville Packet Conduit FX0/FX1)
diff --git a/content/supported/NICs/broadcom.md b/content/supported/NICs/broadcom.md
new file mode 100644
index 0000000..ab50dd7
--- /dev/null
+++ b/content/supported/NICs/broadcom.md
@@ -0,0 +1,9 @@
++++
+title = "Broadcom"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "3"
++++
+
+- [bnxt](http://doc.dpdk.org/guides/nics/bnxt.html) (NetXtreme-C, NetXtreme-E, StrataGX)
diff --git a/content/supported/NICs/cavium.md b/content/supported/NICs/cavium.md
new file mode 100644
index 0000000..0af603c
--- /dev/null
+++ b/content/supported/NICs/cavium.md
@@ -0,0 +1,13 @@
++++
+title = "Cavium"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "4"
++++
+
+- [thunderx](http://doc.dpdk.org/guides/nics/thunderx.html) (CN88XX)
+- [octeontx](http://doc.dpdk.org/guides/nics/octeontx.html) (CN83XX, CN82XX, CN81XX, CN80XX)
+- [liquidio](http://doc.dpdk.org/guides/nics/liquidio.html) (LiquidIO II CN23XX)
+- [bnx2x](http://doc.dpdk.org/guides/nics/bnx2x.html) (QLogic 578xx)
+- [qede](http://doc.dpdk.org/guides/nics/qede.html) (QLogic FastLinQ QL4xxxx)
diff --git a/content/supported/NICs/chelsio.md b/content/supported/NICs/chelsio.md
new file mode 100644
index 0000000..897e210
--- /dev/null
+++ b/content/supported/NICs/chelsio.md
@@ -0,0 +1,9 @@
++++
+title = "Chelsio"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "5"
++++
+
+- [cxgbe](http://doc.dpdk.org/guides/nics/cxgbe.html) (Terminator 5, Terminator 6)
diff --git a/content/supported/NICs/cisco.md b/content/supported/NICs/cisco.md
new file mode 100644
index 0000000..fb905bb
--- /dev/null
+++ b/content/supported/NICs/cisco.md
@@ -0,0 +1,9 @@
++++
+title = "Cisco"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "6"
++++
+
+- [enic](http://doc.dpdk.org/guides/nics/enic.html) (UCS Virtual Interface Card)
diff --git a/content/supported/NICs/intel.md b/content/supported/NICs/intel.md
new file mode 100644
index 0000000..2981458
--- /dev/null
+++ b/content/supported/NICs/intel.md
@@ -0,0 +1,18 @@
++++
+title = "Intel"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "7"
++++
+
+- [e1000](http://doc.dpdk.org/guides/nics/e1000em.html) (82540, 82545, 82546)
+- [e1000e](http://git.dpdk.org/dpdk/tree/drivers/net/e1000/) (82571, 82572, 82573, 82574, 82583, ICH8, ICH9, ICH10, PCH, PCH2, I217, I218, I219)
+- [igb](http://doc.dpdk.org/guides/nics/igb.html) (82575, 82576, 82580, I210, I211, I350, I354, DH89xx)
+- [ixgbe](http://doc.dpdk.org/guides/nics/ixgbe.html) (82598, 82599, X520, X540, X550)
+- [i40e](http://doc.dpdk.org/guides/nics/i40e.html) (X710, XL710, X722, XXV710)
+- [fm10k](http://doc.dpdk.org/guides/nics/fm10k.html) (FM10420)
+
+{{% notice note %}}
+Note: The drivers e1000 and e1000e are also called em. The drivers em and igb are sometimes grouped in e1000 family.
+{{% /notice %}}
diff --git a/content/supported/NICs/marvell.md b/content/supported/NICs/marvell.md
new file mode 100644
index 0000000..28c2dd4
--- /dev/null
+++ b/content/supported/NICs/marvell.md
@@ -0,0 +1,9 @@
++++
+title = "Marvell"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "8"
++++
+
+- [mvpp2](http://doc.dpdk.org/guides/nics/mvpp2.html) (Marvell Packet Processor v2)
diff --git a/content/supported/NICs/mellanox.md b/content/supported/NICs/mellanox.md
new file mode 100644
index 0000000..84b5e62
--- /dev/null
+++ b/content/supported/NICs/mellanox.md
@@ -0,0 +1,10 @@
++++
+title = "Mellanox"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "9"
++++
+
+- [mlx4](http://doc.dpdk.org/guides/nics/mlx4.html) (ConnectX-3, ConnectX-3 Pro)
+- [mlx5](http://doc.dpdk.org/guides/nics/mlx5.html) (ConnectX-4, ConnectX-4 Lx, ConnectX-5, Bluefield)
diff --git a/content/supported/NICs/netcope.md b/content/supported/NICs/netcope.md
new file mode 100644
index 0000000..0be618c
--- /dev/null
+++ b/content/supported/NICs/netcope.md
@@ -0,0 +1,9 @@
++++
+title = "Netcope"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "10"
++++
+
+- [szedata2](http://doc.dpdk.org/guides/nics/szedata2.html) (NFB-*, NPC-*, NSF-*)
diff --git a/content/supported/NICs/netronome.md b/content/supported/NICs/netronome.md
new file mode 100644
index 0000000..15cb9cf
--- /dev/null
+++ b/content/supported/NICs/netronome.md
@@ -0,0 +1,9 @@
++++
+title = "Netronome"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "11"
++++
+
+- [nfp](http://doc.dpdk.org/guides/nics/nfp.html) (NFP-4xxx, NFP-6xxx)
diff --git a/content/supported/NICs/nxp.md b/content/supported/NICs/nxp.md
new file mode 100644
index 0000000..922e112
--- /dev/null
+++ b/content/supported/NICs/nxp.md
@@ -0,0 +1,10 @@
++++
+title = "NXP"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "12"
++++
+
+- [dpaa](http://doc.dpdk.org/guides/nics/dpaa.html) (LS102x, LS1043, LS1046)
+- [dpaa2](http://doc.dpdk.org/guides/nics/dpaa2.html) (LS1048, LS108x, LS20xx, LX216x)
diff --git a/content/supported/NICs/solarflare.md b/content/supported/NICs/solarflare.md
new file mode 100644
index 0000000..ca2acae
--- /dev/null
+++ b/content/supported/NICs/solarflare.md
@@ -0,0 +1,9 @@
++++
+title = "Solarflare"
+categories = ["NICs"]
+hidden = true
+type = "nic"
+weight = "13"
++++
+
+- [sfc_efx](http://doc.dpdk.org/guides/nics/sfc_efx.html) (SFN7xxx, SFN8xxx, XtremeScale X2)
diff --git a/content/supported/_index.md b/content/supported/_index.md
new file mode 100644
index 0000000..f45ee9e
--- /dev/null
+++ b/content/supported/_index.md
@@ -0,0 +1,13 @@
++++
+title = "Supported Hardware"
+weight = "6"
++++
+
+## NICs
+
+{{% notice info %}}
+Features supported by the drivers can be checked in the
+[networking drivers matrix](http://doc.dpdk.org/guides/nics/overview.html#id1).
+{{% /notice %}}
+
+{{% children style="card" page="NICs" depth="3" showhidden="true" sort="weight" description="true" %}}
diff --git a/content/supported/others.md b/content/supported/others.md
new file mode 100644
index 0000000..9347efb
--- /dev/null
+++ b/content/supported/others.md
@@ -0,0 +1,10 @@
++++
+title = "Software Devices"
+weight = "15"
+hidden = "true"
++++
+
+- [af_packet](http://git.dpdk.org/dpdk/tree/drivers/net/af_packet) (Linux AF_PACKET socket)
+- [tap/tun](http://doc.dpdk.org/guides/nics/tap.html) (kernel L2/L3)
+- [pcap](http://doc.dpdk.org/guides/nics/pcap_ring.html#libpcap-based-pmd) (file or kernel driver)
+- [ring](http://doc.dpdk.org/guides/nics/pcap_ring.html#rings-based-pmd) (memory)
diff --git a/content/supported/paravirtualization.md b/content/supported/paravirtualization.md
new file mode 100644
index 0000000..21f0e06
--- /dev/null
+++ b/content/supported/paravirtualization.md
@@ -0,0 +1,9 @@
++++
+title = "Paravirtualization"
+weight = "14"
+hidden = "true"
++++
+
+- [avp](http://doc.dpdk.org/guides/nics/avp.html) (Wind River Accelerated Virtual Port)
+- [virtio-net](http://doc.dpdk.org/guides/nics/virtio.html) (QEMU)
+- [vmxnet3](http://doc.dpdk.org/guides/nics/vmxnet3.html) (VMware ESXi)
diff --git a/content/techboard/_index.md b/content/techboard/_index.md
new file mode 100644
index 0000000..46c48e4
--- /dev/null
+++ b/content/techboard/_index.md
@@ -0,0 +1,81 @@
++++
+title = "Technical Board"
+weight = "9"
++++
+
+More high level details are defined in the [charter](//www.dpdk.org/charter/).
+
+### Scope
+
+The decision making process is primarily based on consensus.
+However in rare cases, the Technical Board can make a decision
+when consensus is not reached on the mailing list.
+
+The scope of this body is limited to the questions directly related
+to the development in the following repositories:
+
+* dpdk.git
+* dpdk-stable.git
+* dpdk-next-*.git
+* dpdk-ci.git
+* dpdk-web.git
+
+### Members
+
+The 8 current members of
+[techboard@dpdk.org](mailto:techboard@dpdk.org) are:
+
+* Bruce Richardson
+* Ferruh Yigit
+* Hemant Agrawal
+* Jerin Jacob
+* Konstantin Ananyev
+* Olivier Matz
+* Stephen Hemminger
+* Thomas Monjalon
+
+### Renewal
+
+Technical Board positions are held by individuals, not companies.
+However, employees of a single company should not occupy more than 40% of board seats.
+
+It can be decided to remove a member if there is an approval of 2/3 of the whole Technical Board.
+It can be decided either to replace the member, or to redefine the size of the board.
+
+There will be some renewal when it will be felt as needed.
+
+### Meetings
+
+A short meeting happens on IRC (freenode #dpdk-board) every two weeks.
+
+The quorum required for a meeting to proceed is a 70% majority of the Technical Board.
+
+The Chair is a rotating role among members.
+
+Any contributor can ask to add a topic
+in the [agenda](https://annuel.framapad.org/p/r.0c3cc4d1e011214183872a98f6b5c7db)
+by sending an email
+to [techboard@dpdk.org](mailto:techboard@dpdk.org).
+The board members will add any topic of interest
+in the [agenda](https://annuel.framapad.org/p/r.0c3cc4d1e011214183872a98f6b5c7db).
+
+Minutes are sent to [dev@dpdk.org](//mails.dpdk.org/archives/dev/) so anyone can comment.
+However, the technical discussions should happen in the original thread.
+
+There is a [list of previous meeting minutes](/techboard/minutes).
+
+### Roles
+
+- The new project repositories must be approved by the Technical Board,
+while applying the non-technical criteria defined by
+the [Governing Board](//www.dpdk.org/charter/#govboard).
+
+- If a patch does not receive any or enough comment, the board may discuss it
+in order to provide an input on the mailing list.
+
+- If there is no consensus in a discussion, a decision can be taken
+by the Technical Board and explained on the mailing list.
+
+For a vote to be passed, a majority (> 50%) of the total Technical Board is required
+(not just a majority of those in attendance at the meeting).
+In the event of a deadlock the Technical Board Chair shall have the casting vote.
diff --git a/content/techboard/minutes.md b/content/techboard/minutes.md
new file mode 100644
index 0000000..8e0e66a
--- /dev/null
+++ b/content/techboard/minutes.md
@@ -0,0 +1,45 @@
++++
+title = "Minutes"
++++
+
+## Technical Board Meetings
+
+### Agenda
+
+The [agenda of the next meeting](https://annuel.framapad.org/p/r.0c3cc4d1e011214183872a98f6b5c7db)
+is updated when a request is done
+to [techboard@dpdk.org](mailto:techboard@dpdk.org).
+
+### Minutes
+
+The [Technical Board](/techboard/)
+sends minutes of its meetings on the mailing list.
+They are listed below.
+
+* [2018-05-22](//mails.dpdk.org/archives/dev/2018-June/103471.html)
+* [2018-05-09](//mails.dpdk.org/archives/dev/2018-May/103113.html)
+* [2018-04-11](//mails.dpdk.org/archives/dev/2018-April/098198.html)
+* [2018-03-28](//mails.dpdk.org/archives/dev/2018-April/096415.html)
+* [2018-03-14](//mails.dpdk.org/archives/dev/2018-March/093793.html)
+* [2018-02-28](//mails.dpdk.org/archives/dev/2018-March/093792.html)
+* [2018-02-14](//mails.dpdk.org/archives/dev/2018-February/091274.html)
+* [2018-01-31](//mails.dpdk.org/archives/dev/2018-February/090698.html)
+* [2018-01-17](//mails.dpdk.org/archives/dev/2018-January/088523.html)
+* [2017-12-20](//mails.dpdk.org/archives/dev/2018-January/087054.html)
+* [2017-12-06](//mails.dpdk.org/archives/dev/2017-December/083700.html)
+* [2017-11-22](//mails.dpdk.org/archives/dev/2017-November/082639.html)
+* [2017-10-26](//mails.dpdk.org/archives/dev/2017-November/081360.html)
+* [2017-10-13](//mails.dpdk.org/archives/dev/2017-October/079961.html)
+* [2017-09-15](//mails.dpdk.org/archives/dev/2017-September/076208.html)
+* [2017-08-30](//mails.dpdk.org/archives/dev/2017-September/074613.html)
+* [2017-08-09](//mails.dpdk.org/archives/dev/2017-August/073643.html)
+* [2017-07-05](//mails.dpdk.org/archives/dev/2017-July/070779.html)
+* [2017-06-21](//mails.dpdk.org/archives/dev/2017-June/068615.html)
+* [2017-06-07](//mails.dpdk.org/archives/dev/2017-June/068450.html)
+* [2017-05-18](//mails.dpdk.org/archives/dev/2017-June/067407.html)
+* [2017-04-27](//mails.dpdk.org/archives/dev/2017-May/065185.html)
+* [2017-04-10](//mails.dpdk.org/archives/dev/2017-April/063924.html)
+* [2017-03-20](//mails.dpdk.org/archives/dev/2017-March/061009.html)
+* [2017-03-02](//mails.dpdk.org/archives/dev/2017-March/059599.html)
+* [2017-02-15](//mails.dpdk.org/archives/dev/2017-February/057779.html)
+* [2017-01-25](//mails.dpdk.org/archives/dev/2017-January/056363.html)
diff --git a/content/training/_index.md b/content/training/_index.md
new file mode 100644
index 0000000..cf2fef1
--- /dev/null
+++ b/content/training/_index.md
@@ -0,0 +1,13 @@
++++
+title = "Training"
+weight = "10"
++++
+
+### Resources available online:
+
+- [DPDK Summits Presentations](//old.dpdk.org/events#past)
+- [Intel Network Drivers University](https://builders.intel.com/university/networkbuilders/coursescategory/dpdk) *(Registration is free, but required)*
+
+----
+
+For instructor-led training services, please refer to the [companies list](//www.dpdk.org/ecosystem/#support).
diff --git a/dev.html b/dev.html
deleted file mode 100644
index 12bcb17..0000000
--- a/dev.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK dev</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a>
- <li><a href="/download">Download</a>
- <li><a href="/doc">Documentation</a>
- <li><a href="/dev" id="current">Development</a>
- <li><a href="/ml">Mailing Lists</a>
- <li><a href="/events">Events</a>
- <li><a href="/news">News</a>
- <li><a href="/about">About</a>
- </ul>
- </nav>
-</header>
-<section>
- <h2>Development</h2>
- <p>Anyone is welcome to contribute.
- <p>The collaboration is based on <a href="/browse/">git</a>
- and <a href="/ml/archives/dev">emails</a>.
- Coming patches are listed in <a href="https://dpdk.org/dev/patchwork">patchwork</a>.
- <p>Planned features are listed in the <a href="/dev/roadmap">roadmap</a>
- and integrated during a <a href="/dev/roadmap#cycle">cycle started by a merge window</a>.
- <p>Bugs are open in <a
- href="https://dpdk.org/tracker/buglist.cgi?bug_status=__open__&product=DPDK">bugzilla</a>.
-
- <h3 id="licenses">Licenses</h3>
- <p>Main code is BSD licensed and Linux kernel related parts are naturally licensed under the GPL.
-
- <h3 id="clone">Get source code</h3>
- <p>Read-only access:
- <pre>git clone git://dpdk.org/dpdk</pre>
- <p>Or if git is blocked in your network:
- <pre>git clone http://dpdk.org/git/dpdk</pre>
- <p>The source code can be <a href="/browse/dpdk/tree/">browsed online</a>.
- <p>Focus is on next version in git <em>HEAD</em>. There is no maintenance of previous versions.
-
- <h3 id="send">Contribute by sending patches</h3>
- <p><strong>Following lines are a snippet of
- <a href="/doc/guides/contributing/patches.html">contribution guidelines</a>.</strong>
-
- <p>Patches should be sent and reviewed via the <a href="/ml/archives/dev">mailing list</a>.
- Be sure <a href="/ml/listinfo/dev">to be registered</a>.
- <p>To prepare a patch, it must be saved with
- <a href="http://www.kernel.org/pub/software/scm/git/docs/git-commit.html">git commit</a>.
- <p>The title will be clearly visible in the
- <a href="/browse/dpdk/log">git repository</a>
- and in the <a href="/ml/archives/dev">email archives</a>.
- So it is important to make it short and clear for quick reading and searches.
- Prefixes like <em>"mk:"</em>, <em>"mem:"</em> or <em>"pci:"</em> make it easy to read.<br>
- The email title must begin with <em>[PATCH]</em> to distinguish it among discussions.
- <p>There must be details in the commit log, explaining what was the problem and how it is fixed.<br>
- When fixing a regression, it is a good idea to reference the id of
- the commit which introduced the bug (see fixline alias below).
- <p>Before sending a patch, be sure that there is no licensing issue.
- The commit log must have a <em>Signed-off-by</em> line (<em>--signoff</em> option).
- It certifies that you wrote it and/or have the right to send it.<br>
- For a longer explanation, see the
- <a href="http://developercertificate.org">Developer Certificate of Origin</a>.
- <p>The patch must be sent with
- <a href="http://www.kernel.org/pub/software/scm/git/docs/git-send-email.html">git send-email</a>.
- It is automatically or manually prepared in the right format by
- <a href="http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html">git format-patch</a>.
- Typical usage is:
- <pre>git send-email -1 --to dev@dpdk.org</pre>
- <p>If a previous version of the patch has already been sent,
- a version number and changelog annotations are helpful:
- <pre>git send-email -1 -v2 --annotate --in-reply-to &lt;Message-ID of the previous patch&gt;
---to dev@dpdk.org --cc &lt;everybody discussing the patch&gt;</pre>
- <p>Annotations take place after the 3 dashes and should explicit
- what has changed since the previous version.
- <p>The Message-ID can be found in the email header of the previous patch or in its
- <a href="/patch/14470">patchwork page</a>.
- <p>In the case of a bug reported on the mailing list, the patch should be a reply to the bug report.
- <p>An updated patchset should be a reply to the previous cover letter.
- <p>When sending several patches in a series, a cover letter may explain the global idea:
- <pre>git send-email -3 --to dev@dpdk.org --cover-letter --annotate</pre>
- <p>Shallow threading (<em>--thread --no-chain-reply-to</em>) is preferred for patch series.
- It should be git's default.
- <p>If a patch is for a <a href="/doc/guides/contributing/stable.html">stable release</a>
- rather than for mainline, please send only to stable@dpdk.org and indicate the target branch
- using <em>--subject-prefix</em>:
- <pre>git send-email -1 --to stable@dpdk.org --subject-prefix='PATCH 17.11'</pre>
- <p>Example of configuration in <em>~/.gitconfig</em>:
- <pre>[sendemail]
- suppressfrom = true
- chainreplyto = false
- confirm = always
- envelopesender = auto
- smtpuser = name@domain.com
- smtpserver = smtp.domain.com
- smtpserverport = 465
- smtpencryption = ssl
-[alias]
- fixline = log -1 --abbrev=12 --format='Fixes: %h (\"%s\")%nCc: %ae'</pre>
-
- <h3 id="review">Contribute by testing or reviewing patches</h3>
- <p>Patches are applied in the git repository when it becomes clear that
- they are well written and do the right things.<br>
- Test reports and reviews help a lot in the process.
- Such contributions are marked with flags
- <em>Tested-by</em>, <em>Reviewed-by</em> or <em>Acked-by</em>.
-
- <h3 id="patchwork">Status of patches</h3>
- <p>Once sent to the mailing list, patches are automatically registered
- in <a href="/dev/patchwork">patchwork</a> with status <em>"New"</em>.
- So they are visible in the default view (filter <em>"Action Required"</em>).
- <p>Access to management of his own patches is granted
- after <a href="https://dpdk.org/dev/patchwork/register">registration</a>.
- The status may be manually updated to <em>"RFC"</em>,
- <em>"Changes Requested"</em>, <em>"Superseded"</em> or <em>"Rejected"</em>.
- After sending a new version of a patch, developers should set
- the previous patch as <em>"Superseded"</em>.
- When a patch is applied, it is set to <em>"Accepted"</em>.
- <p>Patchwork can also help to download patches individually or bundled.
- <p>Most of the patchwork actions can be done
- with a <a href="/dev/patchwork/help/pwclient/">pwclient</a> command line.
-
- <h3 id="bugzilla">Contribute by finding or fixing bugs</h3>
- <p>There is a <a href="https://dpdk.org/tracker/">bug tracker</a> where
- anybody can notify a bug to the community, and follow the resolution.
- <p>A notification is sent to dev@dpdk.org for every new bug.
- The fixes must be sent and discussed on the mailing list.
-
- <h3 id="board">Technical Board</h3>
- <p>The Technical Board may intermediate in the development process,
- as described in the <a href="/about/techboard">Technical Board operation</a>.
-
-</section>
-<footer></footer>
diff --git a/dev/roadmap.html b/dev/roadmap.html
deleted file mode 100644
index 5334420..0000000
--- a/dev/roadmap.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK roadmap</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a>
- <li><a href="/download">Download</a>
- <li><a href="/doc">Documentation</a>
- <li><a href="/dev" id="current">Development</a>
- <li><a href="/ml">Mailing Lists</a>
- <li><a href="/events">Events</a>
- <li><a href="/news">News</a>
- <li><a href="/about">About</a>
- </ul>
- </nav>
-</header>
-<section id="roadmap">
- <h2>Development roadmap</h2>
- <p>Major known features and milestones may be noted here.
- This list is obviously neither complete nor guaranteed.
- <h3 id="1808">Version 18.08 (2018 August)</h3>
- <ul>
- <li>new device specification (devargs) syntax
- <li>power management: turbo core thread pinning
- <li>power management: traffic pattern aware power control
- <li>power management: 100% busy traffic polling
- <li>add MPLS to rte_flow encapsulation API
- <li>add metadata matching in rte_flow API
- <li>mlx5: add representors (including for BlueField SmartNIC)
- <li>mlx5: support rte_flow port and VLAN actions
- <li>mlx5: support VXLAN and MPLS encapsulations
- <li>mlx4: support TSO offload for ConnectX-3 Pro
- <li>mlx: support 32-bit compilation
- <li>complete support of new descriptor status API for Intel PMDs
- <li>failure handler for PCIE hardware hotplug
- <li>virtual device hotplug
- <li>virtio IN_ORDER support
- <li>vhost/virtio: packed ring layout support
- <li>vhost: unified enqueue path
- <li>vhost: buffer vectors generalization
- <li>vhost-user extension to improve vDPA
- <li>tap TSO
- <li>tap and failsafe support in multi-process
- <li>SoftNIC restructuring to use Packet Framework
- <li>SoftNIC support for NAT
- <li>eventdev ordered and atomic queues for DPAA2
- <li>3DES support in AESNI_MB PMD
- <li>ISAL Compression PMD enhancements
- <li>Intel QuickAssist Technology Compression PMD
- <li>unified packet fragmentation API
- <li>libedit integration
- <li>noisy VNF forward mode in testpmd
- </ul>
- <h3 id="future">Nice to have - Future</h3>
- <ul>
- <li>multi-process rework
- <li>automatic UIO/VFIO binding
- <li>infiniband driver class (ibdev)
- <li>default configuration from files
- <li>generic white/blacklisting
- </ul>
- <h3 id="cycle">Cycle model</h3>
- <p>A typical release should be done after 3 months.
- <p>It is designed to allow DPDK to keep evolving at a rapid pace while
- giving enough opportunity to review, discuss and improve the contributions.
- <p>The merge window will open once the previous release is complete.
- First version of a new feature must be submitted before the proposal deadline.
- Features that miss this first period will be deferred until the next release.
- <p>Updated versions of patches (v2, v3, etc.) will be submitted to address comments.
- The new features must be properly reviewed, tested and accepted before the
- integration deadline. Otherwise, they will be postponed to the next releases.
- <p>At the end of the merge window, the first release candidate is out.
- <p>The last period is 1 month long and is dedicated to bug fixing.
- <h3 id="dates">Scheduling</h3>
- <p>18.08
- <ul>
- <li>Proposal deadline: June 8, 2018
- <li>Integration deadline: June 29, 2018
- <li>Release: August 1, 2018
- </ul>
- <p>18.11 (LTS)
- <ul>
- <li>Proposal deadline: September 7, 2018
- <li>Integration deadline: October 5, 2018
- <li>Release: November 2, 2018
- </ul>
- <h2 id="stable">Stable releases</h2>
- <p>There is a documentation page describing the
- <a href="/doc/guides/contributing/stable.html">guidelines of the stable releases</a>.
- <p>Stable point releases follow mainline releases.
- <p>After each -rc tag and after the final version, relevant bug fixes get
- backported by the stable maintainers into the respective branches in "bursts".
- <p>Developers can provide stable-specific patches by sending them
- to stable@dpdk.org only (avoiding dev@dpdk.org).
- <p>After all the relevant bugfixes have been backported,
- regression tests are ran, and if clear, the stable release is announced.
- <p>Typically a new stable release version follows a mainline release
- by 1-2 weeks, depending on the test results.
- <hr>
- <div style="overflow-x:auto">
- <table>
- <tr>
- <th>Next version</th>
- <th>Date</th>
- <th>End of life</th>
- <th>Maintainer</th>
- </tr>
- <tr>
- <td>16.11.8</td>
- <td>August 14, 2018</td>
- <td>November 2018 (LTS)</td>
- <td>Luca Boccassi</td>
- </tr>
- <tr>
- <td>17.11.3</td>
- <td>June 15, 2018</td>
- <td>November 2019 (LTS)</td>
- <td>Yuanhan Liu</td>
- </tr>
- <tr>
- <td>18.02.2</td>
- <td>June 15, 2018</td>
- <td>June 2018</td>
- <td>Luca Boccassi</td>
- </tr>
- <tr>
- <td>18.05.1</td>
- <td>August 24, 2018</td>
- <td>August 2018</td>
- <td>Christian Ehrhardt</td>
- </tr>
- <tr>
- <td>18.08.1</td>
- <td>November 16, 2018</td>
- <td>November 2018</td>
- <td>looking for volunteer</td>
- </tr>
- <tr>
- <td>18.11.1</td>
- <td>January 11, 2019</td>
- <td>November 2020 (LTS)</td>
- <td>Kevin Traynor</td>
- </tr>
- </table>
- </div>
-</section>
-<footer></footer>
diff --git a/dev/techboard-minutes.html b/dev/techboard-minutes.html
deleted file mode 100644
index 7f3b8c6..0000000
--- a/dev/techboard-minutes.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK Technical Board Meetings</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a>
- <li><a href="/download">Download</a>
- <li><a href="/doc">Documentation</a>
- <li><a href="/dev" id="current">Development</a>
- <li><a href="/ml">Mailing Lists</a>
- <li><a href="/events">Events</a>
- <li><a href="/news">News</a>
- <li><a href="/about">About</a>
- </ul>
- </nav>
-</header>
-<section>
- <h2>Technical Board Meetings</h2>
-
- <h3>Agenda</h3>
- <p>The <a href="https://annuel.framapad.org/p/r.0c3cc4d1e011214183872a98f6b5c7db">agenda of the next meeting</a>
- is updated when a request is done
- to <a href="mailto:techboard@dpdk.org">techboard@dpdk.org</a>.
-
- <h3>Minutes</h3>
- <p>The <a href="/about/techboard">Technical Board</a>
- sends minutes of its meetings on the mailing list.
- They are listed below.
- <ul>
- <li><a href="/ml/archives/dev/2018-June/103471.html">2018-05-22</a>
- <li><a href="/ml/archives/dev/2018-May/103113.html">2018-05-09</a>
- <li><a href="/ml/archives/dev/2018-April/098198.html">2018-04-11</a>
- <li><a href="/ml/archives/dev/2018-April/096415.html">2018-03-28</a>
- <li><a href="/ml/archives/dev/2018-March/093793.html">2018-03-14</a>
- <li><a href="/ml/archives/dev/2018-March/093792.html">2018-02-28</a>
- <li><a href="/ml/archives/dev/2018-February/091274.html">2018-02-14</a>
- <li><a href="/ml/archives/dev/2018-February/090698.html">2018-01-31</a>
- <li><a href="/ml/archives/dev/2018-January/088523.html">2018-01-17</a>
- <li><a href="/ml/archives/dev/2018-January/087054.html">2017-12-20</a>
- <li><a href="/ml/archives/dev/2017-December/083700.html">2017-12-06</a>
- <li><a href="/ml/archives/dev/2017-November/082639.html">2017-11-22</a>
- <li><a href="/ml/archives/dev/2017-November/081360.html">2017-10-26</a>
- <li><a href="/ml/archives/dev/2017-October/079961.html">2017-10-13</a>
- <li><a href="/ml/archives/dev/2017-September/076208.html">2017-09-15</a>
- <li><a href="/ml/archives/dev/2017-September/074613.html">2017-08-30</a>
- <li><a href="/ml/archives/dev/2017-August/073643.html">2017-08-09</a>
- <li><a href="/ml/archives/dev/2017-July/070779.html">2017-07-05</a>
- <li><a href="/ml/archives/dev/2017-June/068615.html">2017-06-21</a>
- <li><a href="/ml/archives/dev/2017-June/068450.html">2017-06-07</a>
- <li><a href="/ml/archives/dev/2017-June/067407.html">2017-05-18</a>
- <li><a href="/ml/archives/dev/2017-May/065185.html">2017-04-27</a>
- <li><a href="/ml/archives/dev/2017-April/063924.html">2017-04-10</a>
- <li><a href="/ml/archives/dev/2017-March/061009.html">2017-03-20</a>
- <li><a href="/ml/archives/dev/2017-March/059599.html">2017-03-02</a>
- <li><a href="/ml/archives/dev/2017-February/057779.html">2017-02-15</a>
- <li><a href="/ml/archives/dev/2017-January/056363.html">2017-01-25</a>
- </ul>
-</section>
-<footer></footer>
diff --git a/doc.html b/doc.html
deleted file mode 100644
index d478101..0000000
--- a/doc.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK doc</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc" id="current">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section>
- <h2>Documentation</h2>
- <ul>
- <li>For a first try, you should follow
- the <a href="/doc/quick-start">quick start instructions</a>.
- <li>The <a href="/doc/nics">list of supported NICs</a>
- includes PCI NICs and paravirtualized NICs.
- <li><a href="/doc/api/">API documentation</a>
- is generated thanks to <a href="http://doxygen.org">doxygen</a>.
- <li>
- <a href="/doc/guides/">User guides</a>,
- <a href="/doc/guides/prog_guide/">programmer's guide</a> and
- <a href="/doc/guides/rel_notes/">release notes</a>
- are formatted with <a href="http://sphinx-doc.org/">sphinx</a>.
- <li>The guides are also available as
- <a href="//fast.dpdk.org/doc/pdf-guides/">PDF files</a>.
- <h3>Applications</h3>
- <ul>
- <li><a href="http://pktgen-dpdk.readthedocs.org">pktgen-dpdk (traffic generator)</a>
- </ul>
- <h3>Tools</h3>
- <ul>
- <li><a href="/doc/dts/gsg/">DTS (DPDK Test Suite) User Guide</a>
- <li><a href="/doc/dts/test_plans/">DTS Test Plans</a>
- </ul>
- <h3>Archives</h3>
- <ul>
- <li><a href="/doc/archives">documentation for previous versions</a>
- <li>Unmaintained driver for QEMU IVSHMEM: <a href="/doc/memnic-pmd">memnic-pmd</a>.
- <li>Unmaintained driver for VMware ESXi vmxnet3 without uio: <a href="/doc/vmxnet3-usermap">vmxnet3-usermap</a>.
- </ul>
- </ul>
- <h2>Performance Reports</h2>
- <ul>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_18_02_Intel_NIC_performance_report.pdf">DPDK 18.02 Intel NIC Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_18_02_Intel_virtio_performance_report.pdf">DPDK 18.02 Intel Vhost/Virtio Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_18_02_Intel_crypto_performance_report.pdf">DPDK 18.02 Intel Crypto Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_18_02_Mellanox_NIC_performance_report.pdf">DPDK 18.02 Mellanox NIC Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_11_Intel_NIC_performance_report.pdf">DPDK 17.11 Intel NIC Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_11_Intel_virtio_performance_report.pdf">DPDK 17.11 Intel Vhost/Virtio Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_11_Intel_crypto_performance_report.pdf">DPDK 17.11 Intel Crypto Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_11_Mellanox_NIC_performance_report.pdf">DPDK 17.11 Mellanox NIC Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_08_Intel_NIC_performance_report.pdf">DPDK 17.08 Intel NIC Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_08_Intel_virtio_performance_report.pdf">DPDK 17.08 Intel Vhost/Virtio Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_05_Intel_NIC_performance_report.pdf">DPDK 17.05 Intel NIC Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_05_Intel_virtio_performance_report.pdf">DPDK 17.05 Intel Vhost/Virtio Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_05_Mellanox_NIC_performance_report.pdf">DPDK 17.05 Mellanox NIC Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_05_Netcope_NIC_performance_report.pdf">DPDK 17.05 Netcope NIC Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_02_Intel_NIC_performance_report.pdf">DPDK 17.02 Intel NIC Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_02_Intel_virtio_performance_report.pdf">DPDK 17.02 Intel Vhost/Virtio Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_17_02_Mellanox_NIC_performance_report.pdf">DPDK 17.02 Mellanox NIC Performance Report</a>
- <li><a href="//fast.dpdk.org/doc/perf/DPDK_16_11_Intel_NIC_performance_report.pdf">DPDK 16.11 Intel NIC Performance Report</a>
- </ul>
- <h2>Training</h2>
- <p>List of resources available online:</p>
- <ul>
- <li><a href="https://dpdksummit.com/us/en/past-events">DPDK Summits Presentations</a>
- <li><a href="https://builders.intel.com/university/networkbuilders/coursescategory/dpdk">Intel Network Builders University</a> [registration is free, but required]
- </ul>
- <p>For instructor-led training services, refer to the <a href="/about#trainings">companies list</a>.</p>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/doc/archives.html b/doc/archives.html
deleted file mode 100644
index 567d443..0000000
--- a/doc/archives.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK doc</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc" id="current">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
-</header>
-<section>
- <h2>Documentation Archives</h2>
- <p>DPDK 18.05 |
- <a href="/doc/api-18.05/">HTML API</a> |
- <a href="/doc/guides-18.05/">HTML guides</a> |
- <a href="//fast.dpdk.org/doc/pdf-guides-18.05/">PDF guides</a>
- </p>
- <p>DPDK 18.02 |
- <a href="/doc/api-18.02/">HTML API</a> |
- <a href="/doc/guides-18.02/">HTML guides</a> |
- <a href="//fast.dpdk.org/doc/pdf-guides-18.02/">PDF guides</a>
- </p>
- <p>DPDK 17.11 |
- <a href="/doc/api-17.11/">HTML API</a> |
- <a href="/doc/guides-17.11/">HTML guides</a> |
- <a href="//fast.dpdk.org/doc/pdf-guides-17.11/">PDF guides</a>
- </p>
- <p>DPDK 17.08 |
- <a href="/doc/api-17.08/">HTML API</a> |
- <a href="/doc/guides-17.08/">HTML guides</a> |
- <a href="//fast.dpdk.org/doc/pdf-guides-17.08/">PDF guides</a>
- </p>
- <p>DPDK 17.05 |
- <a href="/doc/api-17.05/">HTML API</a> |
- <a href="/doc/guides-17.05/">HTML guides</a> |
- <a href="//fast.dpdk.org/doc/pdf-guides-17.05/">PDF guides</a>
- </p>
- <p>DPDK 17.02 |
- <a href="/doc/api-17.02/">HTML API</a> |
- <a href="/doc/guides-17.02/">HTML guides</a> |
- <a href="//fast.dpdk.org/doc/pdf-guides-17.02/">PDF guides</a>
- </p>
- <p>DPDK 16.11 |
- <a href="/doc/api-16.11/">HTML API</a> |
- <a href="/doc/guides-16.11/">HTML guides</a> |
- <a href="//fast.dpdk.org/doc/pdf-guides-16.11/">PDF guides</a>
- </p>
- <p>DPDK 16.07 |
- <a href="/doc/api-16.07/">HTML API</a> |
- <a href="/doc/guides-16.07/">HTML guides</a> |
- <a href="//fast.dpdk.org/doc/pdf-guides-16.07/">PDF guides</a>
- </p>
- <p>DPDK 16.04 |
- <a href="/doc/api-16.04/">HTML API</a> |
- <a href="/doc/guides-16.04/">HTML guides</a> |
- <a href="//fast.dpdk.org/doc/pdf-guides-16.04/">PDF guides</a>
- </p>
- <p>DPDK 2.2 |
- <a href="/doc/api-2.2/">HTML API</a> |
- <a href="/doc/guides-2.2/">HTML guides</a> |
- <a href="//fast.dpdk.org/doc/pdf-guides-2.2/">PDF guides</a>
- </p>
- <p>DPDK 2.1 |
- <a href="/doc/api-2.1/">HTML API</a> |
- <a href="/doc/guides-2.1/">HTML guides</a> |
- <a href="//fast.dpdk.org/doc/pdf-guides-2.1/">PDF guides</a>
- </p>
- <p>DPDK 2.0 |
- <a href="/doc/api-2.0/">HTML API</a> |
- <a href="/doc/guides-2.0/">HTML guides</a> |
- <a href="//fast.dpdk.org/doc/pdf-guides-2.0/">PDF guides</a>
- </p>
- <p>DPDK 1.8 |
- <a href="/doc/api-1.8/">HTML API</a> |
- <a href="/doc/guides-1.8/">HTML guides</a>
- </p>
- <p>DPDK 1.7 |
- <a href="/doc/api-1.7/">HTML API</a>
- </p>
- <p>DPDK 1.6 |
- <a href="/doc/api-1.6/">HTML API</a>
- </p>
-</section>
-<footer></footer>
diff --git a/doc/doxy-footer.html b/doc/doxy-footer.html
deleted file mode 100644
index c103f59..0000000
--- a/doc/doxy-footer.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!-- doxygen END -->
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/doc/doxy-header.html b/doc/doxy-header.html
deleted file mode 100644
index 3d9aa5b..0000000
--- a/doc/doxy-header.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK doc</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="tabs.css" />
- <link rel="stylesheet" href="doxygen.css" />
- <link rel="stylesheet" href="/content-doxygen.css" />
- <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
- <script type="text/javascript" src="http://code.jquery.com/jquery-migrate-1.1.1.min.js"></script>
- <script type="text/javascript" src="dynsections.js"></script>
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc" id="current">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section>
-<!-- doxygen BEGIN -->
-<div id="top">
- <div class="version">$projectnumber</div>
diff --git a/doc/memnic-pmd.html b/doc/memnic-pmd.html
deleted file mode 100644
index e29bafd..0000000
--- a/doc/memnic-pmd.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK doc</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc" id="current">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section>
-<h2>MEMNIC PMD</h2>
-
-<!-- Copyright 2014 6WIND S.A.
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-- Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-- Neither the name of 6WIND S.A. nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-OF THE POSSIBILITY OF SUCH DAMAGE. -->
-<h3>DESCRIPTION</h3>
-<p>This is a Poll-Mode Driver (PMD) for DPDK, provided as a DPDK extension
-that must be loaded at DPDK startup.</p>
-<p>It allows creating virtual NICs based on a shared memory.
-On guest side, it uses an ivshmem virtual PCI device.
-On host side, the shared memory is a mmap'd file.</p>
-<p>This virtual NIC permits to achieve high performance for virtualized
-environment by directly sharing rings between the host and the guest
-VMs, bypassing the Virtual Machine Manager and thus, removing any
-hypercalls that would have taken place otherwise.</p>
-<p>This virtual NIC also avoids to share the whole DPDK memory between the
-host and the guest. When transmitting a packet from guest to host, the
-packets are copied from rte_mbufs owned by a guest to the shared memory,
-then from the shared memory to a rte_mbuf structure owned by the host.
-The same approach is applied when transmitting from host to guest. This
-approach prevents a guest to modify a packet owned by the host or
-another guest, providing more security.</p>
-<h3 id="build">HOW TO BUILD</h3>
-<p>There is only one build dependency: DPDK.</p>
-<p>This driver aims to be compiled and run on <strong>guest side</strong>. See in
-<a class="reference internal" href="#run">HOW TO RUN</a> for how to boot your guest.</p>
-<p>DPDK must be built first in order to have all its header files in the same
-directory, that RTE_INCLUDE must point to:</p>
-<pre>
-cd /path/to/dpdk
-make config T=x86_64-native-linuxapp-gcc
-make
-cd /path/to/memnic/pmd
-make RTE_INCLUDE=/path/to/dpdk/build/include
-</pre>
-<p>It results in creating a library librte_pmd_memnic_copy.so in current
-directory. To install it, use:</p>
-<pre>
-make install
-</pre>
-<p>The default installation path is
-<span class="pre">/usr/local/lib/librte_pmd_memnic_copy.so</span>. It can be
-overidden by setting <span class="pre">DESTDIR</span> variable when invoking make install
-command. In this case, the library will be copied in
-<span class="pre">$(DESTDIR)/usr/local/lib/librte_pmd_memnic_copy.so</span>.</p>
-<p>Build options can be displayed using <span class="pre">make help</span>.</p>
-<h3 id="run">HOW TO RUN</h3>
-<p>On host, the shared memory must be initialized by an application using memnic.</p>
-<p>Only QEMU hypervised systems are supported at the moment. We assume that
-the DPDK and librte_pmd_memnic_copy are already installed on the guest.
-To run the guest with qemu, you can use a command line similar to this one:</p>
-<pre>
-qemu-system-x86_64 -enable-kvm -cpu host -smp 3 -m 512 \
- -device ivshmem,size=16,shm=/../../mnt/huge/ivshm
-</pre>
-<p>Run the testpmd application on the guest:</p>
-<pre>
-echo 64 &gt; /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
-mount -t hugetlbfs nodev /mnt/huge
-/path/to/dpdk/testpmd -c7 -n3 \
- -d /path/to/librte_pmd_memnic_copy.so \
- -- -i --nb-cores=2 --nb-ports=1 --port-topology=chained
-</pre>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/doc/nics.html b/doc/nics.html
deleted file mode 100644
index 4780ad1..0000000
--- a/doc/nics.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK doc</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc" id="current">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section>
- <h2>Supported NICs</h2>
- <p>Features supported by the drivers can be checked in the
- <a href="/doc/guides/nics/overview.html#id1">networking drivers matrix</a>.</p>
- <h3>Amazon</h3>
- <ul>
- <li><a href="/doc/guides/nics/ena.html">ena</a> (Elastic Network Adapter)</li>
- </ul>
- <h3>Atomic Rules</h3>
- <ul>
- <li><a href="/doc/guides/nics/ark.html">ark</a> (Arkville Packet Conduit FX0/FX1)</li>
- </ul>
- <h3>Broadcom</h3>
- <ul>
- <li><a href="/doc/guides/nics/bnxt.html">bnxt</a> (NetXtreme-C, NetXtreme-E, StrataGX)</li>
- </ul>
- <h3>Cavium</h3>
- <ul>
- <li><a href="/doc/guides/nics/thunderx.html">thunderx</a> (CN88XX, CN83XX, CN81XX, CN80XX)</li>
- <li><a href="/doc/guides/nics/octeontx.html">octeontx</a> (CN83XX)</li>
- <li><a href="/doc/guides/nics/liquidio.html">liquidio</a> (LiquidIO II CN23XX)</li>
- <li><a href="/doc/guides/nics/bnx2x.html">bnx2x</a> (QLogic 578xx)</li>
- <li><a href="/doc/guides/nics/qede.html">qede</a> (QLogic FastLinQ QL4xxxx)</li>
- </ul>
- <h3>Chelsio</h3>
- <ul>
- <li><a href="/doc/guides/nics/cxgbe.html">cxgbe</a> (Terminator 5, Terminator 6)</li>
- </ul>
- <h3>Cisco</h3>
- <ul>
- <li><a href="/doc/guides/nics/enic.html">enic</a> (UCS Virtual Interface Card)</li>
- </ul>
- <h3>Intel</h3>
- <ul>
- <li><a href="/doc/guides/nics/e1000em.html">e1000</a> (82540, 82545, 82546)</li>
- <li><a href="/browse/dpdk/tree/drivers/net/e1000/">e1000e</a> (82571, 82572, 82573, 82574, 82583, ICH8, ICH9, ICH10, PCH, PCH2, I217, I218, I219)</li>
- <li><a href="/browse/dpdk/tree/drivers/net/e1000/">igb</a> (82575, 82576, 82580, I210, I211, I350, I354, DH89xx)</li>
- <li><a href="/doc/guides/nics/ixgbe.html">ixgbe</a> (82598, 82599, X520, X540, X550)</li>
- <li><a href="/doc/guides/nics/i40e.html">i40e</a> (X710, XL710, X722, XXV710)</li>
- <li><a href="/doc/guides/nics/fm10k.html">fm10k</a> (FM10420)</li>
- </ul>
- <p>Note: The drivers <em>e1000</em> and <em>e1000e</em> are also called <em>em</em>.
- The drivers <em>em</em> and <em>igb</em> are sometimes grouped in <em>e1000</em> family.</p>
- <h3>Marvell</h3>
- <ul>
- <li><a href="/doc/guides/nics/mvpp2.html">mvpp2</a> (Marvell Packet Processor v2)</li>
- </ul>
- <h3>Mellanox</h3>
- <ul>
- <li><a href="/doc/guides/nics/mlx4.html">mlx4</a> (ConnectX-3, ConnectX-3 Pro)</li>
- <li><a href="/doc/guides/nics/mlx5.html">mlx5</a> (ConnectX-4, ConnectX-4 Lx, ConnectX-5, Bluefield)</li>
- </ul>
- <h3>Netcope</h3>
- <ul>
- <li><a href="/doc/guides/nics/szedata2.html">szedata2</a> (NFB-*, NPC-*, NSF-*)</li>
- </ul>
- <h3>Netronome</h3>
- <ul>
- <li><a href="/doc/guides/nics/nfp.html">nfp</a> (NFP-4xxx, NFP-6xxx)</li>
- </ul>
- <h3>NXP</h3>
- <ul>
- <li><a href="/doc/guides/nics/dpaa.html">dpaa</a> (LS102x, LS1043, LS1046)</li>
- <li><a href="/doc/guides/nics/dpaa2.html">dpaa2</a> (LS1048, LS108x, LS20xx, LX216x)</li>
- </ul>
- <h3>Solarflare</h3>
- <ul>
- <li><a href="/doc/guides/nics/sfc_efx.html">sfc_efx</a> (SFN7xxx, SFN8xxx, XtremeScale X2)</li>
- </ul>
- <h3>Paravirtualization</h3>
- <ul>
- <li><a href="/doc/guides/nics/avp.html">avp</a> (Wind River Accelerated Virtual Port)</li>
- <li><a href="/doc/guides/nics/virtio.html">virtio-net</a> (QEMU)</li>
- <li><a href="/doc/guides/nics/vmxnet3.html">vmxnet3</a> (VMware ESXi)</li>
- </ul>
- <h3>Others</h3>
- <ul>
- <li><a href="/browse/dpdk/tree/drivers/net/af_packet">af_packet</a> (Linux AF_PACKET socket)</li>
- <li><a href="/doc/guides/nics/tap.html">tap</a> (kernel L2)</li>
- <li><a href="/doc/guides/nics/pcap_ring.html#libpcap-based-pmd">pcap</a> (file or kernel driver)</li>
- <li><a href="/doc/guides/nics/pcap_ring.html#rings-based-pmd">ring</a> (memory)</li>
- </ul>
- <h3>Attic</h3>
- <ul>
- <li><a href="/doc/memnic-pmd">memnic</a> (Qemu IVSHMEM)</li>
- <li><a href="/doc/vmxnet3-usermap">vmxnet3 usermap</a> (VMware ESXi without uio)</li>
- </ul>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/doc/quick-start.html b/doc/quick-start.html
deleted file mode 100644
index 85551fa..0000000
--- a/doc/quick-start.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK doc</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc" id="current">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section>
- <h2>Quick start</h2>
- <p><em>"A simple forwarding test with pcap PMD which works with any NIC (with performance penalties)"</em></p>
- <p>Extract sources.</p>
- <pre>
-tar xf dpdk.tar.gz
-cd dpdk</pre>
- <p>Enable pcap (libpcap headers are required).</p>
- <pre>
-make config T=x86_64-native-linuxapp-gcc
-sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config</pre>
- <p>Build libraries and test application (Linux headers may be needed with default config).</p>
- <pre>
-make</pre>
- <p>Reserve huge pages memory.</p>
- <pre>
-mkdir -p /mnt/huge
-mount -t hugetlbfs nodev /mnt/huge
-echo 64 &gt; /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages</pre>
- <p>Run poll-mode driver test (with a cable between ports).</p>
- <pre>
-build/app/testpmd -c7 -n3 --vdev=net_pcap0,iface=eth0 --vdev=net_pcap1,iface=eth1 --
- -i --nb-cores=2 --nb-ports=2 --total-num-mbufs=2048
-
-testpmd&gt; show port stats all
-
- ######################## NIC statistics for port 0 ########################
- RX-packets: 0 RX-errors: 0 RX-bytes: 0
- TX-packets: 0 TX-errors: 0 TX-bytes: 0
- ############################################################################
-
- ######################## NIC statistics for port 1 ########################
- RX-packets: 0 RX-errors: 0 RX-bytes: 0
- TX-packets: 0 TX-errors: 0 TX-bytes: 0
- ############################################################################
-
-testpmd&gt; start tx_first
-
-testpmd&gt; stop
-
- ---------------------- Forward statistics for port 0 ----------------------
- RX-packets: 2377688 RX-dropped: 0 RX-total: 2377688
- TX-packets: 2007009 TX-dropped: 0 TX-total: 2007009
- ----------------------------------------------------------------------------
-
- ---------------------- Forward statistics for port 1 ----------------------
- RX-packets: 2006977 RX-dropped: 0 RX-total: 2006977
- TX-packets: 2377720 TX-dropped: 0 TX-total: 2377720
- ----------------------------------------------------------------------------
-
- +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
- RX-packets: 4384665 RX-dropped: 0 RX-total: 4384665
- TX-packets: 4384729 TX-dropped: 0 TX-total: 4384729
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</pre>
-
- <p>Some sample applications can be tested after building them.</p>
- <pre>
-make -C examples RTE_SDK=$(pwd) RTE_TARGET=build O=$(pwd)/build/examples</pre>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/doc/virtio-net-pmd.html b/doc/virtio-net-pmd.html
deleted file mode 100644
index 334ade3..0000000
--- a/doc/virtio-net-pmd.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK doc</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc" id="current">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section>
-<h2>virtio-net-pmd</h2>
-
-<!-- Copyright 2013 6WIND S.A.
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-- Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-- Neither the name of 6WIND S.A. nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-OF THE POSSIBILITY OF SUCH DAMAGE. -->
-<h3>DESCRIPTION</h3>
-<p>Here is a Poll-Mode Driver (PMD) for the VirtI/O based linux paravirtualized
-NIC, for DPDK.</p>
-<p>The standard Linux kernel driver for this vNIC is called virtio-net,
-it depends on virtio-ring and virtio-pci. However, there is no need
-for this driver to be supported by the guest for the PMD to work.
-Additionnaly, some features such as multiqueue support do not depend
-on the support in the guest kernel.</p>
-<p>The DPDK driver is a shared object (<span class="pre">librte_pmd_virtio.so</span>) that must be
-loaded as a DPDK extension.
-This driver gets hardware access through the PCIe I/O mapped in the upper
-range of the ioports, and thus requires special privileges automatically
-obtained through <span class="pre">iopl()</span>.</p>
-<h3>HOW TO BUILD</h3>
-<p>There are two build dependencies: VirtI/O headers and DPDK &gt;= 1.2.3r4.</p>
-<p>The virtio headers can be obtained when installing the linux kernel headers,
-or directly in the linux kernel tree, in linux-source/usr/include/</p>
-<p>DPDK must be built first in order to have all its header files in the same
-directory, that RTE_INCLUDE must point to.</p>
-<p>Example:</p>
-<pre>
-dpdk$ make config T=x86_64-native-linuxapp-gcc
-[...]
-dpdk$ make
-[...]
-dpdk$ cd ../virtio
-virtio$ make RTE_INCLUDE=../dpdk/build/include
-[...]
-</pre>
-<p>Build options can be displayed using <span class="pre">make help</span>.</p>
-<h3>HOW TO RUN</h3>
-<p>Because QEMU fixes the number of descriptor per queue through an hardcoded
-value, it's very important that DPDK parameters <span class="pre">--rxd</span> and <span class="pre">--txd</span> are
-set to <span class="pre">256</span>. It won't work otherwise.</p>
-<p>Also, since VirtI/O net uses queue pairs, the number of Tx and Rx queues must
-be equal. When multiqueue is enabled, their value should be inferior or equal
-to the number of queues given as a parameter to QEMU.
-Multiqueue is supported since Linux 3.8 and QEMU 1.4.</p>
-<p>The userland driver, <span class="pre">librte_pmd_virtio.so</span>, must be loaded by the DPDK using
-the <span class="pre">-d</span> option.</p>
-<p><span class="pre">testpmd</span> example for two ports:</p>
-<pre>
-$ ../dpdk/build/app/testpmd -c 0xff -n 1 \
- -d librte_pmd_virtio.so \
- -- \
- --disable-hw-vlan --disable-rss \
- -i --rxq=1 --txq=1 --rxd=256 --txd=256
-[...]
-EAL: probe driver: 1af4:1000 rte_virtio_net_pmd
-EAL: probe driver: 1af4:1000 rte_virtio_net_pmd
-Interactive-mode selected
-[...]
-testpmd&gt;
-</pre>
-<h3>HOW TO RESTART APPLICATIONS</h3>
-<p>During initialization, the virtio PMD checks if the virtio-net device is in an
-unused state to prevent two different applications to use the same device which
-would lead in QEMU exiting because of indices incoherency.
-Thus, in order to relaunch a DPDK application using the virtio PMD, the
-dev_close function must have been called before exiting the application to
-ensure the device is left in an unused state.</p>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/doc/vmxnet3-usermap.html b/doc/vmxnet3-usermap.html
deleted file mode 100644
index d15a0f4..0000000
--- a/doc/vmxnet3-usermap.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK doc</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc" id="current">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section>
-<h2>vmxnet3-usermap</h2>
-
-<!-- Copyright 2013 6WIND S.A.
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-- Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-- Neither the name of 6WIND S.A. nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-OF THE POSSIBILITY OF SUCH DAMAGE. -->
-<h3>DESCRIPTION</h3>
-<p>Here are two drivers for the third generation of paravirtualized NIC in
-VMware ESXi (vmxnet3): a Linux kernel driver and a Poll-Mode Driver (PMD)
-for DPDK. They work together.</p>
-<p>The standard Linux kernel driver for this vNIC is simply called vmxnet3.ko.
-The &quot;kmod&quot; subdirectory provides a replacement called vmxnet3-usermap.ko.
-It essentially provides a new mode called usermap using the enable_shm=2
-option.</p>
-<p>The DPDK driver found in the &quot;pmd&quot; subdirectory is a shared object
-(librte_pmd_vmxnet3.so) that must be loaded as a DPDK extension.
-This driver gets hardware access through the usermap mode of the kernel
-driver.</p>
-<h3>HOW TO BUILD</h3>
-<p>There are two build dependencies: Linux kernel headers and DPDK &gt;= 1.2.3r3.</p>
-<p>The kernel driver is based on vmxnet3-8.6.10 from VMware ESXi-5.0.0u2.
-So the latest supported Linux version is 3.2.</p>
-<p>DPDK must be built first in order to have all its header files in the same
-directory, that RTE_INCLUDE must point to.</p>
-<p>Example:</p>
-<pre>
-dpdk$ make config T=x86_64-native-linuxapp-gcc
-[...]
-dpdk$ make
-[...]
-dpdk$ cd ../vmx3
-vmx3$ make RTE_INCLUDE=../dpdk/build/include
-[...]
-</pre>
-<p>Build options can be displayed using <span class="pre">make help</span>.</p>
-<h3>HOW TO RUN</h3>
-<p>Previous driver must be unloaded:</p>
-<pre>
-$ rmmod vmxnet3
-</pre>
-<p>The driver must be loaded in usermap mode:</p>
-<pre>
-$ insmod vmxnet3-usermap.ko enable_shm=2,2 num_rqs=1,1 num_rxds=512 num_txds=512
-</pre>
-<p>The above command will enable usermap-mode only for the first two vmxnet3
-interfaces detected. Commas can be used to separate parameters values if
-several interfaces need to be managed from userland.</p>
-<p>The following parameters take one value per interface:</p>
-<ul class="simple">
-<li><span class="pre">enable_shm=2[,2[...]</span>: configure usermap mode suitable for DPDK use
-(default is 0 for kernel mode)</li>
-<li><span class="pre">num_rqs=int[,int[...]</span>: number of RX queues
-(default is the number of detected CPUs)</li>
-<li><span class="pre">num_tqs=int[,int[...]</span>: number of TX queues
-(default is the number of detected CPUs)</li>
-</ul>
-<p>Other parameters have a global effect:</p>
-<ul class="simple">
-<li><span class="pre">num_rxds=int</span>: number of RX descriptors per queue</li>
-<li><span class="pre">num_txds=int</span>: number of TX descriptors per queue</li>
-</ul>
-<p>Because the kernel module initializes interfaces, <strong>it's very important that
-DPDK parameters match kernel ones</strong>. It won't work otherwise.</p>
-<p>For more information, use <span class="pre">modinfo <span class="pre">vmxnet3-usermap.ko</span>.</p>
-<p>In userland, librte_pmd_vmxnet3.so must be loaded by the DPDK using the <span class="pre">-d</span>
-option.</p>
-<p>Another interesting option is <span class="pre">--vmware-tsc-map</span>.
-It allows VMware TSC mapping which provides an access to physical TSC.
-When this option is used, take care of setting this ESXi parameter:</p>
-<pre>
-monitor_control.pseudo_perfctr = TRUE
-</pre>
-<p><span class="pre">testpmd</span> example for two ports, matching the <span class="pre">insmod</span> command above:</p>
-<pre>
-$ ../dpdk/build/app/testpmd -c 0xff -n 1 \
- -d librte_pmd_vmxnet3.so \
- -- \
- -i --rxq=1 --rxd=512 --txd=512
-[...]
-EAL: probe driver: 15ad:7b0 rte_vmxnet3_pmd
-EAL: probe driver: 15ad:7b0 rte_vmxnet3_pmd
-Interactive-mode selected
-Initializing port 0... done: Link Up - speed 10000 Mbps - full-duplex
-Initializing port 1... done: Link Up - speed 10000 Mbps - full-duplex
-testpmd&gt;
-</pre>
-<h3>HOW TO RESTART APPLICATIONS</h3>
-<p>In order to relaunch a DPDK application using vmxnet3-usermap,
-the kernel driver must be reinitialized:</p>
-<pre>
-$ rmmod vmxnet3_usermap
-$ insmod vmxnet3-usermap.ko enable_shm=2,2 num_rqs=1,1 num_rxds=512 num_txds=512
-</pre>
-<p>Then the DPDK application can be restarted.</p>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/download.html b/download.html
deleted file mode 100644
index ee58b18..0000000
--- a/download.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK download</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download" id="current">Download</a></li>
- <li><a href="/doc">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section id="download">
- <h2>Download</h2>
- <a href="https://fast.dpdk.org/rel/dpdk-18.05.tar.xz" class="button">
- <i class="material-icons">archive</i>
- Latest Major<br>18.05
- </a><!-- no whitespace
- --><a href="https://fast.dpdk.org/rel/dpdk-18.02.2.tar.xz" class="button">
- <i class="material-icons">archive</i>
- Latest Stable<br>18.02.2
- </a><!-- no whitespace
- --><a href="/rel" class="button">
- <i class="material-icons">view_list</i>
- Other Versions<br>LTS and Older
- </a><!-- no whitespace
- --><a href="/doc/quick-start" class="button">
- <i class="material-icons">access_time</i>
- <br>Quick Start
- </a>
- <ul>
- <h3>Applications</h3>
- <ul>
- <li><a href="/browse/apps/pktgen-dpdk/refs/">pktgen-dpdk (traffic generator)</a></li>
- </ul>
- <h3>Tools</h3>
- <ul>
- <li><a href="/browse/tools/dts/refs/">dts (test suite)</a></li>
- </ul>
- <h3>Unmaintained Extensions</h3>
- <ul>
- <li><a href="/browse/old/memnic/refs/">memnic</a> &mdash; latest: <a href="/browse/old/memnic/snapshot/memnic-1.3.tar.gz">1.3</a>
- <li><a href="/browse/old/vmxnet3-usermap/refs/">vmxnet3-usermap</a> &mdash; latest: <a href="/browse/old/vmxnet3-usermap/snapshot/vmxnet3-usermap-1.2.tar.gz">1.2</a>
- </ul>
- </ul>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/events.html b/events.html
deleted file mode 100644
index e6f1d7e..0000000
--- a/events.html
+++ /dev/null
@@ -1,169 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK events</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events" id="current">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section id="events">
- <div class="banner-right">
- <a href="https://www2.thelinuxfoundation.org/sponsor-dpdk18">
- 2018 sponsorship prospectus</a><br>
- <a href="mailto:events@dpdk.org">Contact us for more information</a>
- </div>
-
- <h3 id="userspace2018">&rsaquo; DPDK <em>Userspace</em>, Dublin - September 5-6, 2018</h3>
- <p>Unlike its name, the userspace summit intends to gather users and developers.
- It is the main event, dedicated to community discussions, architects and maintainers.</p>
- <p>The venue will be the same as for the last two years -
- <a href="https://www.claytonhotelballsbridge.com">The Clayton Hotel,
- Ballsbridge, Dublin</a>.</p>
- <p style="text-align: center;">
- <a href="https://www.regonline.com/DPDKDublin" class="button">
- <i class="material-icons">event_note</i>
- Register
- </a>
- <a href="https://goo.gl/forms/Jh70MIA7QJE2nSBb2" class="button">
- <i class="material-icons">create</i>
- Submit Proposal
- </a>
- </p>
-
- <h2 id="chinasummit2018">&rsaquo; DPDK <em>Summit</em>, Beijing - June 28, 2018</h2>
- <p>2018 DPDK PRC Summit will take place in the China National Convention Center,
- Beijing on June 28th.</p>
- <p>The agenda will cover the latest developments to the DPDK and other related projects
- such as FD.io, Lagopus, OVS, DPVS, Tungsten Fabric and SPDK,
- including plans for future releases,
- and will provide an opportunity to hear from DPDK users
- who have used it in their applications.</p>
- <p>Hear and learn from DPDK and industry experts who will be sharing
- information about the projects, use cases, capabilities, integrations
- with DPDK.
- This is a great opportunity for LinuxCon, ContainerCon and CloudOpen
- attendees to share their thought leadership and innovations
- at one of the industry’s premier events.</p>
- <p style="text-align: center;">
- <a href="http://linux.31huiyi.com" class="button">
- <i class="material-icons">event_note</i>
- Register<br>LinuxCon + DPDK
- </a>
- <a href="https://www.regonline.com/registration/checkin.aspx?EventId=2205569" class="button">
- <i class="material-icons">event_note</i>
- Register<br>DPDK only
- </a>
- <a href="https://dpdkprcsummit2018.sched.com" class="button">
- <i class="material-icons">schedule</i>
- Schedule
- </a>
- </p>
- <hr>
- <ul class="logos" style="text-align: right;">
- <li>Sponsor (in addition to <a href="/about#members">members support</a>):
- <li><img src="/logos/intel.png" alt="Intel">
- </ul>
-
- <hr id="past">
-
- <h3 id="indiasummit2018">&rsaquo; DPDK <em>Summit</em>, Bangalore - March 9, 2018</h3>
- <p>
- No archive yet |
- <a href="https://dpdkbangalore2018.sched.com">Schedule</a>
- </p>
- <h3 id="usasummit2017">&rsaquo; DPDK <em>Summit</em>, San Jose - November 14-15, 2017</h3>
- <p>
- <a href="/events/summit-2017-usa.html">Archive</a> |
- <a href="http://youtube.com/playlist?list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9">Videos</a> |
- <a href="https://www.slideshare.net/LF_DPDK/presentations">Slides</a> |
- <a href="https://dpdk17.sched.com">Schedule</a>
- </p>
- <h3 id="userspace2017">&rsaquo; DPDK <em>Userspace</em>, Dublin - September 26-27, 2017</h3>
- <p>
- <a href="/events/summit-2017-ireland.html">Archive</a> |
- <a href="http://youtube.com/playlist?list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq">Videos</a>
- </p>
- <h3 id="chinasummit2017">&rsaquo; DPDK <em>Summit</em>, Shanghai - June 27, 2017</h3>
- <p>
- <a href="/events/summit-2017-china.html">Archive</a>
- </p>
- <h3 id="indiasummit2017">&rsaquo; DPDK <em>Summit</em>, Bangalore - April 25-26, 2017</h3>
- <p>
- <a href="/events/summit-2017-india.html">Archive</a> |
- <a href="http://youtube.com/playlist?list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx">Videos</a>
- </p>
- <h3 id="userspace2016">&rsaquo; DPDK <em>Userspace</em>, Dublin - October 20-21, 2016</h3>
- <p>
- <a href="http://dpdksummit.com/us/en/past-events">Archive</a> |
- <a href="http://youtube.com/playlist?list=PLo97Rhbj4ceJg7O0PwPteFPCojM8e97Iq">Videos</a>
- </p>
- <h3 id="usasummit2016">&rsaquo; DPDK <em>Summit</em>, San Jose - August 10-11, 2016</h3>
- <p>
- <a href="http://dpdksummit.com/us/en/past-events">Archive</a> |
- <a href="http://youtube.com/playlist?list=PLo97Rhbj4ceJLvnSuUIeGnWg02isKWlQr">Videos</a>
- </p>
- <h3 id="chinasummit2016">&rsaquo; DPDK <em>Summit</em>, Shanghai - May 18, 2016</h3>
- <p>
- <a href="http://dpdksummit.com/us/en/past-events">Archive</a> |
- <a href="http://youtube.com/playlist?list=PLo97Rhbj4ceKxk_20x24yRsrx-a6yU4Qk">Videos</a>
- </p>
- <h3 id="userspace2015">&rsaquo; DPDK <em>Userspace</em>, Dublin - October 8-9, 2015</h3>
- <p>
- <a href="http://dpdksummit.com/us/en/past-events">Archive</a> |
- <a href="http://youtube.com/playlist?list=PLo97Rhbj4ceIdxbxhWQidCvzyiG5S6UqK">Videos</a>
- </p>
- <h3 id="usasummit2015">&rsaquo; DPDK <em>Summit</em>, San Francisco - August 17, 2015</h3>
- <p>
- <a href="http://dpdksummit.com/us/en/past-events">Archive</a> |
- <a href="http://youtube.com/playlist?list=PLo97Rhbj4ceIXRxEgLKUGNWO1pTlWt8sI">Videos</a>
- </p>
- <h3 id="chinasummit2015">&rsaquo; DPDK <em>Summit</em>, Beijing - April 21, 2015</h3>
- <p>
- <a href="http://dpdksummit.com/us/en/past-events">Archive</a>
- </p>
- <h3 id="summit2014">&rsaquo; DPDK <em>Summit</em>, San Francisco - September 8, 2014</h3>
- <p>
- <a href="http://dpdksummit.com/us/en/past-events">Archive</a> |
- <a href="http://youtube.com/playlist?list=PLGzPDb3-RSdtL51UWpfgt7oCmaCTfZj9e">Videos</a>
- </p>
- <h3 id="contest2014">&rsaquo; DPDK <em>Contest</em> - Winners announced on August 26, 2014</h3>
- <p>
- <a href="http://6wind.com/news-events/press-releases-2014/6wind-press-release-august-27">Winners</a>
- </p>
- <h3 id="seminar2013">&rsaquo; DPDK <em>Seminar</em>, Santa Clara - November 5, 2013</h3>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/events/summit-2017-china.html b/events/summit-2017-china.html
deleted file mode 100644
index 94ced78..0000000
--- a/events/summit-2017-china.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK events</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events" id="current">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
-</header>
-<section id="event">
- <h2>DPDK Summit, Shanghai - June 27, 2017</h2>
- <img class="venue" src="https://fast.dpdk.org/events/images/DPDK-2017-06-China-venue.jpg">
- <p>The event was held in Shanghai Marriott Hotel Hongqiao.</p>
- <img class="room" src="https://fast.dpdk.org/events/images/DPDK-2017-06-China-room.jpg">
- <ul>
- <li>
- <h3>Opening</h3>
- <p>This presentation discussed the DPDK community and ecosystem status in China and worldwide, key direction, and event agenda.</p>
- <em>Heqing Zhu (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-Opening.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK in Container: Status Quo and Future Directions</h3>
- <p>This presentation discussed how DPDK can accelerate the container networking, problems in both data and control planes, progress and plan.</p>
- <em>Jianfeng Tan (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-Container.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>F-Stack, a Full User Space Network Service on DPDK</h3>
- <p>This presentation discussed the F-Stack, its design principle, architecture, main components, performance, and development history in Tencent.</p>
- <em>Hailong Wang (Tencent)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-FStack.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>A Better Virtio towards NFV Cloud</h3>
- <p>This presentation discussed the vHost data path acceleration technology to pave the way for Network Function Cloudification, including the roadmap to intercept DPDK, and the QEMU community.</p>
- <em>Cunming Liang (Intel), Xiao Wang (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-Virtio_vDPA.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Accelerate VM I/O via SPDK and Crypto for Generic vHost</h3>
- <p>This presentation discussed using DPDK generic vHost user library to build storage (vHost-SCSI) and crypto (vhost-crypto) applications. </p>
- <em>Changpeng Liu (Intel), Xin Zeng (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-SPDK_Vhost.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>OVS-DPDK Practices in Meituan Cloud</h3>
- <p>This presentation discussed the OVS-DPDK trial in Meituan, its progress and challenges for large adoption, as well as the gaps and solutions.</p>
- <em>Huai Huang (Meituan)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-OVS_Practices.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Network Performance Tuning, Lesson Learned</h3>
- <p>This presentation discussed the performance optimization methods, key lessons, success story with Intel and DPDK technology to achieve the significant performance boost for wireless workload.</p>
- <em>Fangliang Lou (ZTE)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-Network_Performance_Tuning.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>OPDL: on the Path to Packet Processing Nirvana</h3>
- <p>This presentation discussed an optimized packet distributor for core to core. OPDL decentralizes the distributor, all packets are maintained in order and atomic. It well addresses the high volume distribution needs for small packets. </p>
- <em>Liang Ma (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-OPDL.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Intel® 25GbE Ethernet Adapter Advanced Features for NFV</h3>
- <p>This presentation discussed the new 25Gbe Ethernet feature in DPDK, how to transit from 10Gbe to 25Gbe using Intel Ethernet, device personalization, NFV use case such as VF Daemon and the Adaptive VF Guest Interface.</p>
- <em>Helin Zhang (Intel), Jingjing Wu (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-Intel_25G.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Accelerate VPP Workload with DPDK Cryptodev Framework</h3>
- <p>This presentation discussed Cryptodev in DPDK framework and how to use it in VPP/IPsec scenario, as well as performance metric when Intel QAT is applied.</p>
- <em>Fan Zhang (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-VPP_Cryptodev.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Data Center Security Use Case with DPDK</h3>
- <p>This presentation discussed Tencent cloud data center's security needs, why move from the dedicated chip to x86/DPDK paths, how to use the multiple process model to design the security service, which lead to thousands of server adoption.</p>
- <em>Haohao Zhang (Tencent)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-Data_Center_Security.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Towards Low Latency Interrupt Mode PMD</h3>
- <p>This presentation discussed the interrupt/poll switching challenge, cost analysis to the interrupt PMD in baremtal and virutalization, as well as the tuning proposal of latency reduction.</p>
- <em>Yunhong Jiang (Intel), Wei Wang (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-Low_Latency_Interrupt_Mode.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Telco Data Plane Status, Challenges and Solutions</h3>
- <p>This presentation discussed the evolved path on how to develop the network appliance in multiple generations, from kernel to user space, from MIPS to x86, from integrated to distributed model. In addition, this presentation discussed how to construct NFV system on dual-socket server.</p>
- <em>Hao Lin (T1Networks)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-T1.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Support Millions Users in vBRAS</h3>
- <p>This presentation discussed the vBRAS on x86 platform and how to achieve millions of users' support.</p>
- <em>Zhaohui Sun (Panabit)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-vBRAS.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>A High Speed DPDK PMD Approach in LXC</h3>
- <p>This presentation discussed a new PMD for container network optimization to connect Linux and DPDK, in addition to a new design based on the vectorized ring buffer.</p>
- <em>Jie Zheng (United Stack)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-LXC_PMD.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Cloud Data Center, Network Security Practices</h3>
- <p>This presentation discussed traffic monitoring and analysis, network visualization framework on DPDK, and how to construct an efficient security cloud.</p>
- <em>Kai Wang (Yunshan)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-06-China-Cloud_Data_Center_Monitoring_Security.pdf"><i class="material-icons"></i></a>
- </li>
- </ul>
-</section>
-<footer></footer>
-</body>
-</html>
diff --git a/events/summit-2017-india.html b/events/summit-2017-india.html
deleted file mode 100644
index 1867eb4..0000000
--- a/events/summit-2017-india.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK events</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events" id="current">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
-</header>
-<section id="event">
- <h2>DPDK Summit, Bangalore - April 25-26, 2017</h2>
- <img class="venue" src="https://fast.dpdk.org/events/images/DPDK-2017-04-India-venue.jpg">
- <p>The event was held in the Vivanta by Taj Hotel, Bangalore.</p>
- <img class="room" src="https://fast.dpdk.org/events/images/DPDK-2017-04-India-room.jpg">
- <ul>
- <li>
- <h3>Introductions, Welcome and Agenda for the Day</h3>
- <em>Sujata Tibrewala (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-Intro.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=1lMJiKSP-Qs&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK Architecture and Roadmap</h3>
- <p>This talk will explore the motivation behind the existence of DPDK, why and how it evolved into what it is today and how the future roadmap addresses the needs of the Industry</p>
- <em>Kannan Babu Ramia (Intel), Deepak K Jain (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-Architecture_Roadmap.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=KMPsf5RKK88&index=2&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Supporting SoC devices in DPDK - Status Update</h3>
- <p>This talk is an extension of a talk presented in DPDK Summit Userspace 2016 in Dublin, where NXP presented a case for expanding DPDK towards non-standard (SoC) devices. That required a large number of fundamental changes in the DPDK framework to untangle from PCI specific code/functionality. In this talk we delve into current upstream design of 1) the bus 'driver', 2) the mempool 'driver', 3) the device driver, and how these layers tie up together to provide the device model in DPDK framework. </p>
- <em>Shreyansh Jain (NXP)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-SoC_Devices.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=r4Ve84d5v5c&index=3&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK on an Intelligent NIC</h3>
- <p>This presentation is about using DPDK as firmware on an Intelligent NIC (OCTEON TX). It will cover the firmware architecture and how DPDK fits in that architecture. It will discuss the hurdles faced and solutions used as part of this exercise.</p>
- <em>Vamsi Attunuru (Cavium)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-Intelligent_NIC.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=UJqmJI5CA4Q&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx&index=4"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Migrating from 10G to 25G</h3>
- <p>The Ethernet speed upgrade path was clearly defined as 10G->40G->100G. However, new developments in data center indicate the latest path for server connections will be 10G->25G->100G with potential for 10G->25G->50G->100G. This is because 25G provides a more efficient use of hardware and a more logical upgrade path to 100G.</p>
- <em>Jingjing Wu (Intel), Helin Zhang (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-Intel_25G.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=_YqIIp8s0R0&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx&index=8"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK Cook Book</h3>
- <p>The short talk is a quick tour of the book and show and tell of what each chapter contains. It is not going over the contents but giving info to developers as what each chapter contains. </p>
- <em>Muthurajan Jaya Kumar (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-Cookbook.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=58SaxA4UcCc&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx&index=5"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Implementation of Flow-Based QoS Mechanism with OVS and DPDK</h3>
- <p>The project objective is to implement 'Flow based QoS' for SDN-NFV platform using OVS and DPDK on Intel architecture. We will apply this QoS mechanism on Wipro vCPE platform and demonstrate performance improvement of real time traffic.</p>
- <em>Karuppusamy M (Wipro)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-QoS_OVS.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=d7wNKI7Q3W4&index=6&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Fast Path Programming</h3>
- <p>This session is a primer on the prominence of P4 as a high-level, domain-specific language for data path applications. While there are a few ASIC vendors like Barefoot Networks who are coming up with compilers for their platforms, we are looking at expanding the reach of P4 for virtual infrastructure / software based data path by showcasing how P4 can become a choice for writing DPDK applications and thus enhanced portability. </p>
- <em>Ramachandran Subramoniam (Happiest Minds), Vnpraveen Desu (Happiest Minds)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-P4.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=_i2V6t1vlLo&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx&index=7"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Dataplane for Subscriber Gateways</h3>
- <p>Subscriber gateways, such as BNG nodes, have unique requirements and challenges as compared to traditional routers. They need to be feature rich while also supporting high scale and throughput. This talk will provide an overview of a typical dataplane for subscriber gateways and highlight some of the design challenges in realizing the goals and the trade-offs to be considered.</p>
- <em>Natarajan Venkataraman (Ericsson)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-Subscriber_Gateway.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=kJRMldAa2qM&index=9&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Sample VNF in OPNFV</h3>
- <p>The topic begins with an introduction for developing data plane feature rich Virtual Network Function (VNF) using optimized DPDK libraries including ip-pipeline packet framework and taking advantage of basic x86 architecture. It covers concept of developing data plane applications for running with RTC (Run To completion) mode or Pipeline mode with just configuration change. It also covers the generic Best Known Methods for developing optimized data plane application on x86 architecture with specific code examples from samplevnf project from OPNFV. Finally concludes with the call for action to community to contribute in the samplevnf project in OPNFV for application development. </p>
- <em>Ramia Kannan Babu (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-BKM_OPNFV.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=q_xu9aVcVBU&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx&index=10"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Fast Data IO / Vector Packet Processor: Architecture overview</h3>
- <p>FD.io (Fast Data) is architected as a collection of sub-projects and provides a modular, extensible user space IO services framework that supports rapid development of high-throughput, low-latency and resource-efficient IO services. At the heart of fd.io is Vector Packet Processing (VPP) technology. This session will give an overview of VPP, its architecture and how it pushes packet processing to extreme limits of performance and scale.</p>
- <em>Shwetha Bhandari (Cisco)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-VPP.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=Rcq_hGVLb10&index=11&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Transport Layer Development Kit (TLDK)</h3>
- <p>This presentation provides an overview of the Transport Layer Development Kit (TLDK) project in FD.io.</p>
- <em>Mohammad Abdul Awal (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-TLDK.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=QwenRRWnNhs&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx&index=12"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>SFC with OVS-DPDK and FD.io-DPDK</h3>
- <p>DPDK has become the ubiquitous user space framework on which prominent open source switching software, Open vSwitch and FD.io run, and is widely integrated in OPNFV. This session discusses Open DayLIght (ODL) based SFC on both OVS-DPDK and FD.io with DPDK, and provides a comparative study on architecture, performance and latency of SFC use case on ARM SoCs.</p>
- <em>Prasad Gorja (NXP)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-ODL-SFC.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=Fng9-Y5P2Lo&index=13&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK Automation in Red Hat OpenStack Platform </h3>
- <p>In this talk, we would like to take you through the Red Hat's effort to provision the OpenStack cluster with OVS-DPDK/SR-IOV datapath with the needed EPA parameters. We will describe the deployment steps, and the need for composable roles to handle today's VNF deployment scenarios. </p>
- <em>Saravanan KR (Red Hat)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-RHOSP.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=RoZDSg9_NME&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx&index=14"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Packet Steering for Multicore Virtual Network Applications over DPDK</h3>
- <p>This presentation addresses the question of how packets must be steered from the kernel bypass mechanism to the user space applications. We investigate the following two questions: (i) Should packets be distributed to cores in hardware or in software? (ii) What information in the packet should be used to partition packets to cores?</p>
- <em>Priyanka Naik (IIT Mumbai), Mitali Yadav (IIT Mumbai)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-VNF.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=BmhqBY2AQoc&list=PLo97Rhbj4ceJLfOg0x52jvQik2r4yAZZx&index=15"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Cryptodev API</h3>
- <p>This presentation describes the cryptodev API, a framework for processing crypto workloads in DPDK. The cryptodev framework provides crypto poll mode drivers as well as a standard API that supports all these PMDs and can be used to perform various cipher, authentication, and AEAD symmetric crypto operations in DPDK. The library also provides the ability for effortless migration between hardware and software crypto accelerators.</p>
- <em>Deepak K Jain (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-04-India-Cryptodev.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=lgNcOzw30U8"><i class="material-icons"></i></a>
- </li>
- </ul>
-</section>
-<footer></footer>
-</body>
-</html>
diff --git a/events/summit-2017-ireland.html b/events/summit-2017-ireland.html
deleted file mode 100644
index d02a410..0000000
--- a/events/summit-2017-ireland.html
+++ /dev/null
@@ -1,225 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK events</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events" id="current">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
-</header>
-<section id="event">
- <h2>DPDK Userspace, Dublin - September 26-27, 2017</h2>
- <img class="venue" src="https://fast.dpdk.org/events/images/DPDK-2017-09-Ireland-venue.jpg">
- <p>The two-day event was held at The Clayton Hotel in Dublin.</p>
- <img class="room" src="https://fast.dpdk.org/events/images/DPDK-2017-09-Ireland-group.jpg">
- <ul>
- <li>
- <h3>Tech Board Presentation & Panel Discussion</h3>
- <p>Presentation and panel session with the Technical Board on: Who the Tech Board are, what their responsibilities are, recent issues that they've addressed, future technical priorities/challenges.</p>
- <em>Technical Board</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Technical_Board.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=GPYhtjXlFsQ"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Governing Board Presentation & Panel Discussion</h3>
- <p>Presentation and panel session with the Governing Board on: Who the Governing Board are, what their responsibilities are, progress to date, future priorities/challenges.</p>
- <em>Governing Board</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Governing_Board.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=FFql--6E67M&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK Bus Updates</h3>
- <p>DPDK bus infrastructure has been updated for last a few releases. Although these changes should not affect the user application, it worth mentioning the changes. In this talk, I will summarize the bus changes and mention from required modifications in drivers. </p>
- <em>Ferruh Yigit (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Bus.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=DmGM-OGTZS0&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=2"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Ideas for adding generic HW accelerators to DPDK</h3>
- <p>There are various kind of HW accelerators available with SoCs. Each of the accelerator may support different capabilities and interface. Many of these accelerators are programmable devices. In this talk we will discuss various ways to support such accelerators in a generic manner.</p>
- <em>Hemant Agrawal (NXP)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Raw_Device.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=SRTxzItU3EQ&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=3"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Let’s hot plug: use uevent mechanism to practice it in DPDK</h3>
- <p>Hot plug is a key requirement for live migration. So far, the hot plug and fail-safe implementation is still not friendly for PCIe devices. This talk proposes to add a general uevent mechanism in DPDK which include the uevent monitor and failure handler, to make it easy for DPDK users to implement hot plug.</p>
- <em>Jia Guo (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Hotplug_uevent.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=V-8z_O0aEZg&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=4"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Proposed method for sharing a (PCI) device between multiple PMDs</h3>
- <p>Devices on the PCI bus are found by the bus probe function. For each device, the list of registered drivers (PMDs) is searched until one (only) is found for the device. This presentation proposes a mechanism to share a pci device between multiple PMDs. It may also be extendable to non-pci devices. </p>
- <em>Fiona Trahe (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Shared_PCI_Devices.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=ZFuofbO3VTI&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=5"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK VMBus & Azure Support</h3>
- <p>This is talk about the current status and planned development of VMBus support for DPDK. This talk also gives an overview of how DPDK applications are enabled on Azure Accelerated Networking using the Fail-Safe, TAP and existing drivers. It will cover some of the requirements and plans for the future.</p>
- <em>Stephen Hemminger (Microsoft)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Azure.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=i88cEzQEJNA&index=6&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>rte_security: the case of IPsec offload</h3>
- <p>Encryption in today's networks is becoming ubiquitous. However, running crypto on general purpose CPUs is costly. In this talk we present joint work by NXP, Intel and Mellanox on offloading protocol processing to hardware providing better utilization of host CPU for packet processing.</p>
- <em>Boris Pismenny (Mellanox), Declan Doherty (Intel), Hemant Agrawal (NXP)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Security_API.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=7McYcoFyu0M&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=7"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK Quality of Service APIs</h3>
- <p>This presentation focuses on the new QoS Traffic Management API for Ethernet devices that was introduced by DPDK release 17.08, as well as the new QoS Traffic Metering and Policing API planned for DPDK release 17.11. We describe the API, device drives currently supporting it and software fall-back strategy using the SoftNIC PMD. </p>
- <em>Cristian Dumitrescu (Intel), Jasvinder Singh (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-QoS_APIs.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=z9EPCnawNoI&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=8"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Service Cores: The path to Abstracting SW/HW CPU Requirements in DPDK</h3>
- <p>Service cores is a library that abstracts the platform, providing an app with a consistent environment. Service cores allows switching of SW and HW PMDs with no application threading changes. This talk introduces service-cores, and opens discussion on how to enable DPDK with service cores.</p>
- <em>Harry van Haaren (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Service_Cores.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=OINB7T6NZYw&index=9&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Wireless Base Band Device (bbdev)</h3>
- <p>Wireless Base Band Device (bbdev) proposal for DPDK that abstracts HW accelerators based on FPGA and/or Fixed Function Accelerators that assist with LTE Physical Layer processing. Furthermore, it decouples the application from the compute-intensive wireless functions by abstracting their optimized libraries to appear as virtual bbdev devices. </p>
- <em>Amr Mokhtar (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-BBdev.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=j5CF9qgKeDA&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=10"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK to support InfiniBand Link Layer</h3>
- <p>There are many large InfiniBand clusters in the HPC market, they too would like to gain the DPDK user space high packet rate processing advantage, in addition to the RDMA capabilities. I will present the basic InfiniBand and IPoIB differences from Ethernet, and present results from a live POC on a 20 node cluster with DPDK using IPoIB </p>
- <em>Shahaf Shuler (Mellanox)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Infiniband.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=Xmv1B5c-hy0&index=11&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Community Activity, CI & Tools</h3>
- <p>The userspace summit is a good place to make a yearly summary of community changes and interactions. It is also important to describe how DPDK interact with other communities. The last part would be about community processes (repositories, distributed CI, bugs tracking, tooling, website, mailing lists and Linux Foundation). </p>
- <em>Thomas Monjalon (Mellanox), Qian Xu (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Community_Tools.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=dZs2uBG2M7I&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=12"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>ABI Stability and LTS: Current state and Future</h3>
- <p>This session will be a panel discussion of the future direction of ABI stability & LTS/Stable releases. In particular it will look at the request for a yearly xx.11 LTS release with a 2 year duration.</p>
- <em>John McNamara (Intel), Ian Stokes (Intel), Luca Boccassi (AT&T), Kevin Traynor (Red Hat)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Stability.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=jkGnBv6O7RQ&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=13"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Implementing an SR-IOV Hypervisor using DPDK</h3>
- <p>In the presentation we will describe VFd, a hypervisor for SRIOV NICs jointly developed by AT&T and Intel, which uses DPDK and acts as policy enforcement software allowing advanced configuration of SR-IOV capable Network Interfaces. We will provide overview of the use cases and new DPDK API’s to support them. </p>
- <em>Alex Zelezniak (AT&T)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-VFd.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=0LcgIIp1DJQ&index=14&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK SRIOV and control over embedded switch</h3>
- <p>When working in SRIOV mode, we would prefer to let majority of the traffic to pass in HW directly from/to wire to/from VF, while the OVS-DPDK application only needs to handle exception packet flows on the PF. To support this mode we want to show a new Representor Ports model of the HW switch, which can be controlled from DPDK.</p>
- <em>Alex Rosenbaum (Mellanox)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-SRIOV_Embedded_Switch.pdf"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>A framework for representation, configuration, and management of virtual function ports in DPDK</h3>
- <p>This presentation introduces a port representor framework to DPDK. The framework based around a virtual representor PMD and representor broker plugin for physical function devices, provides the infrastructure to allow SR-IOV virtual function ports to be configured, managed and monitored within a single control application.</p>
- <em>Declan Doherty (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Port_Representor.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=uyIRSjjgZL8&index=15&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Improve VNF safety with Vhost-User/DPDK IOMMU support</h3>
- <p>This talk will focus on improving VNF safety with Virtio and Vhost-user backend. Maxime will first describe VNF architecture relying on Virtio/Vhost-user. Then, he will talk about IOMMU support for the Vhost-user backend. Finally, Maxime will provide benchmarks results and discuss ways to improve both performance & safety. </p>
- <em>Maxime Coquelin (Red Hat)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Vhost_User_IOMMU.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=3vnDuSgfQ-U&index=16&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Virtio Status Update and New Ring Layout</h3>
- <p>The packed ring layout is the next generation ring layout standard for Virtio, which is designed for high performance and still in the proposal stage. This talk will give a quick introduction to this new ring layout definitions and summary the current status, findings and benchmark results of the prototype in DPDK. </p>
- <em>Zhihong Wang (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Virtualization.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=Jzk2Uot_xKE&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=17"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Power Aware Packet Processing</h3>
- <p>A drive to deliver OPEX saving and performance where and when it's needed. Enter a new era of power optimized packet processing. This talk reviews new & existing dpdk extensions for policy based power control proposed in August and the associated performance benefits. </p>
- <em>Chris MacNamara (Intel), Dave Hunt (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Power_Aware.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=jJTCrge6Kxs&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=18"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK, VPP and pfSense 3.0</h3>
- <p>pfSense is a open source firewall/vpn appliance, based on FreeBSD, started in 2006 with over 1M active installs. We are basing pfSense release 3.0 on FD.io's VPP, leveraging key DPDK components including cryptodev, while adding a CLI and RESTCONF layer, leveraging FRRouting and Strongswan.</p>
- <em>Jim Thompson (Netgate)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-pfSense.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=lMJy8vKm47E&index=19&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Rapid prototyping of DPDK applications with libmoon</h3>
- <p>This talk is about our framework libmoon, a wrapper for DPDK that makes building DPDK prototypes simple and fast. We've used it for multiple research prototypes as well as our packet generator MoonGen (presented last year here). </p>
- <em>Paul Emmerich (Technical University of Munich)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Libmoon.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=lFdXACr84qU&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=20"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Using DPDK with Go</h3>
- <p>In our presentation, we share the lesson learned from our experience using DPDK with Go in order to implement a software router Lagopus2 (https://github.com/lagopus/vsw). We'll explain how we carefully designed DPDK binding in Go to guarantee the type safeness and the performance at the same time. </p>
- <em>Takanari Hayama (Igel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Lagopus_Go.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=RgCpfyhQckc&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq&index=21"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>T4P4S: When P4 meets DPDK</h3>
- <p>T4P4S is a P4 compiler supporting flexible re-targetability without sacrificing high performance packet processing. To achieve this goal, it is split into hardware dependent and independent components. This talk will show the architecture of T4P4S and the design decisions made to support DPDK. </p>
- <em>Sándor Laki (ELTE Eötvös Loránd University)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-T4P4S.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=tEfojfyJTL4&index=22&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Dataplane Networking journey in Containers</h3>
- <p>Our advanced Container Network Interface combines the benefits of containers with DPDK‘s ultra-low latency and fast packet processing and the results show 28x more performance with SRIOV, DPDK using Vhost-User with OVS-DPDK and VPP.</p>
- <em>Kuralamudhan Ramakrishnan (Intel), Gary Loughnane (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-09-Ireland-Containers.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=-0oVgcoGfhg&index=23&list=PLo97Rhbj4ceJVcpgvG6_RXkenW9EQAKxq"><i class="material-icons"></i></a>
- </li>
- </ul>
-</section>
-<footer></footer>
-</body>
-</html>
diff --git a/events/summit-2017-usa.html b/events/summit-2017-usa.html
deleted file mode 100644
index 14e87c4..0000000
--- a/events/summit-2017-usa.html
+++ /dev/null
@@ -1,350 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK events</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events" id="current">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
-</header>
-<section id="event">
- <h2>DPDK Summit, San Jose - November 14-15, 2017</h2>
- <img class="venue" src="https://fast.dpdk.org/events/images/DPDK-2017-11-USA-venue.jpg">
- <p>This event was held in Club Auto Sport, San Jose.</p>
- <img class="room" src="https://fast.dpdk.org/events/images/DPDK-2017-11-USA-room.jpg">
- <ul>
- <li>
- <h3>Opening Remarks & Governing Board</h3>
- <p>Introduction to the event, including a review of the agenda, logistics and expectations. An update from the Governing Board on who the Governing Board are, what their responsibilities are, progress to date, future priorities/challenges for the project.</p>
- <em>Jim St. Leger (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Opening.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=wmtqFo87lSA&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Community Survey Feedback</h3>
- <p>We conducted a survey of the DPDK community, soliciting input on a variety of topics including DPDK usage, roadmap, performance, patch submission process, documentation and tools. This session will present the results of the survey, which will help to guide the future direction of the project.</p>
- <em>John McNamara (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Community_Survey_Feedback.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=rb5vPpWvYY8&index=2&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Reducing Barriers to Adoption - Making DPDK Easier to Integrate into Your Application </h3>
- <p>While DPDK is a widely-adopted software package for high-performance networking applications, there are a number of ways in which it is harder to use than it otherwise needs to be. This is especially true when it comes to integrating DPDK with an existing legacy codebase. This presentation will look at some of the issues and provide an update on current development and prototyping work to simplify DPDK integration with existing code. </p>
- <em>Bruce Richardson (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Reducing_Barriers_to_Adoption.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=w_2fZBm5M7Y&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=3"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>New Command Line Interface for DPDK</h3>
- <p>The current command line interface for DPDK called cmdline has a number of limitation and a complex user design. The next command line for DPDK called CLI is more dynamic with a simple directory style design. The directory style design allows for commands to be placed in a hierarchy for easy integration, plus supporting a simple argc/argv function interface. Using these features reduced the LOC in test-pmd cmdline file from 12K to ~4K. The presentation includes an example usage. </p>
- <em>Keith Wiles (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-New_CLI.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=9P6nqEUGT34&index=4&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Event Adapters - Connecting Devices to Eventdev </h3>
- <p>Recently, the DPDK has enabled applications to use dynamically load balanced pipelines with the introduction of libeventdev. In addition to using eventdev for CPU to CPU pipelines, devices such as ethdev, cryptodev and timers need to be able to inject events into eventdev. Currently, we are in the process of upstreaming extensions to eventdev called eventdev adapters for each of these devices that would allow applications to configure event input from these devices to the event device. We will discuss each of the adapter APIs and show example code that allow event based applications to be written in a platform independent manner.</p>
- <em>Nikhil Rao (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Event_Adapters.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=GRr6dOjnBCI&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=5"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-based Applications </h3>
- <p>A major part of packet processing has to be done on a per-packet basis, such as switching and TCP/IP header processing. The overhead of the per-packet routines, however, exerts a significant impact on the performance of network processing. Generic Receive Offload (GRO) and Generic Segmentation Offload (GSO) are two effective techniques for mitigating the per-packet processing overhead by reducing the number of packets to be processed. Specifically, GRO merges the receiving packets of the same flow in RX, while GSO delays packet segmentation in TX.</p>
- <em>Jiayu Hu (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-GRO_GSO_Libraries.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=oQGJhP6-kp8&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=6"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Power Aware Packet Processing </h3>
- <p>A drive to deliver OPEX saving and performance where and when it's needed. Enter a new era of power optimized packet processing. This talk reviews new & existing DPDK extensions for policy based power control proposed in August and the associated performance benefits.</p>
- <em>Chris MacNamara (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Power_Aware.pdf">
- <i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=2kQGKCBNGtI&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=7">
- <i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Enhanced Memory Management</h3>
- <p>In this presentation we will be reviewing Enhanced Memory Management techniques and multi-process enhancements as a possible way to seamlessly solve burning issues like slow initialization, memory protection, memory hotplug, dynamic scale up/down, physically vs virtually contiguous, inter-vm shared memory etc. </p>
- <em>Laszlo Vadkerti (Ericsson), Jiangtao Zhang (Ericsson)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Enhanced_Memory_Management.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=m81tijZ9ZZM&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=8"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Making networking apps scream on Windows with DPDK</h3>
- <p>Network bandwidth is precious and milliseconds matter for many user-mode applications and virtual appliances running on both Linux and Windows. In order to get the best network throughput to process and forward packets, developers need direct access to the NIC without going through the host networking stack. Until now, only developers on Linux and FreeBSD platforms were able to use DPDK to obtain these performance benefits but, we are happy to announce that we have an implementation of DPDK for the Windows platform!</p>
- <em>Jason Messer (Microsoft), Manasi Deval (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Microsoft_Windows.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=dZjmt483eyE&index=9&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Mediated Devices: Better Userland IO</h3>
- <p>Unbinding Linux kernel drivers to allow userland IO through VFIO has a number of disadvantages such as another large touchy code base to deal with the hardware, loss of standard Linux tools (ifconfig, ethtool, tcpdump, SNMPd...) and impossibility to accelerate container networking. Mediated device introduced in Linux kernel 4.10 for GPUs and provisions for additional devices hold the promise of collaboration between kernel drivers and userland application in need of direct datapath steering.</p>
- <em>François-Frédéric Ozog (Linaro)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Mediated_Devices.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=XvFVNBqoQNo&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=10"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Mellanox bifurcated driver model </h3>
- <p>Mellanox PMD uses verbs instead of taking full control over the device (PCI). That allows the kernel (netdev) and more than a single PMD to run on a single PCI function.
-If the DPDK app is not steering by rte_flow, all the traffic the packets be processed by the kernel net device.</p>
- <em>Rony Efraim (Mellanox)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Mellanox_Bifurcated_Driver_Model.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=Qe0Cr8JTwqc&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=11"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK with KNI – Pushing the Performance of an SDWAN Gateway to Highway Limits! </h3>
- <p>An SDWAN gateway is usually built with an x86 commercial off-the-shelf (COTS) hardware that often runs a variant of Linux Operating System and requires high throughput for connecting a corporate’s branch network with its Data Centers. However owing to the inherent limitations of standard 4K sized pages without dedicated resource allocations in a general-purpose Linux kernel, it has been seen that even a high-end SDWAN gateway hardware cannot forward traffic to its full potential.</p>
- <em>Sabyasachi Sengupta (Nuage Networks)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-SDWAN_KNI.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=MHzVDza1Cjc&index=12&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK as microservices in ZTE Paas </h3>
- <p>To provide high performance for ICT (Information Communications Technology) area, we use DPDK as a micro service in container networking. We used primary/secondary mode, rte_ring, sharing meory and so on, to promote the performance of datapath. We achieved bidirectional zero-copy between containers in contrast to only dequeue zero copy in vhost-user/virtio-user.</p>
- <em>Yong Wang (ZTE), Songming Yan (ZTE)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Microservices_in_ZTE_Paas.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=lfhAWkkOoYs&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=16"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Accelerate Clear Container Network performance</h3>
- <p>Clear Container is a great technology to secure a container with a fast and lightweight hypervisor, and there might be very different type of workloads running inside Clear Containers, e.g. some workloads require high packet processing rate (PPS) and some workloads require massive data transfer (BPS), given Clear Container’s much higher density than Virtual Machine, a high performance virtual switch is very critical and demands is highly emerged, but current available virtual switches is still far behind those demands.</p>
- <em>Jun Xiao (CloudNetEngine)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Container_Network_Performance.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=qGdlTW6O2FE&index=17&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>The Path to Data Plane Microservices</h3>
- <p>DPDK revolutionized software packet processing initially for discrete appliances and then for Virtual Network Functions. Containers and µServices technology are extensively used as a means to scale up and out in the Cloud. These technologies now include Comms Service Providers among their advocates, and embracing these technologies with their scaling model and resiliency is the new frontier in software packet processing.</p>
- <em>Ray Kinsella (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Microservices_Models.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=d1mQerNPc5k&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=18"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Container Panel Discussion</h3>
- <p>A panel discussion with Yong Wang, Songming Yan, Jun Xiao and Ray Kinsella to discuss DPDK enablement of containers and micro-services.</p>
- <a class="Video" href="https://youtube.com/watch?v=ZHnlifpExKw&index=13&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Accelerate storage service via SPDK</h3>
- <p>SPDK (storage performance development kit, http://spdk.io) is an open source library used to accelerate the storage service (e.g., file, block) especially for PCIe SSDs (e.g., 3D Xpoint SSDs). The foundation of SPDK is the user space, asynchronous and polled mode drivers (e.g., IOAT and NVMe), and the idea of which is similar to DPDK.</p>
- <em>Jim Harris (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-SPDK.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=4GOfsPDX_Bs&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=14"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Accelerating P4-based Dataplane with DPDK</h3>
- <p>The high-level P4 programming language promises protocol and hardware-agnostic design of network functions. As the low-level functional implementation, the P4 Behavior Model (BMv2) provides the necessary constructional blocks (parser, deparser, lookup tables, and action primitives, etc.) into which any P4 dataplane programs can be compiled.</p>
- <em>Peilong Li (University of Massachusetts Lowell)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-P4_BMAcc.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=Iqjx0qKi9Zw&index=15&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Implementation and Testing of Soft Patch Panel</h3>
- <p>SPP is a framework to easily interconnect DPDK applications on host and guest virtual machines together, and assign resources dynamically to these applications.
-As a carrier service provider, we expect that SPP improves performance and usability for inter-VM communication for large scale NFV environment.</p>
- <em>Tetsuro Nakamura (NTT), Yasufumi Ogawa (NTT)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Soft_Patch_Panel.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=nh6179rUppc&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=19"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Reflections on Mirroring With DPDK </h3>
- <p>Debugging network problems is often hard, and further complicated when a guest O/S is provided with an SR-IOV VF bound to a DPDK driver because tools running on the physical host (e.g. tcpdump) lose visibility to the interface. Hardware mirroring of traffic to another VF provides the ability to regain visibility and to help facilitate the troubleshooting process.</p>
- <em>E. Scott Daniels (AT&T Labs)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Reflections_on_Mirroring.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=HuntAGT1uLU&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=20"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>A network application API on top of device APIs </h3>
- <p>NFV promise is to be able to instantiate or even live migrate VMs on different platforms and have applications benefit from whatever acceleration is available. As a result, the application developer shall not make compilation or define application architecture based on what he/she expects from the runtime environment. ODP and DPDK have in common the concept of "device" APIs (Ethernet, crypto, events, IPsec, compression...) with distinct approaches.</p>
- <em>François-Frédéric Ozog (Linaro)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Abstract_Network_APIs.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=oBdiY3VPyTk&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=21"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>SafetyOrange - a tiny server class multi-purpose box with DPDK</h3>
- <p>SafetyOrange is a portable (4.3 liter) and silent Xeon computer. Well, it is larger than 'DPDK in a box' but it supports two NICs (as of now sporting 2 XL710 cards), has 32G of memory and 14 cores. We have been using it for testing both native and virtualized DPDK appliances also whole virtual routers and served as a traffic generator for performance tests (DPDK pktgen), too. It is a brilliant development environment, too. And at the end of the day it still fits into a regular backpack.</p>
- <em>Andras Kovacs (Ericsson), Laszlo Vadkerti (Ericsson)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Safety_Orange.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=ylgV5TUdErU&index=22&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Technical Roadmap</h3>
- <p>An update from the Technical Board covering the future roadmap and technical challenges for the project.</p>
- <em>Technical Board</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Technical_Board.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=1WkwsRgjNeo&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=23"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>rte_raw_device: implementing programmable accelerators using generic offload </h3>
- <p>There are various kinds of HW accelerators available with SoCs. Each of the accelerators may support different capabilities and interfaces. Many of these accelerators are programmable devices. In this talk we will discuss the rte_raw_device and implementing a sample driver with it for NXP AIOP generic programmable accelerator. </p>
- <em>Hemant Agrawal (NXP), Shreyansh Jain (NXP)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Raw_Device_Accelerator.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=LtqbfSAnRQE&index=24&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK support for new hardware offloads</h3>
- <p>Fully programmable SmartNICs allow new offloads like OVS, eBPF, P4 or vRouter, and the Linux kernel is changing for supporting them. Having these same offloads when using DPDK is a possibility although the implications are not clear yet. We present Netronome’s perspective for adding such a support to DPDK mainly for OVS and eBPF.</p>
- <em>Alejandro Lucero (Netronome)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-New_Hardware_Offloads.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=LQpu2GE6wxI&index=25&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Flexible and Extensible support for new protocol processing with DPDK using Dynamic Device Personalization </h3>
- <p>Dynamic Device Personalization allows a DPDK application to enable identification of new protocols, for example, GTP, PPPoE, QUIC, without changing the hardware. The demo showcases a DPDK application identifying and spreading traffic on GTP and QUIC. Dynamic Device Personalization can be used on any OS supported by DPDK, for example we showcase a QUIC protocol classification demo on Windows OS. </p>
- <em>Andrey Chilikin (Intel), Brian Johnson (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Dynamic_Device_Personalization.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=X8aMDdAnnBI&index=26&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Serverless DPDK - How SmartNIC resident DPDK Accelerates Packet Processing </h3>
- <p>Cloud architectures and business models are driving the need to ensure that all server compute resources have a revenue tie-in, heralding the march towards the serverless dataplane. This session presents a unique way to harness the power of DPDK to accelerate packet processing by pushing the data plane into a SmartNIC. We will discuss the motivation, benefits and challenges of implementing a DPDK based data plane running on the compute resources embedded in a SmartNIC.</p>
- <em>Nishant Lodha (Cavium)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Serverless_SmartNIC.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=xK4WAHBnzRs&index=27&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Enabling hardware acceleration in DPDK data plane applications </h3>
- <p>This presentation will look at the challenges faced in leveraging hardware acceleration in DPDK enabled applications, addressing some of the problems posed in creating consistent hardware agnostic APIs to support multiple accelerators with non-aligned features, and the knock implications this can have to application designs.</p>
- <em>Declan Doherty (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Hardware_Acceleration.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=Z52kLi-ce74&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=28"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>rte_security: enhancing IPSEC offload</h3>
- <p>In this talk we present a joint work of NXP, Intel and Mellanox on offloading security protocol processing to hardware providing better utilization of host CPU for packet processing. This talk provides the overview of new enhancement in the rte_security APIs to support various features of IPSEC offloads as inline or lookaside offload.</p>
- <em>Hemant Agrawal (NXP), Declan Doherty (Intel), Boris Pismenny (Mellanox)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Security_IPsec_offload.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=DOd4Ov_u5IM&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=29"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Mellanox FPGA </h3>
- <p>The FPGA allows a wide variety of features to be supported in DPDK.
-We observe that programmable HW is useful for packet-processing pipelines.
-For example, consider a pipeline of multiple match-action operations, in which actions may also specify generic packet modifications that are carried out by accelerators. In this case, the CPU is only involved at the beginning (transmission) or end (reception) of the pipeline, while the accelerator invocations are initiated by NIC matching operations.</p>
- <em>Boris Pismenny (Mellanox)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-FPGA_NICs.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=ocfetQ5edvI&index=30&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>SMARTNIC, FPGA, IPSEC Panel discussion</h3>
- <p>A panel discussion with Hemant Agrawal, Alejandro Lucero, Andrey Chilikin, Brian Johnson, Nishant Lodha, Declan Doherty and Boris Pismenny to discuss DPDK enablement for smart NICs, FPGA and IPsec.</p>
- <a class="Video" href="https://youtube.com/watch?v=wwoqVUCR0Zw&index=31&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>VPP Host Stack </h3>
- <p>Although packet forwarding with VPP and DPDK can now scale to tens of millions of packets per second per core, lack of alternatives to kernel-based sockets means that containers and host applications cannot take full advantage of this speed. To fill this gap, VPP was recently added functionality specifically designed to allow containerized or host applications to communicate via shared-memory if co-located, or via a high-performance TCP stack inter-host.</p>
- <em>Florin Coras (Cisco)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-VPP_Host_Stack.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=NWG7A0are00&index=32&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK's best kept secret – Micro-benchmark performance tests </h3>
- <p>To have apple to apple comparisons, developers need a common ground of base level metrics. That common ground is ability to identify the basic DPDK building block of importance (as well as relevance to the work load) e.g., producer/consumer rings and measure the cycle cost associated with basic operation like enque/dequeing – bulk versus single.</p>
- <em>Muthurajan Jayakumar (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Micro_Benchmarks.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=L1TMdqpq0b0&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=33"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK on Microsoft Azure</h3>
- <p>SDN is at the foundation of all large scale networks in the public cloud, such as Microsoft Azure. But how do we make a software network scale to an era of 40/50+ gigabit networks and provide great performance for network applications and NFV in VMs? In this presentation, Daniel Firestone and Madhan Sivakumar will detail Azure Accelerated Networking for Linux with DPDK, using Azure's FPGA-based SmartNICs to accelerate Linux workloads using SR-IOV. </p>
- <em>Daniel Firestone (Microsoft), Madhan Sivakumar (Microsoft)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Microsoft_Azure.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=mHSan8xf3ao&index=34&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>OpenNetVM: A high-performance NFV platforms to meet future communication challenges</h3>
- <p>To truly achieve the vision of a high-performance software-based network that is flexible, lower-cost, and agile, a fast and carefully designed NFV platform along with a comprehensive SDN control plane is needed. Our high-performance NFV platform, OpenNetVM, exploits DPDK and enables high bandwidth network functions to operate at near line speed, while taking advantage of the flexibility and customization of low cost commodity servers.</p>
- <em>K. K. Ramakrishnan (Univ. of California, Riverside)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-OpenNetVM.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=vIRdP4B4U9k&index=35&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Make DPDK's software traffic manager a deployable solution for vBNG </h3>
- <p>Achieving network functions parity across purpose-built ASIC implementation and virtual implementation is not straightforward. Irrespective of differences in performance capability between purpose-built and virtual environments. Functional disfiguration represents a significant obstacle in operators’ adoption of virtualization as it implies a dependency on access/aggregation network topology and configuration.</p>
- <em>Csaba Keszei (Ericsson)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Traffic_Manager_for_vBNG.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=1S7mRW67OcI&index=36&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>OpenVswitch hardware offload over DPDK</h3>
- <p>Telcos and Cloud providers are looking for higher performance and scalability when building nextgen datacenters for NFV & SDN deployments. While running OVS over DPDK reduces the CPU overload of interrupt driven packet processing, CPU cores are still not completely freed up from polling of packet queues.</p>
- <em>Rony Efraim (Mellanox)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-OVS_Hardware_Offload.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=_GRkRGl1N10&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=38"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Accelerating NFV with VMware's Enhanced Network Stack (ENS) and Intel's Poll Mode Drivers (PMD)</h3>
- <p>Network Functions Virtualization (NFV) deployments are happening at a rapid pace. This is driving the need to more efficiently consolidate compute, storage and communication workloads. NFV enables Communications Service Providers to migrate their fixed function networking elements to a general purpose server; however there is the need preserve the existing performance and latency. To support such workloads a vSwitch that enables both high throughput and low latency is a must. </p>
- <em>Jin Heo (VMware), Rahul Shah (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-VMware_ENS.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=OfeAXrqHfi0&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=39"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>DPDK Membership Library</h3>
- <p>In this talk we will present the new DPDK Membership Library, this library is used to create what we call a “set-summary” which is a new data structure that is used to summarize large set of elements. It is the generalization and extension to the traditional filter structure, e.g. bloom filter, cuckoo filter, etc to efficiently test if a key belongs to a large set.</p>
- <em>Sameh Gobriel (Intel)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Membership_Library.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=28-0Q8vtH1E&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=40"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Integrating and using DPDK with Open vSwitch</h3>
- <p>Some applications are written from the ground up with DPDK in mind, but Open vSwitch is not one of them. This talk will look at how Open vSwitch integrated and uses DPDK. It will look at various aspects such as DPDK initialization, threading, and the usage of DPDK PMD's and libraries. It will also talk about DPDK usability aspects such as LTS and API/ABI stability and the effect they have on Open vSwitch with DPDK. </p>
- <em>Aaron Conole (Red Hat), Kevin Traynor (Red Hat)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-OVS_Feedback.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=bUZSDm809K8&index=41&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Lagopus Router</h3>
- <p>In this talk, we introduce a new open source router implementation called Lagopus Router. It is an extensible microservice architecture router that consists of a DPDK router dataplane, router agents, and a pub/sub-based centralized configuration manager. These modules are written in Go and C and are loosely coupled to each other by gRPC.</p>
- <em>Tomoya Hibi (NTT), Hirokazu Takahashi (NTT)</em>
- <a class="Slides" href="https://fast.dpdk.org/events/slides/DPDK-2017-11-USA-Lagopus_Router.pdf"><i class="material-icons"></i></a>
- <a class="Video" href="https://youtube.com/watch?v=YsHpZvnlHdM&index=42&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>vSwitch Panel Discussion</h3>
- <p>A panel discussion with Rony Efraim, Jin Heo, Rahul Shah, Sameh Gobriel, Charlie Tai, Aaron Conole, Kevin Traynor, Tomoya Hibi and Hirokazu Takahashi to discuss DPDK acceleration of vswitches.</p>
- <a class="Video" href="https://youtube.com/watch?v=WVKjbG3L8Bw&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9&index=43"><i class="material-icons"></i></a>
- </li>
- <li>
- <h3>Closing Remarks</h3>
- <em>Jim St. Leger (Intel)</em>
- <a class="Video" href="https://youtube.com/watch?v=twOBfzdg660&index=44&list=PLo97Rhbj4ceL8rcXQUucIZNIFiIDIqVf9"><i class="material-icons"></i></a>
- </li>
- </ul>
-</section>
-<footer></footer>
-</body>
-</html>
diff --git a/fonts.css b/fonts.css
deleted file mode 100644
index 447ab62..0000000
--- a/fonts.css
+++ /dev/null
@@ -1,61 +0,0 @@
-@font-face {
- font-family: 'opensans';
- src: url('https://fast.dpdk.org/fonts/opensans-regular.eot');
- src: url('https://fast.dpdk.org/fonts/opensans-regular.eot?#iefix') format('embedded-opentype'),
- url('https://fast.dpdk.org/fonts/opensans-regular.woff') format('woff'),
- url('https://fast.dpdk.org/fonts/opensans-regular.ttf') format('truetype'),
- url('https://fast.dpdk.org/fonts/opensans-regular.svg#open_sansregular') format('svg');
- font-weight: normal;
- font-style: normal;
-}
-@font-face {
- font-family: 'opensans';
- src: url('https://fast.dpdk.org/fonts/opensans-semibold.eot');
- src: url('https://fast.dpdk.org/fonts/opensans-semibold.eot?#iefix') format('embedded-opentype'),
- url('https://fast.dpdk.org/fonts/opensans-semibold.woff') format('woff'),
- url('https://fast.dpdk.org/fonts/opensans-semibold.ttf') format('truetype'),
- url('https://fast.dpdk.org/fonts/opensans-semibold.svg#open_sanssemibold') format('svg');
- font-weight: bold;
- font-style: normal;
-}
-@font-face {
- font-family: 'opensans';
- src: url('https://fast.dpdk.org/fonts/opensans-italic.eot');
- src: url('https://fast.dpdk.org/fonts/opensans-italic.eot?#iefix') format('embedded-opentype'),
- url('https://fast.dpdk.org/fonts/opensans-italic.woff') format('woff'),
- url('https://fast.dpdk.org/fonts/opensans-italic.ttf') format('truetype'),
- url('https://fast.dpdk.org/fonts/opensans-italic.svg#open_sansitalic') format('svg');
- font-weight: normal;
- font-style: italic;
-}
-
-@font-face {
- font-family: 'exo2';
- src: url('https://fast.dpdk.org/fonts/exo2-regular.eot');
- src: url('https://fast.dpdk.org/fonts/exo2-regular.eot?#iefix') format('embedded-opentype'),
- url('https://fast.dpdk.org/fonts/exo2-regular.woff') format('woff'),
- url('https://fast.dpdk.org/fonts/exo2-regular.ttf') format('truetype'),
- url('https://fast.dpdk.org/fonts/exo2-regular.svg#exo_2.0regular') format('svg');
- font-weight: normal;
- font-style: normal;
-}
-@font-face {
- font-family: 'exo2';
- src: url('https://fast.dpdk.org/fonts/exo2-bold.eot');
- src: url('https://fast.dpdk.org/fonts/exo2-bold.eot?#iefix') format('embedded-opentype'),
- url('https://fast.dpdk.org/fonts/exo2-bold.woff') format('woff'),
- url('https://fast.dpdk.org/fonts/exo2-bold.ttf') format('truetype'),
- url('https://fast.dpdk.org/fonts/exo2-bold.svg#exo_2.0bold') format('svg');
- font-weight: bold;
- font-style: normal;
-}
-@font-face {
- font-family: 'exo2';
- src: url('https://fast.dpdk.org/fonts/exo2-blackitalic.eot');
- src: url('https://fast.dpdk.org/fonts/exo2-blackitalic.eot?#iefix') format('embedded-opentype'),
- url('https://fast.dpdk.org/fonts/exo2-blackitalic.woff') format('woff'),
- url('https://fast.dpdk.org/fonts/exo2-blackitalic.ttf') format('truetype'),
- url('https://fast.dpdk.org/fonts/exo2-blackitalic.svg#exo_2.0black_italic') format('svg');
- font-weight: bold;
- font-style: italic;
-}
diff --git a/fonts/exo2-blackitalic.eot b/fonts/exo2-blackitalic.eot
deleted file mode 100644
index 1ba6f27..0000000
--- a/fonts/exo2-blackitalic.eot
+++ /dev/null
Binary files differ
diff --git a/fonts/exo2-blackitalic.svg b/fonts/exo2-blackitalic.svg
deleted file mode 100644
index dc33319..0000000
--- a/fonts/exo2-blackitalic.svg
+++ /dev/null
@@ -1,996 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="exo_2.0black_italic" horiz-adv-x="382" >
-<font-face units-per-em="1000" ascent="800" descent="-200" />
-<missing-glyph horiz-adv-x="210" />
-<glyph horiz-adv-x="1000" />
-<glyph horiz-adv-x="1000" />
-<glyph unicode="&#xd;" horiz-adv-x="1000" />
-<glyph unicode=" " horiz-adv-x="210" />
-<glyph unicode="&#x09;" horiz-adv-x="210" />
-<glyph unicode="&#xa0;" horiz-adv-x="210" />
-<glyph unicode="!" horiz-adv-x="328" d="M38 76l5 41q10 68 81 68h40q36 0 55 -19.5t14 -56.5l-6 -41q-5 -36 -23.5 -52t-56.5 -16h-40q-78 0 -69 76zM73 227l11 234l32 234h208l-32 -234l-55 -234h-164z" />
-<glyph unicode="&#x22;" horiz-adv-x="394" d="M71 462l20 228h144l-44 -228h-120zM250 462l20 228h144l-44 -228h-120z" />
-<glyph unicode="#" horiz-adv-x="743" d="M6 182l42 122h115l31 100h-114l41 122h111l52 164h157l-52 -164h94l52 164h157l-52 -164h114l-41 -122h-111l-31 -100h110l-42 -122h-107l-57 -182h-157l57 182h-94l-57 -182h-157l57 182h-118zM320 304h94l31 100h-94z" />
-<glyph unicode="$" horiz-adv-x="583" d="M0 21l21 151q185 -5 233 -5q40 0 56 6.5t20 22.5q3 13 -3.5 21.5t-25.5 17.5l-121 62q-80 42 -105 92t-17 120q12 104 72 147t185 48l24 87h156l-26 -95q69 -10 120 -28l-20 -138q-118 2 -237 2q-31 0 -44 -6t-16 -22q-5 -23 41 -45l110 -55q80 -41 105.5 -88.5 t16.5 -126.5q-13 -114 -69.5 -157.5t-191.5 -45.5l-23 -94h-155l25 104q-69 8 -131 25z" />
-<glyph unicode="%" horiz-adv-x="919" d="M50 506q16 115 58 156.5t139 41.5q102 0 142 -47.5t23 -166.5q-16 -115 -58.5 -156.5t-140.5 -41.5q-101 0 -140.5 47.5t-22.5 166.5zM162 0l477 690h130l-477 -690h-130zM201 490q-8 -60 -5.5 -74.5t22.5 -14.5q21 0 28 17t15 88q6 60 3.5 74.5t-21.5 14.5t-26 -17 t-16 -88zM521 200q16 115 58 156.5t139 41.5q102 0 142 -47.5t23 -166.5q-16 -115 -58.5 -156.5t-140.5 -41.5q-101 0 -140.5 47.5t-22.5 166.5zM672 184q-8 -60 -5.5 -74.5t22.5 -14.5q21 0 28 17t15 88q6 60 3.5 74.5t-21.5 14.5t-26 -17t-16 -88z" />
-<glyph unicode="&#x26;" horiz-adv-x="759" d="M16 184q9 74 48 120.5t110 50.5l1 6q-50 4 -75.5 54t-14.5 113q8 45 27 77.5t43 51.5t60.5 29.5t72.5 14t85 3.5q101 0 171 -24l-33 -139q-78 12 -131 12q-44 0 -61 -12t-22 -53q-5 -40 6 -54.5t42 -14.5h166q4 48 5 83h172q0 -42 -3 -83h77l-19 -131h-76 q-10 -53 -32 -101q-90 -201 -370 -201q-142 0 -201.5 49t-47.5 149zM248 213q-4 -35 12.5 -49t55.5 -14q53 0 91.5 20.5t64.5 76.5q7 14 16 41h-162q-35 0 -54 -16t-24 -59z" />
-<glyph unicode="'" horiz-adv-x="215" d="M71 462l20 228h144l-44 -228h-120z" />
-<glyph unicode="(" horiz-adv-x="373" d="M29 320q29 202 118 315.5t257 155.5l25 -91q-152 -58 -199 -395q-25 -142 -7.5 -244.5t87.5 -135.5l-26 -85q-159 43 -221.5 160.5t-33.5 319.5z" />
-<glyph unicode=")" horiz-adv-x="373" d="M-50 -75q152 63 199 396q25 146 8 247.5t-87 131.5l25 86q158 -42 220.5 -160t34.5 -322q-29 -201 -118.5 -314.5t-256.5 -155.5z" />
-<glyph unicode="*" horiz-adv-x="457" d="M56 517l44 107l108 -52l-3 -49l-31 -29zM90 388l132 128l7 176h114l-42 -175l95 -129l-94 -66l-47 119l-80 -119zM319 522l11 49l114 52l22 -107l-122 -26z" />
-<glyph unicode="+" horiz-adv-x="520" d="M16 226l23 155h158l22 158h153l-22 -158h158l-23 -155h-158l-22 -158h-153l22 158h-158z" />
-<glyph unicode="," horiz-adv-x="257" d="M3 68l7 46q6 40 25 55.5t58 15.5h36q40 0 56 -17.5t11 -58.5l-9 -64q-8 -53 -33 -112.5t-57 -97.5l-85 32q16 36 43 137q-32 -1 -44 14.5t-8 49.5z" />
-<glyph unicode="-" d="M32 196l18 122h291l-18 -122h-291z" />
-<glyph unicode="." horiz-adv-x="255" d="M3 76l5 41q10 68 81 68h40q36 0 55 -19.5t14 -56.5l-6 -41q-5 -36 -23.5 -52t-56.5 -16h-40q-78 0 -69 76z" />
-<glyph unicode="/" horiz-adv-x="597" d="M-35 -79l501 769h169l-501 -769h-169z" />
-<glyph unicode="0" horiz-adv-x="656" d="M42 353q28 201 100 276t231 75q165 0 224 -81t30 -286q-28 -202 -98.5 -276.5t-232.5 -74.5q-159 0 -220.5 82.5t-33.5 284.5zM255 347q-14 -87 -12 -131.5t14.5 -56.5t49.5 -12q38 0 56 13t29 52.5t22 130.5q7 57 9.5 90t1.5 57.5t-9.5 34.5t-20 14t-32.5 4 q-38 0 -55.5 -13t-29 -52.5t-23.5 -130.5z" />
-<glyph unicode="1" horiz-adv-x="469" d="M43 619l201 71h209l-97 -690h-216l64 436q7 53 19 89l-162 -35z" />
-<glyph unicode="2" horiz-adv-x="590" d="M-11 0l16 112q8 57 35 86l165 141q18 17 41 37.5t34.5 31t25.5 23.5t20.5 20t13.5 16t10 15.5t5 14.5q4 15 -6 20.5t-39 5.5q-131 0 -228 -2l4 160q119 21 244 21q138 0 195.5 -37.5t46.5 -142.5q-6 -54 -31.5 -98t-88.5 -98l-185 -159q43 15 96 15h182l-24 -182h-532z " />
-<glyph unicode="3" horiz-adv-x="571" d="M-6 6l14 151q76 -5 183 -5q64 0 91.5 21t33.5 57q7 35 -4 48t-48 13h-145l17 130h141q41 0 55 15.5t16 54.5q2 27 -8.5 37.5t-49.5 10.5h-199v147q116 18 230 18q127 0 182.5 -37t47.5 -132q-11 -153 -137 -167l-1 -4q70 -9 96 -49.5t18 -110.5q-13 -116 -88 -167 t-216 -51q-96 0 -229 20z" />
-<glyph unicode="4" horiz-adv-x="653" d="M8 247l230 443h205l-196 -391q-7 -11 -6 -16t12 -5h113l23 170l49 106h165l-39 -276h69l-16 -118l-69 -20h-3l-20 -140h-197l19 140h-267q-51 0 -71.5 33t-0.5 74z" />
-<glyph unicode="5" horiz-adv-x="559" d="M-10 6l27 161q111 -10 171 -6q58 3 86.5 20t36.5 60q5 27 -10.5 36.5t-66.5 15.5l-112 17q-32 5 -49 27.5t-11 52.5l59 300h443l-28 -155h-264l-18 -79l83 -10q51 -7 88.5 -24.5t57 -40t31.5 -49.5t12 -53.5t-2 -51.5q-16 -107 -84.5 -169.5t-212.5 -69.5q-72 -4 -237 18 z" />
-<glyph unicode="6" horiz-adv-x="604" d="M42 347q17 115 43.5 186t70.5 108t94.5 49t130.5 12q106 0 200 -23l-14 -128h-173q-64 0 -89 -25t-42 -106q57 36 123 36q119 0 161 -51.5t25 -166.5q-20 -136 -85 -193t-208 -57q-82 0 -132 17t-81 58.5t-34 110.5t10 173zM240 289q-7 -45 -9.5 -68.5t-2 -42.5t8 -26 t18.5 -10t33 -3q44 0 58.5 22t24.5 88q6 44 -2.5 54.5t-42.5 10.5q-42 0 -86 -25z" />
-<glyph unicode="7" horiz-adv-x="548" d="M54 519l13 171h438q56 0 75.5 -29.5t-2.5 -75.5l-293 -585h-213l222 442q18 38 52 77h-292z" />
-<glyph unicode="8" horiz-adv-x="634" d="M16 180q8 73 44.5 122t110.5 54l1 4q-108 18 -89 166q12 96 71.5 137t201.5 41q154 0 210 -47t41 -147q-21 -136 -133 -150l-1 -4q129 -14 104 -192q-9 -67 -35.5 -104t-85.5 -56t-162 -19q-168 0 -228.5 47t-49.5 148zM224 204q-5 -40 8.5 -53.5t61.5 -13.5 q44 0 62 15.5t25 67.5q6 45 -7 58.5t-61 13.5q-45 0 -64 -16t-25 -72zM273 481q-4 -35 6.5 -46t53.5 -11t58 13.5t22 59.5q6 42 -5 54.5t-52 12.5q-43 0 -59.5 -15.5t-23.5 -67.5z" />
-<glyph unicode="9" horiz-adv-x="605" d="M18 9l14 131h194q62 0 91 28.5t43 101.5q-56 -38 -135 -38q-49 0 -85 14.5t-54 38t-29 53.5t-10 61.5t4 60.5q10 70 25 111.5t47 73t85 43.5t137 12q67 0 111.5 -10.5t75.5 -35t43 -65.5t14 -102.5t-12 -145.5q-28 -207 -101 -281t-239 -74q-117 0 -219 23zM249 469 q-6 -59 2 -77t40 -18q48 0 86 21q13 108 7 129q-7 22 -42 25h-17q-41 0 -56 -15t-20 -65z" />
-<glyph unicode=":" horiz-adv-x="275" d="M-3 77l5 41q10 68 81 68h40q36 0 55 -19.5t14 -56.5l-6 -41q-5 -36 -23.5 -52t-56.5 -16h-40q-78 0 -69 76zM36 353l5 41q10 68 81 68h40q36 0 55 -19.5t14 -56.5l-6 -41q-5 -36 -23.5 -52t-56.5 -16h-40q-78 0 -69 76z" />
-<glyph unicode=";" horiz-adv-x="273" d="M12 68l7 46q6 40 25 55.5t58 15.5h36q40 0 56 -17.5t11 -58.5l-9 -64q-8 -53 -33 -112.5t-57 -97.5l-85 32q16 36 43 137q-32 -1 -44 14.5t-8 49.5zM51 353l5 41q10 68 81 68h40q36 0 55 -19.5t14 -56.5l-6 -41q-5 -36 -23.5 -52t-56.5 -16h-40q-78 0 -69 76z" />
-<glyph unicode="&#x3c;" horiz-adv-x="503" d="M16 223l22 161l456 158l-22 -168l-268 -69l246 -77l-21 -162z" />
-<glyph unicode="=" horiz-adv-x="571" d="M21 117l24 154h478l-24 -154h-478zM52 329l22 154h478l-22 -154h-478z" />
-<glyph unicode="&#x3e;" horiz-adv-x="500" d="M12 64l23 167l265 79l-242 79l19 152l410 -157l-22 -161z" />
-<glyph unicode="?" horiz-adv-x="540" d="M75 546v139q8 2 29.5 6t29 5t25.5 4.5t28.5 4.5t29 2.5t34.5 2.5t38.5 1.5t47.5 0.5q120 0 173.5 -40.5t42.5 -122.5q-6 -39 -26.5 -71.5t-48.5 -57t-57 -49.5t-55.5 -62t-39.5 -81h-164q4 53 27 102.5t47.5 79t50.5 59t32 42.5q9 23 2.5 29t-34.5 6h-212zM131 76l6 41 q9 68 80 68h40q37 0 56 -19.5t14 -56.5l-6 -41q-5 -36 -23.5 -52t-55.5 -16h-41q-78 0 -70 76z" />
-<glyph unicode="@" horiz-adv-x="822" d="M29 231q12 72 33 118t54.5 68.5t69 30t88.5 7.5q100 0 266 -28l-44 -271q-6 -35 21 -35q40 0 52 27t32 141q5 25 7 39q6 37 9.5 61t2 45.5t-4 33.5t-15.5 22t-23.5 14.5t-38 7t-49 3t-64.5 0.5h-347l9 130q149 8 340 10q89 1 146 -3t104.5 -17.5t71 -35.5t37.5 -61 t13 -90.5t-12 -127.5q-8 -53 -14 -86.5t-15 -71t-19.5 -59t-26 -44t-35.5 -34.5t-47.5 -22t-61.5 -13.5t-78 -3.5q-133 0 -170 91q-60 -89 -150 -89q-86 0 -123.5 60.5t-17.5 182.5zM214 224q-8 -61 -2.5 -73t30.5 -12q38 0 75 66l21 123h-44q-22 0 -33.5 -4.5t-24.5 -28 t-22 -71.5z" />
-<glyph unicode="A" horiz-adv-x="678" d="M-49 0l266 638q20 52 76 52h196q26 0 46 -17.5t23 -42.5l89 -630h-217l-12 146h-188l-54 -146h-225zM289 304h117l-12 149q-3 26 -1 77h-28q-7 -41 -20 -75z" />
-<glyph unicode="B" horiz-adv-x="657" d="M11 0l97 690q98 8 283 8q142 0 197 -40.5t41 -147.5q-10 -74 -41 -108.5t-101 -40.5l-1 -6q153 -13 128 -191q-14 -100 -73 -136t-193 -36q-225 0 -337 8zM243 142h63q48 0 66 15.5t25 66.5q6 42 -4 55t-48 13h-81zM282 423h67q38 0 52 13.5t21 58.5q5 30 -3.5 41.5 t-34.5 11.5h-84z" />
-<glyph unicode="C" horiz-adv-x="603" d="M41 353q15 106 38.5 172t65.5 106.5t99.5 55.5t146.5 15q128 0 227 -28l-25 -157q-146 2 -213 2q-38 0 -57 -11.5t-32 -50t-24 -120.5q-15 -102 -6 -134t63 -32q136 0 221 8l8 -159q-103 -32 -239 -32q-175 0 -238 81.5t-35 283.5z" />
-<glyph unicode="D" horiz-adv-x="700" d="M11 0l97 690q128 10 281 10q117 0 183.5 -31t94 -111.5t7.5 -220.5q-15 -106 -38.5 -171t-65.5 -105.5t-100 -55.5t-149 -15q-157 0 -310 10zM249 148l69 -1q55 0 83.5 41.5t44.5 164.5q16 116 4.5 153t-68.5 37h-78z" />
-<glyph unicode="E" horiz-adv-x="587" d="M32 184l50 357q10 71 56 112t121 41q248 0 348 -14l-24 -152h-240q-26 0 -37 -9t-14 -31l-9 -63h249l-18 -144h-251l-11 -80q-6 -39 37 -39h240l-4 -154q-89 -12 -338 -12q-84 0 -125 52t-30 136z" />
-<glyph unicode="F" horiz-adv-x="567" d="M9 0l76 541q10 71 57.5 112t118.5 41q243 0 342 -15l-24 -151h-230q-27 0 -39 -9t-15 -31l-11 -77h241l-18 -144h-243l-37 -267h-218z" />
-<glyph unicode="G" horiz-adv-x="670" d="M42 353q15 107 42 175t74.5 107.5t108.5 54t153 14.5q134 0 231 -30l-24 -155q-150 2 -222 2q-65 0 -92.5 -38t-44.5 -146q-16 -102 -5 -134t61 -32q47 0 90 31l27 195h207l-56 -397h-159l-8 80q-92 -94 -202 -94q-233 0 -181 367z" />
-<glyph unicode="H" horiz-adv-x="705" d="M12 0l97 690h217l-35 -247h165l35 247h217l-97 -690h-217l41 289h-165l-41 -289h-217z" />
-<glyph unicode="I" horiz-adv-x="322" d="M12 0l97 690h216l-97 -690h-216z" />
-<glyph unicode="J" horiz-adv-x="395" d="M-24 14l34 134h37q59 0 64 39l73 503h216l-78 -567q-10 -66 -58.5 -101.5t-125.5 -35.5q-42 0 -91 7.5t-71 20.5z" />
-<glyph unicode="K" horiz-adv-x="668" d="M12 0l97 690h218l-27 -191q-5 -38 -16 -71h33l168 262h240l-193 -288q-27 -42 -72 -59l-1 -4q14 -6 30 -26.5t25 -43.5l120 -269h-234l-107 288h-31q4 -32 -1 -67l-31 -221h-218z" />
-<glyph unicode="L" horiz-adv-x="552" d="M31 157l74 533h218l-71 -478q-2 -23 5.5 -31.5t30.5 -8.5h228l-4 -163q-100 -13 -331 -13q-75 0 -117.5 45.5t-32.5 115.5z" />
-<glyph unicode="M" horiz-adv-x="947" d="M0 0l111 619q7 37 25 54t54 17h184q34 0 54 -19t21 -52l12 -274q3 -46 -2 -103h10q8 38 25 101l84 284q17 63 86 63h193q37 0 56 -21t15 -58l-62 -611h-195l54 528h-14l-116 -356q-18 -62 -87 -62h-110q-35 0 -55.5 18.5t-21.5 51.5l-19 348h-16l-91 -528h-195z" />
-<glyph unicode="N" horiz-adv-x="730" d="M11 0l87 619q5 37 24 54t55 17h72q16 0 27.5 -4t20.5 -15.5t14 -19.5t14 -28l116 -225q26 -54 42 -119h8q-5 60 2 117l42 294h199l-87 -619q-5 -37 -24 -54t-55 -17h-72q-31 0 -45.5 15t-31.5 52l-118 237q-19 37 -35 114h-7q2 -72 -6 -128l-43 -290h-199z" />
-<glyph unicode="O" horiz-adv-x="700" d="M41 353q15 106 40 173.5t68.5 107t99.5 55t140 15.5q71 0 121 -10.5t89 -36t57.5 -67.5t25.5 -104.5t-7 -148.5q-14 -107 -40 -175t-70 -107t-101 -54t-142 -15q-123 0 -188.5 32.5t-89 112.5t-3.5 222zM268 337q-18 -119 -6.5 -154.5t65.5 -35.5q56 0 78 38.5t42 167.5 q17 118 5.5 154t-65.5 36t-76.5 -38.5t-42.5 -167.5z" />
-<glyph unicode="P" horiz-adv-x="638" d="M11 0l97 690q100 10 278 10q161 0 219 -52t40 -191q-18 -131 -76.5 -178t-196.5 -47q-48 0 -111 7l-34 -239h-216zM281 385h72q41 0 55.5 15t22.5 73q6 43 -4 58.5t-46 15.5h-77z" />
-<glyph unicode="Q" horiz-adv-x="700" d="M41 353q15 106 40 173.5t68.5 107t99.5 55t140 15.5q71 0 121 -10.5t89 -36t57.5 -67.5t25.5 -104.5t-7 -148.5q-14 -107 -40 -175t-70 -107t-101 -54t-142 -15q-123 0 -188.5 32.5t-89 112.5t-3.5 222zM181 -130l60 103q107 -42 319 -74l-78 -175q-189 56 -301 146z M268 337q-18 -119 -6.5 -154.5t65.5 -35.5q56 0 78 38.5t42 167.5q17 118 5.5 154t-65.5 36t-76.5 -38.5t-42.5 -167.5z" />
-<glyph unicode="R" horiz-adv-x="669" d="M11 0l97 690q100 10 279 10q151 0 218 -49.5t51 -168.5q-9 -67 -43.5 -107.5t-112.5 -48.5l-1 -7q82 -12 91 -111l26 -208h-224l-18 209q-1 28 -9 35.5t-31 7.5h-76l-35 -252h-212zM280 405h75q44 0 61 15t24 64q5 36 -6.5 49.5t-48.5 13.5h-85z" />
-<glyph unicode="S" horiz-adv-x="602" d="M4 21l20 151q193 -5 238 -5t63 6.5t22 22.5q3 12 -4 20t-29 19l-126 62q-82 40 -108.5 91t-18.5 121q13 111 81.5 153t214.5 42q140 0 247 -36l-19 -138q-122 2 -242 2q-35 0 -49.5 -6t-18.5 -22q-2 -12 6.5 -21.5t37.5 -23.5l116 -55q82 -39 108.5 -87t17.5 -128 q-13 -118 -75 -160.5t-213 -42.5q-133 0 -269 35z" />
-<glyph unicode="T" horiz-adv-x="618" d="M43 528l23 162h598l-23 -162h-191l-74 -528h-217l74 528h-190z" />
-<glyph unicode="U" horiz-adv-x="700" d="M45 289l58 401h216l-58 -409q-13 -79 -0.5 -106.5t66.5 -27.5q55 0 75 27.5t34 114.5l57 401h217l-59 -409q-23 -166 -94 -230.5t-235 -64.5q-161 0 -229.5 71t-47.5 232z" />
-<glyph unicode="V" horiz-adv-x="665" d="M54 690h218l24 -441q2 -31 0 -90h26q7 40 23 86l150 445h228l-257 -636q-21 -54 -76 -54h-189q-27 0 -46.5 17.5t-22.5 44.5z" />
-<glyph unicode="W" horiz-adv-x="995" d="M74 62v628h213l-27 -427q-1 -20 -4 -60.5t-4 -54.5h17q13 70 28 124l96 358q16 60 77 60h151q29 0 48 -19.5t19 -48.5v-360q0 -42 -2 -114h18q6 59 21 121l92 421h213l-174 -636q-14 -54 -76 -54h-182q-28 0 -49 18t-20 44l7 369q1 24 5 105h-18q-7 -50 -20 -102 l-99 -380q-14 -54 -76 -54h-187q-28 0 -48.5 18t-18.5 44z" />
-<glyph unicode="X" horiz-adv-x="672" d="M-46 0l218 352l-104 338h209l71 -268l151 268h221l-204 -338l117 -352h-213l-75 284l-161 -284h-230z" />
-<glyph unicode="Y" horiz-adv-x="649" d="M46 690h216l53 -221q9 -40 7 -101h15q5 48 30 99l117 223h231l-295 -481l-29 -209h-218l31 221z" />
-<glyph unicode="Z" horiz-adv-x="598" d="M-11 0l20 152l334 386h-268l21 152h519l-21 -152l-333 -386h288l-21 -152h-539z" />
-<glyph unicode="[" horiz-adv-x="364" d="M12 -60l103 731q7 45 35.5 71t73.5 26h183l-18 -128h-54q-16 0 -23 -5.5t-9 -20.5l-89 -628q-3 -23 19 -23h61l-18 -128h-171q-107 0 -93 105z" />
-<glyph unicode="\" horiz-adv-x="581" d="M70 690h156l290 -769h-156z" />
-<glyph unicode="]" horiz-adv-x="364" d="M-39 -165l18 128h54q15 0 22 5.5t9 20.5l89 628q3 23 -18 23h-61l18 128h171q45 0 71.5 -30t20.5 -75l-103 -731q-6 -45 -34.5 -71t-73.5 -26h-183z" />
-<glyph unicode="^" horiz-adv-x="497" d="M52 414l172 239h152l113 -239l-83 -42l-111 157h-8l-157 -157z" />
-<glyph unicode="_" horiz-adv-x="533" d="M-17 -122l17 122h451l-17 -122h-451z" />
-<glyph unicode="`" horiz-adv-x="392" d="M87 617l80 130l235 -150l-67 -86z" />
-<glyph unicode="a" horiz-adv-x="613" d="M25 264q9 58 24 100.5t38.5 69.5t47.5 43.5t62.5 24.5t71.5 10t85 2t133 -10.5t110 -21.5l-68 -482h-162l-2 97q-67 -100 -195 -109q-70 -5 -107.5 28.5t-43.5 96.5t6 151zM239 270q-14 -95 -6 -111q5 -12 27 -10q42 3 93 77l21 151h-46q-37 0 -58 -20.5t-31 -86.5z" />
-<glyph unicode="b" horiz-adv-x="616" d="M6 30l94 670h211l-16 -123q-8 -73 -33 -136q78 73 177 73q184 0 144 -266q-7 -44 -17 -78t-31.5 -69.5t-52 -59t-80 -38.5t-112.5 -15q-69 0 -157 11t-127 31zM232 131q29 -3 48 -2q40 2 59 29.5t31 104.5q8 53 3.5 70.5t-28.5 17.5q-37 0 -85 -30z" />
-<glyph unicode="c" horiz-adv-x="536" d="M21 259q19 137 81.5 196t200.5 59t229 -39l-28 -128h-176q-44 0 -62 -20t-26 -74q-9 -61 3.5 -80t58.5 -19q105 0 168 7l15 -133q-84 -40 -220 -40q-137 0 -200.5 64.5t-43.5 206.5z" />
-<glyph unicode="d" horiz-adv-x="617" d="M24 264q18 141 72 195.5t140 54.5q94 0 160 -13q0 60 7 104l18 95h210l-99 -700h-166l-4 80q-96 -92 -187 -92q-185 0 -151 276zM238 270q-10 -54 -6 -82t32 -26q38 2 84 35l26 190h-47q-45 0 -62 -21.5t-27 -95.5z" />
-<glyph unicode="e" horiz-adv-x="590" d="M21 254q8 79 31 131t63.5 79.5t90 38.5t120.5 11q150 0 206 -46t42 -140q-9 -65 -57.5 -90.5t-155.5 -33.5l-125 -9q1 -28 16.5 -37t54.5 -9q109 0 205 11l14 -128q-95 -44 -237 -44q-84 0 -140 17t-86 52t-39.5 82.5t-2.5 114.5zM249 297l57 6q36 3 50.5 11.5t17.5 34.5 q2 17 -7.5 24t-38.5 6q-37 -1 -53 -17t-26 -65z" />
-<glyph unicode="f" horiz-adv-x="423" d="M-95 -176l32 125h49q31 0 45 12t19 44l53 369h-81l15 121l85 5l9 65q24 159 190 159q111 0 185 -15l-32 -125h-80q-30 0 -43 -12t-18 -44l-4 -28h117l-17 -126h-119l-60 -406q-24 -159 -190 -159q-50 0 -155 15z" />
-<glyph unicode="g" horiz-adv-x="618" d="M5 -169l10 113h126q154 0 195 64q13 19 22.5 54t16.5 49q-68 -107 -202 -113q-103 -5 -135.5 64t-11.5 202q8 50 19.5 88.5t25 65t33.5 44.5t38 28t46.5 15.5t51.5 7t59 1.5q93 0 178 -10t125 -22l-55 -392q-10 -76 -33.5 -131t-52.5 -86t-70.5 -49t-78 -23t-84.5 -5 q-148 0 -223 35zM240 270q-7 -39 -9 -63t1 -38t10 -18.5t21 -1.5q47 9 95 78l21 150h-48q-47 0 -63.5 -21t-27.5 -86z" />
-<glyph unicode="h" horiz-adv-x="619" d="M3 0l98 700h210l-21 -153q-8 -59 -29 -119q99 86 190 86q76 0 112 -37.5t26 -106.5l-52 -370h-210l44 311q3 16 -1 21t-18 5q-45 0 -98 -41l-41 -296h-210z" />
-<glyph unicode="i" horiz-adv-x="304" d="M7 0l69 500h209l-69 -500h-209zM93 620l7 51q6 58 69 58h81q67 0 60 -66l-7 -51q-7 -58 -69 -58h-82q-66 0 -59 66z" />
-<glyph unicode="j" horiz-adv-x="306" d="M-73 -95q77 72 89 157l63 438h210l-65 -446q-10 -80 -58.5 -148t-123.5 -98zM92 620l7 51q7 58 72 58h79q68 0 59 -66l-7 -51q-7 -58 -71 -58h-79q-67 0 -60 66z" />
-<glyph unicode="k" horiz-adv-x="609" d="M3 0l98 700h210l-38 -272q-10 -61 -43 -122q59 32 102 84.5t56 109.5h216q-34 -152 -171 -242q37 -26 56 -69l91 -189h-215l-85 185q-22 -9 -45 -15q0 -13 -2 -31l-20 -139h-210z" />
-<glyph unicode="l" horiz-adv-x="360" d="M21 130l81 570h209l-75 -522q-4 -19 4 -25.5t35 -6.5h40l12 -136q-43 -24 -143 -24q-84 0 -127.5 39t-35.5 105z" />
-<glyph unicode="m" horiz-adv-x="884" d="M3 0l70 500h163l6 -71q88 85 182 85q104 0 127 -72q81 72 170 72q74 0 109 -38t25 -106l-52 -370h-208l43 311q4 26 -19 26q-29 0 -72 -30l-43 -307h-201l43 311q5 26 -19 26q-30 0 -73 -28l-42 -309h-209z" />
-<glyph unicode="n" horiz-adv-x="619" d="M3 0l69 500h164l5 -88q48 48 106 75t113 27q65 0 102.5 -37.5t27.5 -106.5l-52 -370h-211l43 302q3 21 -2.5 29t-24.5 6q-41 -4 -88 -40l-42 -297h-210z" />
-<glyph unicode="o" horiz-adv-x="615" d="M21 257q20 143 87.5 200t218.5 57q153 0 214.5 -63t40.5 -210q-20 -141 -87.5 -197t-216.5 -56q-152 0 -215 62.5t-42 206.5zM240 241q-10 -69 -1.5 -90t47.5 -21q38 0 52.5 23.5t26.5 103.5q11 71 3 93t-45 22q-40 0 -55.5 -24.5t-27.5 -106.5z" />
-<glyph unicode="p" horiz-adv-x="615" d="M-22 -180l94 680h167v-88q96 100 201 100q86 0 121.5 -70t18.5 -206q-10 -75 -30.5 -126t-52 -77t-67 -36.5t-83.5 -10.5q-67 0 -138 13q0 -47 -7 -93l-14 -86h-210zM231 113h46q48 0 62.5 21t25.5 96q7 50 7 75t-6.5 35.5t-22.5 10.5q-42 0 -89 -47z" />
-<glyph unicode="q" horiz-adv-x="616" d="M22 254q6 42 13.5 72t21 62t34.5 53t50.5 38.5t72.5 26t98 8.5q72 0 160 -11t127 -31l-93 -652h-210l14 105q9 71 25 127q-80 -64 -153 -64q-101 0 -140.5 63.5t-19.5 202.5zM236 259q-9 -51 -4 -74t34 -23q28 0 81 35l26 174q-20 2 -49 2q-41 -3 -59.5 -25t-28.5 -89z " />
-<glyph unicode="r" horiz-adv-x="452" d="M3 0l70 500h164l7 -68q99 82 199 82h36l-43 -192h-47q-51 0 -133 -13l-42 -309h-211z" />
-<glyph unicode="s" horiz-adv-x="548" d="M-3 11l17 121h168q76 0 99 3t25 13q1 7 -9 12t-45 15l-105 30q-131 37 -111 171q10 70 63.5 104t178.5 34q148 0 252 -23l-17 -121h-191q-56 0 -71 -1.5t-16 -8.5q-2 -8 8.5 -13.5t40.5 -13.5l109 -29q129 -35 114 -158q-11 -93 -71.5 -125t-182.5 -32q-133 0 -256 22z " />
-<glyph unicode="t" horiz-adv-x="439" d="M23 374l15 121l90 5l19 131h207l-19 -131h120l-17 -126h-121l-28 -196q-3 -20 2.5 -26t28.5 -6h59l11 -136q-61 -24 -167 -24q-77 0 -118.5 39t-31.5 105l36 244h-86z" />
-<glyph unicode="u" horiz-adv-x="613" d="M18 130l51 370h211l-45 -311q-4 -27 23 -27q39 0 89 37l43 301h208l-69 -500h-164l-4 85q-102 -99 -204 -99q-78 0 -113.5 37.5t-25.5 106.5z" />
-<glyph unicode="v" horiz-adv-x="607" d="M32 500h227v-374h9q20 0 29 11.5t26 52.5q19 48 36 128q14 69 25 182h229q-15 -110 -49 -214q-33 -102 -77 -182q-36 -64 -77.5 -84t-117.5 -20h-148q-24 0 -40.5 15t-18.5 38z" />
-<glyph unicode="w" horiz-adv-x="925" d="M41 501h213l-8 -371h6q15 0 24 15.5t18 50.5t15.5 72t14.5 94.5t12 85.5q3 20 18 36t44 16h172q24 0 40.5 -15t19.5 -38v-317h7q4 0 7.5 1t6.5 3.5t5 5t4 8t3.5 9t3 11t2.5 12l3 13.5t3 15q6 26 20 114q12 79 19 178h208q-27 -236 -83 -372q-15 -36 -30.5 -58.5 t-40.5 -39t-60.5 -23.5t-88.5 -7h-77q-25 0 -42 16.5t-15 39.5v320h-12q-4 -36 -18.5 -117t-23.5 -117q-11 -40 -26.5 -67t-31.5 -42t-42.5 -22.5t-47 -9t-57.5 -1.5h-110q-24 0 -40.5 16t-18.5 40z" />
-<glyph unicode="x" horiz-adv-x="604" d="M-45 0l181 255l-97 245h194l65 -175l119 175h210l-169 -245l106 -255h-197l-71 186l-125 -186h-216z" />
-<glyph unicode="y" horiz-adv-x="622" d="M30 500h230l8 -358q0 -16 16 -16h24q63 140 96 374h225q-17 -123 -76 -277t-98 -215q-145 -227 -389 -214l-13 113q13 5 39.5 13.5t40 13.5t33.5 14t36 22t31 30h-79q-24 0 -41.5 15t-20.5 38z" />
-<glyph unicode="z" horiz-adv-x="538" d="M-10 0l17 135h-1l258 230h-217l18 135h466l-17 -135h1l-257 -230h228l-18 -135h-478z" />
-<glyph unicode="{" horiz-adv-x="366" d="M19 264l16 130q19 6 25.5 8.5t16 9.5t13 18.5t6.5 30.5l23 165q11 83 79 122.5t198 18.5l-16 -127q-35 0 -48.5 -7.5t-16.5 -34.5l-18 -125q-8 -69 -36 -103t-100 -44q115 -33 99 -147l-24 -174q-3 -21 9 -31.5t45 -10.5l-6 -129q-138 -21 -200.5 23.5t-50.5 127.5 l31 222q1 8 1 14.5t-0.5 11t-3.5 8t-5 6t-7 5l-8 4t-10.5 4t-11.5 4.5z" />
-<glyph unicode="|" horiz-adv-x="276" d="M0 -169l134 950h146l-134 -950h-146z" />
-<glyph unicode="}" horiz-adv-x="365" d="M-32 -164l16 127q25 0 35.5 1.5t18.5 10t10 27.5l26 185q9 58 38.5 91.5t101.5 51.5q-62 9 -83.5 46.5t-11.5 104.5l19 125q3 20 -9 27t-47 7l6 129q138 21 200.5 -23.5t51.5 -127.5l-24 -165q-2 -11 -2.5 -19t1.5 -14t2.5 -9t6.5 -6.5t8 -4.5t11.5 -4t13.5 -4l-17 -130 q-19 -7 -25.5 -10t-17 -10t-15 -17t-6.5 -26l-31 -222q-12 -83 -80 -122.5t-197 -18.5z" />
-<glyph unicode="~" horiz-adv-x="500" d="M35 211q-4 84 24 124.5t72 40.5q21 0 63 -9t89 -22t49 -13q25 -5 34.5 5.5t13.5 37.5l84 -8q3 -82 -22.5 -123.5t-72.5 -41.5q-23 0 -65.5 9.5t-86 21t-51.5 13.5q-24 5 -33.5 -5.5t-13.5 -37.5z" />
-<glyph unicode="&#xa2;" horiz-adv-x="538" d="M36 356q18 133 76 192t182 63l21 79h156l-24 -91q53 -10 92 -27l-29 -128h-173q-41 0 -57.5 -20t-24.5 -74q-9 -61 3 -80t54 -19q103 0 165 7l14 -133q-68 -34 -179 -39l-23 -86h-155l26 100q-152 49 -124 256z" />
-<glyph unicode="&#xa3;" horiz-adv-x="596" d="M-1 0l18 169q95 43 100 139v6h-75l12 100h69l5 99q9 112 61.5 151t172.5 39q107 0 236 -10l-19 -155h-186q-30 0 -42.5 -9t-13.5 -34l-3 -81h147l-19 -100h-131l-1 -14q-1 -40 -16.5 -69.5t-31.5 -43t-46 -33.5q35 13 82 13h232l-22 -167h-529z" />
-<glyph unicode="&#xa5;" horiz-adv-x="705" d="M74 118l13 110h507l-15 -110h-145l-16 -118h-218l17 118h-143zM74 690h216l53 -221q8 -40 6 -101h15q5 48 30 99l116 223h231l-197 -322h69l-15 -110h-505l13 110h76z" />
-<glyph unicode="&#xa9;" horiz-adv-x="787" d="M38 353q18 163 124 257t268 94q168 0 259.5 -100t74.5 -267q-17 -161 -121 -256t-269 -95q-167 0 -260.5 97.5t-75.5 269.5zM138 337q-10 -120 49 -189t182 -69q124 0 203.5 71.5t91.5 202.5q11 121 -49 189.5t-182 68.5q-126 0 -205 -72.5t-90 -201.5zM213 354 q13 106 61.5 146.5t157.5 40.5q70 0 132 -17l-15 -108h-132q-24 0 -34 -13t-14 -55q-5 -45 1 -57.5t30 -14.5q54 -3 126 3l9 -109q-61 -20 -136 -20q-115 0 -157.5 46t-28.5 158z" />
-<glyph unicode="&#xad;" d="M32 196l18 122h291l-18 -122h-291z" />
-<glyph unicode="&#xae;" horiz-adv-x="494" d="M52 490q15 97 81.5 155.5t169.5 58.5q93 0 149 -65t42 -165q-15 -97 -81.5 -156t-168.5 -59q-94 0 -150 65t-42 166zM107 474q-9 -73 32.5 -118.5t108.5 -45.5q81 0 131 48.5t60 131.5q9 72 -32 117.5t-108 45.5q-81 0 -131 -48t-61 -131zM161 383l29 208q30 3 91 3 q60 0 86 -16t20 -51q-5 -40 -50 -45l-1 -2q30 -2 34 -38l6 -59h-89v61q0 10 -10 10h-21l-10 -71h-85zM263 505h19q18 0 20 14q3 16 -12 16h-23z" />
-<glyph unicode="&#xb4;" horiz-adv-x="392" d="M90 597l247 156l66 -146l-266 -96z" />
-<glyph unicode="&#x2000;" horiz-adv-x="395" />
-<glyph unicode="&#x2001;" horiz-adv-x="791" />
-<glyph unicode="&#x2002;" horiz-adv-x="395" />
-<glyph unicode="&#x2003;" horiz-adv-x="791" />
-<glyph unicode="&#x2004;" horiz-adv-x="263" />
-<glyph unicode="&#x2005;" horiz-adv-x="197" />
-<glyph unicode="&#x2006;" horiz-adv-x="131" />
-<glyph unicode="&#x2007;" horiz-adv-x="131" />
-<glyph unicode="&#x2008;" horiz-adv-x="98" />
-<glyph unicode="&#x2009;" horiz-adv-x="158" />
-<glyph unicode="&#x200a;" horiz-adv-x="43" />
-<glyph unicode="&#x2010;" d="M32 196l18 122h291l-18 -122h-291z" />
-<glyph unicode="&#x2011;" d="M32 196l18 122h291l-18 -122h-291z" />
-<glyph unicode="&#x2012;" d="M32 196l18 122h291l-18 -122h-291z" />
-<glyph unicode="&#x2013;" horiz-adv-x="532" d="M32 196l18 122h441l-18 -122h-441z" />
-<glyph unicode="&#x2014;" horiz-adv-x="822" d="M32 196l18 122h731l-18 -122h-731z" />
-<glyph unicode="&#x2018;" horiz-adv-x="222" d="M57 464l8 58q7 49 29 103t49 88l74 -29q-11 -26 -38 -125q28 1 38.5 -13t6.5 -45l-6 -42q-5 -36 -21.5 -50t-50.5 -14h-31q-35 0 -48.5 16t-9.5 53z" />
-<glyph unicode="&#x2019;" horiz-adv-x="221" d="M68 594l6 42q5 36 21.5 50t50.5 14h31q35 0 48.5 -16t9.5 -53l-8 -58q-7 -49 -29 -103t-49 -88l-74 29q11 26 38 125q-28 -1 -38.5 13t-6.5 45z" />
-<glyph unicode="&#x201c;" horiz-adv-x="421" d="M57 464l8 58q7 49 29 103t49 88l74 -29q-11 -26 -38 -125q28 1 38.5 -13t6.5 -45l-6 -42q-5 -36 -21.5 -50t-50.5 -14h-31q-35 0 -48.5 16t-9.5 53zM256 464l8 58q7 49 29 103t49 88l74 -29q-11 -26 -38 -125q28 1 38.5 -13t6.5 -45l-6 -42q-5 -36 -21.5 -50t-50.5 -14 h-31q-35 0 -48.5 16t-9.5 53z" />
-<glyph unicode="&#x201d;" horiz-adv-x="420" d="M68 594l6 42q5 36 21.5 50t50.5 14h31q35 0 48.5 -16t9.5 -53l-8 -58q-7 -49 -29 -103t-49 -88l-74 29q11 26 38 125q-28 -1 -38.5 13t-6.5 45zM267 594l6 42q5 36 21.5 50t50.5 14h31q35 0 48.5 -16t9.5 -53l-8 -58q-7 -49 -29 -103t-49 -88l-74 29q11 26 38 125 q-28 -1 -38.5 13t-6.5 45z" />
-<glyph unicode="&#x2022;" horiz-adv-x="379" d="M51 267l3 17q10 69 38 93.5t100 24.5h24q66 0 90 -29t16 -97l-3 -17q-11 -74 -38 -100t-95 -26h-27q-69 0 -93.5 30t-14.5 104z" />
-<glyph unicode="&#x2026;" horiz-adv-x="921" d="M-12 76l5 41q10 68 81 68h40q36 0 55 -19.5t14 -56.5l-6 -41q-5 -36 -23.5 -52t-56.5 -16h-40q-78 0 -69 76zM321 76l5 41q10 68 81 68h40q36 0 55 -19.5t14 -56.5l-6 -41q-5 -36 -23.5 -52t-56.5 -16h-40q-78 0 -69 76zM654 76l5 41q10 68 81 68h40q36 0 55 -19.5 t14 -56.5l-6 -41q-5 -36 -23.5 -52t-56.5 -16h-40q-78 0 -69 76z" />
-<glyph unicode="&#x202f;" horiz-adv-x="158" />
-<glyph unicode="&#x205f;" horiz-adv-x="197" />
-<glyph unicode="&#x20ac;" horiz-adv-x="642" d="M18 221l15 110h475l-25 -110h-170q9 -53 60 -62q38 -5 94.5 -1.5t105.5 12.5l9 -151q-85 -31 -201 -31q-141 0 -213 57t-81 176h-69zM39 361l16 110h62q35 121 114 176t227 55q105 0 185 -28l-25 -147q-22 2 -78.5 3t-98.5 -3q-36 -5 -57 -17t-34 -39h195l-26 -110h-480z " />
-<glyph unicode="&#x2122;" horiz-adv-x="995" d="M86 589l15 107h356l-15 -107h-106l-39 -273h-143l39 273h-107zM429 316l59 335q5 25 15.5 35t33.5 10h125q22 0 35.5 -13t14.5 -35l2 -115q0 -29 -5 -66h7q1 5 5.5 30t7.5 36l30 123q10 40 55 40h128q24 0 36.5 -14.5t10.5 -38.5l-35 -327h-129l27 273h-7l-48 -167 q-11 -39 -54 -39h-72q-23 0 -37 12.5t-15 34.5l-3 159h-9l-48 -273h-130z" />
-<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0v500h500v-500h-500z" />
-<hkern u1="&#x20;" u2="v" k="21" />
-<hkern u1="&#x20;" u2="V" k="24" />
-<hkern u1="&#x20;" u2="J" k="16" />
-<hkern u1="&#x26;" u2="X" k="28" />
-<hkern u1="&#x26;" u2="V" k="10" />
-<hkern u1="&#x26;" u2="J" k="21" />
-<hkern u1="&#x28;" u2="x" k="17" />
-<hkern u1="&#x28;" u2="v" k="27" />
-<hkern u1="&#x28;" u2="q" k="41" />
-<hkern u1="&#x28;" u2="j" k="-25" />
-<hkern u1="&#x28;" u2="V" k="-17" />
-<hkern u1="&#x28;" u2="M" k="11" />
-<hkern u1="&#x28;" u2="J" k="19" />
-<hkern u1="&#x28;" u2="F" k="17" />
-<hkern u1="&#x28;" u2="&#x39;" k="15" />
-<hkern u1="&#x28;" u2="&#x38;" k="22" />
-<hkern u1="&#x28;" u2="&#x36;" k="30" />
-<hkern u1="&#x28;" u2="&#x34;" k="39" />
-<hkern u1="&#x28;" u2="&#x30;" k="29" />
-<hkern u1="&#x28;" u2="&#x28;" k="27" />
-<hkern u1="&#x29;" u2="&#x7d;" k="15" />
-<hkern u1="&#x29;" u2="]" k="18" />
-<hkern u1="&#x29;" u2="&#x29;" k="27" />
-<hkern u1="&#x2a;" u2="v" k="-8" />
-<hkern u1="&#x2a;" u2="q" k="10" />
-<hkern u1="&#x2a;" u2="J" k="30" />
-<hkern u1="&#x2b;" u2="&#x37;" k="25" />
-<hkern u1="&#x2b;" u2="&#x31;" k="24" />
-<hkern u1="&#x2f;" u2="x" k="19" />
-<hkern u1="&#x2f;" u2="v" k="12" />
-<hkern u1="&#x2f;" u2="q" k="37" />
-<hkern u1="&#x2f;" u2="V" k="-6" />
-<hkern u1="&#x2f;" u2="J" k="24" />
-<hkern u1="&#x2f;" u2="&#x36;" k="13" />
-<hkern u1="&#x2f;" u2="&#x34;" k="43" />
-<hkern u1="&#x2f;" u2="&#x30;" k="12" />
-<hkern u1="&#x2f;" u2="&#x2f;" k="106" />
-<hkern u1="&#x30;" u2="&#x7d;" k="18" />
-<hkern u1="&#x30;" u2="]" k="21" />
-<hkern u1="&#x30;" u2="\" k="21" />
-<hkern u1="&#x30;" u2="&#x2f;" k="32" />
-<hkern u1="&#x30;" u2="&#x29;" k="35" />
-<hkern u1="&#x31;" u2="&#x2f;" k="10" />
-<hkern u1="&#x32;" u2="\" k="11" />
-<hkern u1="&#x32;" u2="&#x29;" k="11" />
-<hkern u1="&#x33;" u2="&#x7d;" k="13" />
-<hkern u1="&#x33;" u2="]" k="15" />
-<hkern u1="&#x33;" u2="\" k="11" />
-<hkern u1="&#x33;" u2="&#x2f;" k="23" />
-<hkern u1="&#x33;" u2="&#x29;" k="29" />
-<hkern u1="&#x34;" u2="&#x7d;" k="14" />
-<hkern u1="&#x34;" u2="]" k="19" />
-<hkern u1="&#x34;" u2="\" k="38" />
-<hkern u1="&#x34;" u2="V" k="20" />
-<hkern u1="&#x34;" u2="&#x37;" k="18" />
-<hkern u1="&#x34;" u2="&#x31;" k="17" />
-<hkern u1="&#x34;" u2="&#x2f;" k="19" />
-<hkern u1="&#x34;" u2="&#x29;" k="32" />
-<hkern u1="&#x35;" u2="&#x2f;" k="26" />
-<hkern u1="&#x36;" u2="&#x2f;" k="22" />
-<hkern u1="&#x36;" u2="&#x29;" k="19" />
-<hkern u1="&#x37;" u2="J" k="19" />
-<hkern u1="&#x37;" u2="&#x34;" k="16" />
-<hkern u1="&#x37;" u2="&#x31;" k="-20" />
-<hkern u1="&#x37;" u2="&#x2f;" k="70" />
-<hkern u1="&#x38;" u2="&#x7d;" k="14" />
-<hkern u1="&#x38;" u2="]" k="16" />
-<hkern u1="&#x38;" u2="\" k="14" />
-<hkern u1="&#x38;" u2="&#x2f;" k="18" />
-<hkern u1="&#x38;" u2="&#x29;" k="28" />
-<hkern u1="&#x39;" u2="&#x7d;" k="18" />
-<hkern u1="&#x39;" u2="]" k="19" />
-<hkern u1="&#x39;" u2="\" k="17" />
-<hkern u1="&#x39;" u2="&#x2f;" k="33" />
-<hkern u1="&#x39;" u2="&#x29;" k="34" />
-<hkern u1="&#x40;" u2="V" k="11" />
-<hkern u1="B" u2="&#x2122;" k="8" />
-<hkern u1="B" u2="&#x7d;" k="14" />
-<hkern u1="B" u2="]" k="19" />
-<hkern u1="B" u2="\" k="19" />
-<hkern u1="B" u2="X" k="6" />
-<hkern u1="B" u2="V" k="17" />
-<hkern u1="B" u2="&#x2f;" k="15" />
-<hkern u1="B" u2="&#x29;" k="30" />
-<hkern u1="F" u2="q" k="11" />
-<hkern u1="F" u2="J" k="36" />
-<hkern u1="F" u2="&#x31;" k="-6" />
-<hkern u1="F" u2="&#x2f;" k="72" />
-<hkern u1="F" u2="&#x20;" k="16" />
-<hkern u1="M" u2="V" k="7" />
-<hkern u1="M" u2="&#x29;" k="15" />
-<hkern u1="P" u2="&#x7d;" k="14" />
-<hkern u1="P" u2="]" k="14" />
-<hkern u1="P" u2="X" k="23" />
-<hkern u1="P" u2="J" k="40" />
-<hkern u1="P" u2="&#x2f;" k="71" />
-<hkern u1="P" u2="&#x29;" k="32" />
-<hkern u1="P" u2="&#x20;" k="18" />
-<hkern u1="V" u2="x" k="6" />
-<hkern u1="V" u2="q" k="32" />
-<hkern u1="V" u2="\" k="-9" />
-<hkern u1="V" u2="J" k="33" />
-<hkern u1="V" u2="&#x37;" k="-13" />
-<hkern u1="V" u2="&#x34;" k="18" />
-<hkern u1="V" u2="&#x31;" k="-10" />
-<hkern u1="V" u2="&#x2f;" k="66" />
-<hkern u1="V" u2="&#x20;" k="21" />
-<hkern u1="X" u2="&#xa9;" k="18" />
-<hkern u1="X" u2="v" k="14" />
-<hkern u1="X" u2="q" k="17" />
-<hkern u1="X" u2="&#x34;" k="12" />
-<hkern u1="[" u2="x" k="14" />
-<hkern u1="[" u2="v" k="19" />
-<hkern u1="[" u2="q" k="27" />
-<hkern u1="[" u2="j" k="-16" />
-<hkern u1="[" u2="J" k="14" />
-<hkern u1="[" u2="&#x38;" k="10" />
-<hkern u1="[" u2="&#x36;" k="18" />
-<hkern u1="[" u2="&#x34;" k="24" />
-<hkern u1="[" u2="&#x30;" k="18" />
-<hkern u1="[" u2="&#x28;" k="17" />
-<hkern u1="\" u2="v" k="46" />
-<hkern u1="\" u2="q" k="27" />
-<hkern u1="\" u2="j" k="-9" />
-<hkern u1="\" u2="V" k="68" />
-<hkern u1="\" u2="&#x39;" k="10" />
-<hkern u1="\" u2="&#x38;" k="25" />
-<hkern u1="\" u2="&#x37;" k="37" />
-<hkern u1="\" u2="&#x36;" k="37" />
-<hkern u1="\" u2="&#x34;" k="36" />
-<hkern u1="\" u2="&#x31;" k="66" />
-<hkern u1="\" u2="&#x30;" k="42" />
-<hkern u1="b" u2="&#x2122;" k="28" />
-<hkern u1="b" u2="&#x7d;" k="23" />
-<hkern u1="b" u2="x" k="13" />
-<hkern u1="b" u2="v" k="8" />
-<hkern u1="b" u2="]" k="27" />
-<hkern u1="b" u2="\" k="54" />
-<hkern u1="b" u2="X" k="12" />
-<hkern u1="b" u2="V" k="37" />
-<hkern u1="b" u2="&#x3f;" k="37" />
-<hkern u1="b" u2="&#x2f;" k="21" />
-<hkern u1="b" u2="&#x2a;" k="14" />
-<hkern u1="b" u2="&#x29;" k="41" />
-<hkern u1="f" u2="&#x2122;" k="-24" />
-<hkern u1="f" u2="&#xae;" k="-6" />
-<hkern u1="f" u2="&#x7d;" k="-32" />
-<hkern u1="f" u2="]" k="-34" />
-<hkern u1="f" u2="\" k="-41" />
-<hkern u1="f" u2="X" k="-31" />
-<hkern u1="f" u2="V" k="-47" />
-<hkern u1="f" u2="J" k="12" />
-<hkern u1="f" u2="&#x40;" k="-13" />
-<hkern u1="f" u2="&#x3f;" k="-35" />
-<hkern u1="f" u2="&#x2f;" k="31" />
-<hkern u1="f" u2="&#x2a;" k="-16" />
-<hkern u1="f" u2="&#x29;" k="-45" />
-<hkern u1="f" u2="&#x20;" k="18" />
-<hkern u1="q" u2="&#x29;" k="23" />
-<hkern u1="v" u2="&#x2122;" k="17" />
-<hkern u1="v" u2="&#x7d;" k="23" />
-<hkern u1="v" u2="]" k="26" />
-<hkern u1="v" u2="\" k="25" />
-<hkern u1="v" u2="X" k="20" />
-<hkern u1="v" u2="V" k="10" />
-<hkern u1="v" u2="J" k="20" />
-<hkern u1="v" u2="&#x3f;" k="15" />
-<hkern u1="v" u2="&#x2f;" k="37" />
-<hkern u1="v" u2="&#x29;" k="42" />
-<hkern u1="x" u2="&#x2122;" k="16" />
-<hkern u1="x" u2="q" k="12" />
-<hkern u1="x" u2="]" k="13" />
-<hkern u1="x" u2="\" k="17" />
-<hkern u1="x" u2="V" k="6" />
-<hkern u1="x" u2="&#x29;" k="11" />
-<hkern u1="&#x7b;" u2="v" k="18" />
-<hkern u1="&#x7b;" u2="q" k="25" />
-<hkern u1="&#x7b;" u2="j" k="-17" />
-<hkern u1="&#x7b;" u2="J" k="10" />
-<hkern u1="&#x7b;" u2="&#x38;" k="11" />
-<hkern u1="&#x7b;" u2="&#x36;" k="18" />
-<hkern u1="&#x7b;" u2="&#x34;" k="20" />
-<hkern u1="&#x7b;" u2="&#x30;" k="18" />
-<hkern u1="&#x7b;" u2="&#x28;" k="16" />
-<hkern g1="r" g2="Y" k="19" />
-<hkern g1="r" g2="T" k="17" />
-<hkern g1="r" g2="a,g" k="4" />
-<hkern g1="r" g2="asterisk" k="-13" />
-<hkern g1="r" g2="J" k="38" />
-<hkern g1="r" g2="slash" k="56" />
-<hkern g1="r" g2="backslash" k="10" />
-<hkern g1="r" g2="braceright" k="19" />
-<hkern g1="r" g2="bracketright" k="22" />
-<hkern g1="r" g2="X" k="28" />
-<hkern g1="r" g2="A" k="24" />
-<hkern g1="r" g2="parenright" k="38" />
-<hkern g1="r" g2="Z" k="7" />
-<hkern g1="r" g2="space" k="18" />
-<hkern g1="r" g2="comma,period,ellipsis" k="50" />
-<hkern g1="r" g2="trademark" k="13" />
-<hkern g1="U" g2="J" k="8" />
-<hkern g1="U" g2="slash" k="34" />
-<hkern g1="U" g2="A" k="6" />
-<hkern g1="b" g2="Y" k="78" />
-<hkern g1="b" g2="quoteright,quotedblright" k="17" />
-<hkern g1="b" g2="y" k="9" />
-<hkern g1="b" g2="W" k="15" />
-<hkern g1="b" g2="quotedbl,quotesingle" k="19" />
-<hkern g1="b" g2="T" k="83" />
-<hkern g1="b" g2="w" k="4" />
-<hkern g1="b" g2="f" k="4" />
-<hkern g1="b" g2="quoteleft,quotedblleft" k="9" />
-<hkern g1="b" g2="Z" k="5" />
-<hkern g1="exclam,numbersign,dollar,percent,parenright,plus,zero,one,two,three,five,six,eight,nine,less,equal,greater,question,M,bracketright,asciicircum,underscore,braceright,asciitilde,cent,sterling,yen,bullet,ellipsis" g2="Y" k="15" />
-<hkern g1="exclam,numbersign,dollar,percent,parenright,plus,zero,one,two,three,five,six,eight,nine,less,equal,greater,question,M,bracketright,asciicircum,underscore,braceright,asciitilde,cent,sterling,yen,bullet,ellipsis" g2="W" k="6" />
-<hkern g1="exclam,numbersign,dollar,percent,parenright,plus,zero,one,two,three,five,six,eight,nine,less,equal,greater,question,M,bracketright,asciicircum,underscore,braceright,asciitilde,cent,sterling,yen,bullet,ellipsis" g2="b,h,k" k="-158" />
-<hkern g1="w" g2="Y" k="49" />
-<hkern g1="w" g2="W" k="7" />
-<hkern g1="w" g2="T" k="66" />
-<hkern g1="w" g2="J" k="10" />
-<hkern g1="w" g2="slash" k="29" />
-<hkern g1="w" g2="backslash" k="29" />
-<hkern g1="w" g2="braceright" k="22" />
-<hkern g1="w" g2="bracketright" k="26" />
-<hkern g1="w" g2="X" k="13" />
-<hkern g1="w" g2="parenright" k="42" />
-<hkern g1="w" g2="Z" k="5" />
-<hkern g1="w" g2="trademark" k="19" />
-<hkern g1="w" g2="V" k="14" />
-<hkern g1="w" g2="question" k="18" />
-<hkern g1="Z" g2="C,G,O,Q" k="6" />
-<hkern g1="Z" g2="a,g" k="5" />
-<hkern g1="Z" g2="hyphen,endash,emdash" k="8" />
-<hkern g1="Z" g2="d" k="5" />
-<hkern g1="Z" g2="c,e,o" k="5" />
-<hkern g1="o" g2="Y" k="82" />
-<hkern g1="o" g2="quoteright,quotedblright" k="19" />
-<hkern g1="o" g2="y" k="11" />
-<hkern g1="o" g2="W" k="17" />
-<hkern g1="o" g2="t" k="7" />
-<hkern g1="o" g2="quotedbl,quotesingle" k="24" />
-<hkern g1="o" g2="T" k="92" />
-<hkern g1="o" g2="w" k="6" />
-<hkern g1="o" g2="f" k="6" />
-<hkern g1="o" g2="quoteleft,quotedblleft" k="13" />
-<hkern g1="o" g2="asterisk" k="17" />
-<hkern g1="o" g2="slash" k="19" />
-<hkern g1="o" g2="backslash" k="59" />
-<hkern g1="o" g2="braceright" k="23" />
-<hkern g1="o" g2="bracketright" k="28" />
-<hkern g1="o" g2="X" k="10" />
-<hkern g1="o" g2="parenright" k="41" />
-<hkern g1="o" g2="trademark" k="29" />
-<hkern g1="o" g2="V" k="42" />
-<hkern g1="o" g2="question" k="39" />
-<hkern g1="o" g2="x" k="14" />
-<hkern g1="o" g2="v" k="10" />
-<hkern g1="R" g2="Y" k="28" />
-<hkern g1="R" g2="W" k="8" />
-<hkern g1="R" g2="T" k="7" />
-<hkern g1="R" g2="C,G,O,Q" k="5" />
-<hkern g1="R" g2="a,g" k="5" />
-<hkern g1="R" g2="backslash" k="17" />
-<hkern g1="R" g2="bracketright" k="12" />
-<hkern g1="R" g2="parenright" k="13" />
-<hkern g1="R" g2="V" k="13" />
-<hkern g1="R" g2="d" k="5" />
-<hkern g1="R" g2="c,e,o" k="6" />
-<hkern g1="g" g2="Y" k="66" />
-<hkern g1="g" g2="W" k="11" />
-<hkern g1="g" g2="T" k="77" />
-<hkern g1="g" g2="backslash" k="38" />
-<hkern g1="g" g2="trademark" k="24" />
-<hkern g1="g" g2="V" k="24" />
-<hkern g1="g" g2="question" k="23" />
-<hkern g1="t" g2="Y" k="29" />
-<hkern g1="t" g2="T" k="41" />
-<hkern g1="t" g2="backslash" k="20" />
-<hkern g1="t" g2="bracketright" k="14" />
-<hkern g1="t" g2="parenright" k="20" />
-<hkern g1="t" g2="trademark" k="14" />
-<hkern g1="t" g2="V" k="5" />
-<hkern g1="E" g2="C,G,O,Q" k="7" />
-<hkern g1="E" g2="a,g" k="5" />
-<hkern g1="E" g2="d" k="5" />
-<hkern g1="E" g2="c,e,o" k="5" />
-<hkern g1="W" g2="a,g" k="14" />
-<hkern g1="W" g2="J" k="22" />
-<hkern g1="W" g2="slash" k="40" />
-<hkern g1="W" g2="A" k="18" />
-<hkern g1="W" g2="comma,period,ellipsis" k="14" />
-<hkern g1="W" g2="d" k="12" />
-<hkern g1="W" g2="c,e,o" k="13" />
-<hkern g1="W" g2="m,n,p,r" k="8" />
-<hkern g1="W" g2="s" k="8" />
-<hkern g1="W" g2="z" k="7" />
-<hkern g1="W" g2="u" k="8" />
-<hkern g1="W" g2="q" k="13" />
-<hkern g1="B" g2="Y" k="32" />
-<hkern g1="B" g2="W" k="10" />
-<hkern g1="B" g2="T" k="10" />
-<hkern g1="l" g2="Y" k="42" />
-<hkern g1="l" g2="quoteright,quotedblright" k="14" />
-<hkern g1="l" g2="y" k="25" />
-<hkern g1="l" g2="W" k="23" />
-<hkern g1="l" g2="t" k="22" />
-<hkern g1="l" g2="quotedbl,quotesingle" k="14" />
-<hkern g1="l" g2="T" k="34" />
-<hkern g1="l" g2="C,G,O,Q" k="10" />
-<hkern g1="l" g2="w" k="15" />
-<hkern g1="l" g2="f" k="12" />
-<hkern g1="l" g2="U" k="17" />
-<hkern g1="l" g2="quoteleft,quotedblleft" k="14" />
-<hkern g1="l" g2="asterisk" k="15" />
-<hkern g1="l" g2="backslash" k="22" />
-<hkern g1="l" g2="space" k="20" />
-<hkern g1="l" g2="trademark" k="15" />
-<hkern g1="l" g2="V" k="32" />
-<hkern g1="l" g2="question" k="20" />
-<hkern g1="l" g2="hyphen,endash,emdash" k="14" />
-<hkern g1="l" g2="d" k="4" />
-<hkern g1="l" g2="c,e,o" k="5" />
-<hkern g1="l" g2="v" k="23" />
-<hkern g1="l" g2="registered" k="15" />
-<hkern g1="l" g2="copyright" k="16" />
-<hkern g1="O,Q" g2="Y" k="35" />
-<hkern g1="O,Q" g2="W" k="8" />
-<hkern g1="O,Q" g2="T" k="9" />
-<hkern g1="O,Q" g2="J" k="7" />
-<hkern g1="O,Q" g2="slash" k="32" />
-<hkern g1="O,Q" g2="backslash" k="22" />
-<hkern g1="O,Q" g2="braceright" k="19" />
-<hkern g1="O,Q" g2="bracketright" k="21" />
-<hkern g1="O,Q" g2="X" k="21" />
-<hkern g1="O,Q" g2="A" k="6" />
-<hkern g1="O,Q" g2="parenright" k="35" />
-<hkern g1="O,Q" g2="Z" k="6" />
-<hkern g1="O,Q" g2="trademark" k="12" />
-<hkern g1="O,Q" g2="V" k="15" />
-<hkern g1="y" g2="Y" k="40" />
-<hkern g1="y" g2="W" k="6" />
-<hkern g1="y" g2="T" k="57" />
-<hkern g1="y" g2="a,g" k="4" />
-<hkern g1="y" g2="J" k="20" />
-<hkern g1="y" g2="slash" k="35" />
-<hkern g1="y" g2="backslash" k="23" />
-<hkern g1="y" g2="braceright" k="21" />
-<hkern g1="y" g2="bracketright" k="25" />
-<hkern g1="y" g2="X" k="18" />
-<hkern g1="y" g2="A" k="9" />
-<hkern g1="y" g2="parenright" k="38" />
-<hkern g1="y" g2="Z" k="7" />
-<hkern g1="y" g2="comma,period,ellipsis" k="9" />
-<hkern g1="y" g2="trademark" k="17" />
-<hkern g1="y" g2="V" k="10" />
-<hkern g1="y" g2="question" k="13" />
-<hkern g1="G" g2="Y" k="18" />
-<hkern g1="G" g2="W" k="7" />
-<hkern g1="G" g2="T" k="10" />
-<hkern g1="G" g2="parenright" k="12" />
-<hkern g1="G" g2="V" k="11" />
-<hkern g1="q,u" g2="Y" k="58" />
-<hkern g1="q,u" g2="W" k="11" />
-<hkern g1="q,u" g2="T" k="66" />
-<hkern g1="q,u" g2="backslash" k="34" />
-<hkern g1="q,u" g2="braceright" k="17" />
-<hkern g1="q,u" g2="bracketright" k="21" />
-<hkern g1="q,u" g2="parenright" k="29" />
-<hkern g1="q,u" g2="trademark" k="22" />
-<hkern g1="q,u" g2="V" k="21" />
-<hkern g1="q,u" g2="question" k="21" />
-<hkern g1="T" g2="y" k="34" />
-<hkern g1="T" g2="t" k="17" />
-<hkern g1="T" g2="w" k="23" />
-<hkern g1="T" g2="f" k="16" />
-<hkern g1="T" g2="a,g" k="83" />
-<hkern g1="T" g2="asterisk" k="-12" />
-<hkern g1="T" g2="J" k="33" />
-<hkern g1="T" g2="slash" k="74" />
-<hkern g1="T" g2="A" k="55" />
-<hkern g1="T" g2="space" k="20" />
-<hkern g1="T" g2="comma,period,ellipsis" k="53" />
-<hkern g1="T" g2="hyphen,endash,emdash" k="52" />
-<hkern g1="T" g2="d" k="82" />
-<hkern g1="T" g2="c,e,o" k="86" />
-<hkern g1="T" g2="x" k="41" />
-<hkern g1="T" g2="v" k="35" />
-<hkern g1="T" g2="m,n,p,r" k="49" />
-<hkern g1="T" g2="s" k="84" />
-<hkern g1="T" g2="z" k="56" />
-<hkern g1="T" g2="u" k="60" />
-<hkern g1="T" g2="q" k="84" />
-<hkern g1="T" g2="colon,semicolon" k="43" />
-<hkern g1="T" g2="four" k="28" />
-<hkern g1="T" g2="one" k="-15" />
-<hkern g1="L" g2="Y" k="92" />
-<hkern g1="L" g2="quoteright,quotedblright" k="98" />
-<hkern g1="L" g2="y" k="35" />
-<hkern g1="L" g2="W" k="29" />
-<hkern g1="L" g2="t" k="32" />
-<hkern g1="L" g2="quotedbl,quotesingle" k="98" />
-<hkern g1="L" g2="T" k="91" />
-<hkern g1="L" g2="C,G,O,Q" k="11" />
-<hkern g1="L" g2="w" k="15" />
-<hkern g1="L" g2="f" k="19" />
-<hkern g1="L" g2="U" k="13" />
-<hkern g1="L" g2="quoteleft,quotedblleft" k="98" />
-<hkern g1="L" g2="asterisk" k="98" />
-<hkern g1="L" g2="backslash" k="86" />
-<hkern g1="L" g2="bracketright" k="18" />
-<hkern g1="L" g2="parenright" k="15" />
-<hkern g1="L" g2="space" k="22" />
-<hkern g1="L" g2="trademark" k="98" />
-<hkern g1="L" g2="V" k="75" />
-<hkern g1="L" g2="question" k="43" />
-<hkern g1="L" g2="v" k="30" />
-<hkern g1="L" g2="registered" k="96" />
-<hkern g1="L" g2="copyright" k="15" />
-<hkern g1="L" g2="one" k="55" />
-<hkern g1="L" g2="seven" k="29" />
-<hkern g1="a" g2="Y" k="66" />
-<hkern g1="a" g2="W" k="12" />
-<hkern g1="a" g2="T" k="77" />
-<hkern g1="a" g2="backslash" k="39" />
-<hkern g1="a" g2="braceright" k="17" />
-<hkern g1="a" g2="bracketright" k="22" />
-<hkern g1="a" g2="parenright" k="29" />
-<hkern g1="a" g2="trademark" k="24" />
-<hkern g1="a" g2="V" k="25" />
-<hkern g1="a" g2="question" k="23" />
-<hkern g1="v" g2="Y" k="40" />
-<hkern g1="v" g2="W" k="5" />
-<hkern g1="v" g2="T" k="59" />
-<hkern g1="v" g2="A" k="9" />
-<hkern g1="v" g2="Z" k="7" />
-<hkern g1="v" g2="comma,period,ellipsis" k="9" />
-<hkern g1="D" g2="Y" k="35" />
-<hkern g1="D" g2="W" k="8" />
-<hkern g1="D" g2="T" k="9" />
-<hkern g1="D" g2="J" k="7" />
-<hkern g1="D" g2="slash" k="32" />
-<hkern g1="D" g2="backslash" k="23" />
-<hkern g1="D" g2="braceright" k="19" />
-<hkern g1="D" g2="bracketright" k="21" />
-<hkern g1="D" g2="X" k="21" />
-<hkern g1="D" g2="A" k="6" />
-<hkern g1="D" g2="parenright" k="35" />
-<hkern g1="D" g2="Z" k="6" />
-<hkern g1="D" g2="trademark" k="12" />
-<hkern g1="D" g2="V" k="15" />
-<hkern g1="Y" g2="y" k="20" />
-<hkern g1="Y" g2="t" k="18" />
-<hkern g1="Y" g2="C,G,O,Q" k="21" />
-<hkern g1="Y" g2="w" k="30" />
-<hkern g1="Y" g2="f" k="16" />
-<hkern g1="Y" g2="a,g" k="78" />
-<hkern g1="Y" g2="J" k="42" />
-<hkern g1="Y" g2="slash" k="82" />
-<hkern g1="Y" g2="backslash" k="-17" />
-<hkern g1="Y" g2="braceright" k="-5" />
-<hkern g1="Y" g2="bracketright" k="-8" />
-<hkern g1="Y" g2="A" k="65" />
-<hkern g1="Y" g2="parenright" k="-10" />
-<hkern g1="Y" g2="space" k="27" />
-<hkern g1="Y" g2="comma,period,ellipsis" k="61" />
-<hkern g1="Y" g2="trademark" k="-12" />
-<hkern g1="Y" g2="question" k="-13" />
-<hkern g1="Y" g2="hyphen,endash,emdash" k="48" />
-<hkern g1="Y" g2="d" k="77" />
-<hkern g1="Y" g2="c,e,o" k="81" />
-<hkern g1="Y" g2="x" k="29" />
-<hkern g1="Y" g2="v" k="20" />
-<hkern g1="Y" g2="m,n,p,r" k="52" />
-<hkern g1="Y" g2="s" k="63" />
-<hkern g1="Y" g2="z" k="45" />
-<hkern g1="Y" g2="u" k="49" />
-<hkern g1="Y" g2="q" k="79" />
-<hkern g1="Y" g2="copyright" k="18" />
-<hkern g1="Y" g2="colon,semicolon" k="32" />
-<hkern g1="Y" g2="four" k="39" />
-<hkern g1="Y" g2="seven" k="-22" />
-<hkern g1="Y" g2="S" k="11" />
-<hkern g1="Y" g2="E" k="8" />
-<hkern g1="Y" g2="ampersand" k="10" />
-<hkern g1="Y" g2="zero" k="12" />
-<hkern g1="f" g2="Y" k="-54" />
-<hkern g1="f" g2="quoteright,quotedblright" k="-25" />
-<hkern g1="f" g2="W" k="-27" />
-<hkern g1="f" g2="quotedbl,quotesingle" k="-21" />
-<hkern g1="f" g2="T" k="-35" />
-<hkern g1="f" g2="quoteleft,quotedblleft" k="-7" />
-<hkern g1="f" g2="a,g" k="5" />
-<hkern g1="f" g2="A" k="16" />
-<hkern g1="f" g2="Z" k="-5" />
-<hkern g1="f" g2="comma,period,ellipsis" k="24" />
-<hkern g1="f" g2="hyphen,endash,emdash" k="18" />
-<hkern g1="s" g2="Y" k="66" />
-<hkern g1="s" g2="quoteright,quotedblright" k="8" />
-<hkern g1="s" g2="y" k="4" />
-<hkern g1="s" g2="W" k="11" />
-<hkern g1="s" g2="T" k="80" />
-<hkern g1="s" g2="backslash" k="39" />
-<hkern g1="s" g2="braceright" k="18" />
-<hkern g1="s" g2="bracketright" k="23" />
-<hkern g1="s" g2="parenright" k="33" />
-<hkern g1="s" g2="trademark" k="27" />
-<hkern g1="s" g2="V" k="25" />
-<hkern g1="s" g2="question" k="23" />
-<hkern g1="A" g2="Y" k="65" />
-<hkern g1="A" g2="quoteright,quotedblright" k="39" />
-<hkern g1="A" g2="y" k="16" />
-<hkern g1="A" g2="W" k="25" />
-<hkern g1="A" g2="t" k="18" />
-<hkern g1="A" g2="quotedbl,quotesingle" k="40" />
-<hkern g1="A" g2="T" k="59" />
-<hkern g1="A" g2="C,G,O,Q" k="11" />
-<hkern g1="A" g2="w" k="10" />
-<hkern g1="A" g2="f" k="10" />
-<hkern g1="A" g2="U" k="13" />
-<hkern g1="A" g2="quoteleft,quotedblleft" k="32" />
-<hkern g1="A" g2="asterisk" k="35" />
-<hkern g1="A" g2="backslash" k="54" />
-<hkern g1="A" g2="space" k="24" />
-<hkern g1="A" g2="trademark" k="46" />
-<hkern g1="A" g2="V" k="40" />
-<hkern g1="A" g2="question" k="35" />
-<hkern g1="A" g2="v" k="14" />
-<hkern g1="A" g2="registered" k="29" />
-<hkern g1="A" g2="copyright" k="10" />
-<hkern g1="A" g2="one" k="37" />
-<hkern g1="A" g2="seven" k="21" />
-<hkern g1="A" g2="E" k="6" />
-<hkern g1="A" g2="L" k="6" />
-<hkern g1="V" g2="C,G,O,Q" k="9" />
-<hkern g1="V" g2="w" k="6" />
-<hkern g1="V" g2="a,g" k="34" />
-<hkern g1="V" g2="A" k="39" />
-<hkern g1="V" g2="comma,period,ellipsis" k="34" />
-<hkern g1="V" g2="hyphen,endash,emdash" k="19" />
-<hkern g1="V" g2="d" k="29" />
-<hkern g1="V" g2="c,e,o" k="31" />
-<hkern g1="V" g2="m,n,p,r" k="17" />
-<hkern g1="V" g2="s" k="20" />
-<hkern g1="V" g2="z" k="13" />
-<hkern g1="V" g2="u" k="14" />
-<hkern g1="V" g2="colon,semicolon" k="14" />
-<hkern g1="k" g2="Y" k="51" />
-<hkern g1="k" g2="W" k="11" />
-<hkern g1="k" g2="T" k="64" />
-<hkern g1="k" g2="C,G,O,Q" k="8" />
-<hkern g1="k" g2="U" k="7" />
-<hkern g1="k" g2="a,g" k="13" />
-<hkern g1="k" g2="backslash" k="31" />
-<hkern g1="k" g2="bracketright" k="10" />
-<hkern g1="k" g2="trademark" k="26" />
-<hkern g1="k" g2="V" k="19" />
-<hkern g1="k" g2="question" k="20" />
-<hkern g1="k" g2="hyphen,endash,emdash" k="15" />
-<hkern g1="k" g2="d" k="13" />
-<hkern g1="k" g2="c,e,o" k="16" />
-<hkern g1="k" g2="q" k="13" />
-<hkern g1="k" g2="E" k="7" />
-<hkern g1="N" g2="slash" k="13" />
-<hkern g1="c" g2="Y" k="57" />
-<hkern g1="c" g2="W" k="7" />
-<hkern g1="c" g2="T" k="81" />
-<hkern g1="c" g2="a,g" k="5" />
-<hkern g1="c" g2="backslash" k="36" />
-<hkern g1="c" g2="braceright" k="17" />
-<hkern g1="c" g2="bracketright" k="22" />
-<hkern g1="c" g2="parenright" k="26" />
-<hkern g1="c" g2="trademark" k="25" />
-<hkern g1="c" g2="V" k="19" />
-<hkern g1="c" g2="question" k="21" />
-<hkern g1="c" g2="d" k="4" />
-<hkern g1="c" g2="c,e,o" k="6" />
-<hkern g1="c" g2="q" k="5" />
-<hkern g1="J" g2="slash" k="20" />
-<hkern g1="F" g2="a,g" k="13" />
-<hkern g1="F" g2="A" k="35" />
-<hkern g1="F" g2="comma,period,ellipsis" k="58" />
-<hkern g1="F" g2="d" k="10" />
-<hkern g1="F" g2="c,e,o" k="10" />
-<hkern g1="F" g2="m,n,p,r" k="8" />
-<hkern g1="F" g2="s" k="7" />
-<hkern g1="F" g2="z" k="8" />
-<hkern g1="F" g2="u" k="6" />
-<hkern g1="F" g2="colon,semicolon" k="8" />
-<hkern g1="x" g2="Y" k="27" />
-<hkern g1="x" g2="T" k="45" />
-<hkern g1="x" g2="a,g" k="12" />
-<hkern g1="x" g2="hyphen,endash,emdash" k="16" />
-<hkern g1="x" g2="d" k="11" />
-<hkern g1="x" g2="c,e,o" k="14" />
-<hkern g1="e" g2="Y" k="82" />
-<hkern g1="e" g2="quoteright,quotedblright" k="10" />
-<hkern g1="e" g2="y" k="6" />
-<hkern g1="e" g2="W" k="11" />
-<hkern g1="e" g2="quotedbl,quotesingle" k="13" />
-<hkern g1="e" g2="T" k="92" />
-<hkern g1="e" g2="asterisk" k="9" />
-<hkern g1="e" g2="backslash" k="49" />
-<hkern g1="e" g2="braceright" k="20" />
-<hkern g1="e" g2="bracketright" k="23" />
-<hkern g1="e" g2="parenright" k="31" />
-<hkern g1="e" g2="trademark" k="24" />
-<hkern g1="e" g2="V" k="29" />
-<hkern g1="e" g2="question" k="31" />
-<hkern g1="e" g2="v" k="5" />
-<hkern g1="p" g2="Y" k="77" />
-<hkern g1="p" g2="quoteright,quotedblright" k="17" />
-<hkern g1="p" g2="y" k="10" />
-<hkern g1="p" g2="W" k="17" />
-<hkern g1="p" g2="t" k="5" />
-<hkern g1="p" g2="quotedbl,quotesingle" k="19" />
-<hkern g1="p" g2="T" k="82" />
-<hkern g1="p" g2="w" k="5" />
-<hkern g1="p" g2="f" k="5" />
-<hkern g1="p" g2="quoteleft,quotedblleft" k="10" />
-<hkern g1="p" g2="asterisk" k="16" />
-<hkern g1="p" g2="slash" k="18" />
-<hkern g1="p" g2="backslash" k="57" />
-<hkern g1="p" g2="braceright" k="23" />
-<hkern g1="p" g2="bracketright" k="27" />
-<hkern g1="p" g2="X" k="8" />
-<hkern g1="p" g2="parenright" k="40" />
-<hkern g1="p" g2="trademark" k="28" />
-<hkern g1="p" g2="V" k="41" />
-<hkern g1="p" g2="question" k="38" />
-<hkern g1="p" g2="x" k="12" />
-<hkern g1="p" g2="v" k="9" />
-<hkern g1="S" g2="Y" k="7" />
-<hkern g1="S" g2="slash" k="14" />
-<hkern g1="S" g2="parenright" k="13" />
-<hkern g1="S" g2="V" k="6" />
-<hkern g1="h,m,n" g2="Y" k="73" />
-<hkern g1="h,m,n" g2="quoteright,quotedblright" k="13" />
-<hkern g1="h,m,n" g2="W" k="15" />
-<hkern g1="h,m,n" g2="quotedbl,quotesingle" k="13" />
-<hkern g1="h,m,n" g2="T" k="78" />
-<hkern g1="h,m,n" g2="w" k="4" />
-<hkern g1="h,m,n" g2="asterisk" k="11" />
-<hkern g1="h,m,n" g2="backslash" k="50" />
-<hkern g1="h,m,n" g2="braceright" k="18" />
-<hkern g1="h,m,n" g2="bracketright" k="22" />
-<hkern g1="h,m,n" g2="parenright" k="28" />
-<hkern g1="h,m,n" g2="trademark" k="27" />
-<hkern g1="h,m,n" g2="V" k="35" />
-<hkern g1="h,m,n" g2="question" k="32" />
-<hkern g1="K" g2="y" k="16" />
-<hkern g1="K" g2="t" k="14" />
-<hkern g1="K" g2="C,G,O,Q" k="27" />
-<hkern g1="K" g2="w" k="16" />
-<hkern g1="K" g2="f" k="9" />
-<hkern g1="K" g2="a,g" k="21" />
-<hkern g1="K" g2="backslash" k="-8" />
-<hkern g1="K" g2="space" k="10" />
-<hkern g1="K" g2="hyphen,endash,emdash" k="24" />
-<hkern g1="K" g2="d" k="25" />
-<hkern g1="K" g2="c,e,o" k="29" />
-<hkern g1="K" g2="v" k="14" />
-<hkern g1="K" g2="u" k="8" />
-<hkern g1="K" g2="q" k="23" />
-<hkern g1="K" g2="copyright" k="20" />
-<hkern g1="K" g2="four" k="20" />
-<hkern g1="K" g2="seven" k="-13" />
-<hkern g1="K" g2="E" k="14" />
-<hkern g1="C" g2="C,G,O,Q" k="10" />
-<hkern g1="C" g2="hyphen,endash,emdash" k="8" />
-<hkern g1="C" g2="d" k="5" />
-<hkern g1="C" g2="c,e,o" k="5" />
-<hkern g1="X" g2="y" k="15" />
-<hkern g1="X" g2="t" k="15" />
-<hkern g1="X" g2="C,G,O,Q" k="21" />
-<hkern g1="X" g2="w" k="16" />
-<hkern g1="X" g2="f" k="10" />
-<hkern g1="X" g2="a,g" k="16" />
-<hkern g1="X" g2="hyphen,endash,emdash" k="18" />
-<hkern g1="X" g2="d" k="19" />
-<hkern g1="X" g2="c,e,o" k="22" />
-<hkern g1="X" g2="u" k="7" />
-<hkern g1="X" g2="E" k="12" />
-<hkern g1="P" g2="Y" k="11" />
-<hkern g1="P" g2="A" k="25" />
-<hkern g1="P" g2="Z" k="6" />
-<hkern g1="P" g2="comma,period,ellipsis" k="61" />
-<hkern g1="z" g2="Y" k="50" />
-<hkern g1="z" g2="W" k="8" />
-<hkern g1="z" g2="T" k="67" />
-<hkern g1="z" g2="a,g" k="4" />
-<hkern g1="z" g2="backslash" k="31" />
-<hkern g1="z" g2="braceright" k="14" />
-<hkern g1="z" g2="bracketright" k="19" />
-<hkern g1="z" g2="parenright" k="23" />
-<hkern g1="z" g2="trademark" k="22" />
-<hkern g1="z" g2="V" k="17" />
-<hkern g1="z" g2="question" k="18" />
-<hkern g1="z" g2="c,e,o" k="4" />
-<hkern g1="hyphen,endash,emdash" g2="quoteright,quotedblright" k="38" />
-<hkern g1="hyphen,endash,emdash" g2="quotedbl,quotesingle" k="71" />
-<hkern g1="hyphen,endash,emdash" g2="V" k="21" />
-<hkern g1="hyphen,endash,emdash" g2="t" k="13" />
-<hkern g1="hyphen,endash,emdash" g2="x" k="16" />
-<hkern g1="hyphen,endash,emdash" g2="W" k="8" />
-<hkern g1="hyphen,endash,emdash" g2="f" k="9" />
-<hkern g1="hyphen,endash,emdash" g2="T" k="52" />
-<hkern g1="hyphen,endash,emdash" g2="X" k="13" />
-<hkern g1="hyphen,endash,emdash" g2="Y" k="51" />
-<hkern g1="hyphen,endash,emdash" g2="seven" k="42" />
-<hkern g1="hyphen,endash,emdash" g2="one" k="41" />
-<hkern g1="hyphen,endash,emdash" g2="J" k="18" />
-<hkern g1="space" g2="quoteright,quotedblright" k="10" />
-<hkern g1="space" g2="quotedbl,quotesingle" k="13" />
-<hkern g1="space" g2="t" k="18" />
-<hkern g1="space" g2="f" k="12" />
-<hkern g1="space" g2="y" k="21" />
-<hkern g1="space" g2="T" k="21" />
-<hkern g1="space" g2="Y" k="29" />
-<hkern g1="space" g2="A" k="21" />
-<hkern g1="colon,semicolon" g2="quoteright,quotedblright" k="8" />
-<hkern g1="colon,semicolon" g2="quotedbl,quotesingle" k="10" />
-<hkern g1="colon,semicolon" g2="V" k="17" />
-<hkern g1="colon,semicolon" g2="T" k="48" />
-<hkern g1="colon,semicolon" g2="Y" k="36" />
-<hkern g1="seven" g2="T" k="-9" />
-<hkern g1="seven" g2="A" k="25" />
-<hkern g1="seven" g2="comma,period,ellipsis" k="38" />
-<hkern g1="seven" g2="hyphen,endash,emdash" k="17" />
-<hkern g1="braceleft" g2="t" k="17" />
-<hkern g1="braceleft" g2="f" k="-33" />
-<hkern g1="braceleft" g2="y" k="12" />
-<hkern g1="braceleft" g2="z" k="15" />
-<hkern g1="braceleft" g2="m,n,p,r" k="18" />
-<hkern g1="braceleft" g2="u" k="21" />
-<hkern g1="braceleft" g2="E" k="13" />
-<hkern g1="braceleft" g2="c,e,o" k="25" />
-<hkern g1="braceleft" g2="d" k="25" />
-<hkern g1="braceleft" g2="s" k="18" />
-<hkern g1="braceleft" g2="w" k="21" />
-<hkern g1="braceleft" g2="C,G,O,Q" k="18" />
-<hkern g1="braceleft" g2="a,g" k="25" />
-<hkern g1="parenleft" g2="t" k="24" />
-<hkern g1="parenleft" g2="f" k="-28" />
-<hkern g1="parenleft" g2="y" k="21" />
-<hkern g1="parenleft" g2="z" k="27" />
-<hkern g1="parenleft" g2="Y" k="-24" />
-<hkern g1="parenleft" g2="m,n,p,r" k="30" />
-<hkern g1="parenleft" g2="S" k="16" />
-<hkern g1="parenleft" g2="u" k="34" />
-<hkern g1="parenleft" g2="E" k="21" />
-<hkern g1="parenleft" g2="c,e,o" k="43" />
-<hkern g1="parenleft" g2="d" k="40" />
-<hkern g1="parenleft" g2="s" k="30" />
-<hkern g1="parenleft" g2="w" k="31" />
-<hkern g1="parenleft" g2="C,G,O,Q" k="30" />
-<hkern g1="parenleft" g2="a,g" k="42" />
-<hkern g1="parenleft" g2="A" k="11" />
-<hkern g1="bracketleft" g2="t" k="15" />
-<hkern g1="bracketleft" g2="f" k="-26" />
-<hkern g1="bracketleft" g2="y" k="12" />
-<hkern g1="bracketleft" g2="z" k="18" />
-<hkern g1="bracketleft" g2="Y" k="-8" />
-<hkern g1="bracketleft" g2="m,n,p,r" k="20" />
-<hkern g1="bracketleft" g2="u" k="22" />
-<hkern g1="bracketleft" g2="E" k="10" />
-<hkern g1="bracketleft" g2="c,e,o" k="27" />
-<hkern g1="bracketleft" g2="d" k="27" />
-<hkern g1="bracketleft" g2="s" k="21" />
-<hkern g1="bracketleft" g2="w" k="21" />
-<hkern g1="bracketleft" g2="C,G,O,Q" k="19" />
-<hkern g1="bracketleft" g2="a,g" k="27" />
-<hkern g1="backslash" g2="quoteright,quotedblright" k="71" />
-<hkern g1="backslash" g2="quotedbl,quotesingle" k="73" />
-<hkern g1="backslash" g2="t" k="48" />
-<hkern g1="backslash" g2="W" k="45" />
-<hkern g1="backslash" g2="f" k="-25" />
-<hkern g1="backslash" g2="y" k="36" />
-<hkern g1="backslash" g2="T" k="73" />
-<hkern g1="backslash" g2="Y" k="82" />
-<hkern g1="backslash" g2="L" k="29" />
-<hkern g1="backslash" g2="u" k="21" />
-<hkern g1="backslash" g2="E" k="30" />
-<hkern g1="backslash" g2="c,e,o" k="32" />
-<hkern g1="backslash" g2="U" k="43" />
-<hkern g1="backslash" g2="d" k="29" />
-<hkern g1="backslash" g2="w" k="37" />
-<hkern g1="backslash" g2="C,G,O,Q" k="40" />
-<hkern g1="backslash" g2="l" k="22" />
-<hkern g1="backslash" g2="a,g" k="26" />
-<hkern g1="quoteleft,quotedblleft" g2="J" k="32" />
-<hkern g1="quoteleft,quotedblleft" g2="A" k="26" />
-<hkern g1="quoteleft,quotedblleft" g2="comma,period,ellipsis" k="90" />
-<hkern g1="slash" g2="y" k="12" />
-<hkern g1="slash" g2="z" k="24" />
-<hkern g1="slash" g2="Y" k="-14" />
-<hkern g1="slash" g2="m,n,p,r" k="26" />
-<hkern g1="slash" g2="u" k="24" />
-<hkern g1="slash" g2="c,e,o" k="36" />
-<hkern g1="slash" g2="d" k="34" />
-<hkern g1="slash" g2="s" k="26" />
-<hkern g1="slash" g2="w" k="15" />
-<hkern g1="slash" g2="C,G,O,Q" k="13" />
-<hkern g1="slash" g2="a,g" k="38" />
-<hkern g1="slash" g2="A" k="50" />
-<hkern g1="quotedbl,quotesingle" g2="c,e,o" k="14" />
-<hkern g1="quotedbl,quotesingle" g2="d" k="14" />
-<hkern g1="quotedbl,quotesingle" g2="a,g" k="16" />
-<hkern g1="quotedbl,quotesingle" g2="J" k="34" />
-<hkern g1="quotedbl,quotesingle" g2="A" k="35" />
-<hkern g1="quotedbl,quotesingle" g2="comma,period,ellipsis" k="103" />
-<hkern g1="quotedbl,quotesingle" g2="hyphen,endash,emdash" k="60" />
-<hkern g1="quotedbl,quotesingle" g2="space" k="13" />
-<hkern g1="quotedbl,quotesingle" g2="q" k="14" />
-<hkern g1="quotedbl,quotesingle" g2="four" k="17" />
-<hkern g1="quotedbl,quotesingle" g2="slash" k="74" />
-<hkern g1="ampersand" g2="T" k="40" />
-<hkern g1="ampersand" g2="Y" k="33" />
-<hkern g1="ampersand" g2="Z" k="20" />
-<hkern g1="at" g2="Y" k="28" />
-<hkern g1="asterisk" g2="y" k="-10" />
-<hkern g1="asterisk" g2="T" k="-11" />
-<hkern g1="asterisk" g2="c,e,o" k="9" />
-<hkern g1="asterisk" g2="d" k="10" />
-<hkern g1="asterisk" g2="a,g" k="12" />
-<hkern g1="asterisk" g2="A" k="30" />
-<hkern g1="comma,period" g2="quoteright,quotedblright" k="110" />
-<hkern g1="comma,period" g2="quotedbl,quotesingle" k="107" />
-<hkern g1="comma,period" g2="V" k="37" />
-<hkern g1="comma,period" g2="t" k="18" />
-<hkern g1="comma,period" g2="W" k="17" />
-<hkern g1="comma,period" g2="f" k="12" />
-<hkern g1="comma,period" g2="y" k="21" />
-<hkern g1="comma,period" g2="T" k="52" />
-<hkern g1="comma,period" g2="v" k="19" />
-<hkern g1="comma,period" g2="Y" k="60" />
-<hkern g1="comma,period" g2="U" k="9" />
-<hkern g1="comma,period" g2="w" k="9" />
-<hkern g1="comma,period" g2="seven" k="26" />
-<hkern g1="comma,period" g2="one" k="45" />
-<hkern g1="comma,period" g2="quoteleft,quotedblleft" k="111" />
-<hkern g1="four" g2="quotedbl,quotesingle" k="10" />
-<hkern g1="four" g2="T" k="16" />
-<hkern g1="four" g2="Y" k="36" />
-<hkern g1="quoteright,quotedblright" g2="c,e,o" k="8" />
-<hkern g1="quoteright,quotedblright" g2="d" k="9" />
-<hkern g1="quoteright,quotedblright" g2="a,g" k="11" />
-<hkern g1="quoteright,quotedblright" g2="J" k="33" />
-<hkern g1="quoteright,quotedblright" g2="A" k="32" />
-<hkern g1="quoteright,quotedblright" g2="comma,period,ellipsis" k="93" />
-<hkern g1="quoteright,quotedblright" g2="hyphen,endash,emdash" k="14" />
-<hkern g1="quoteright,quotedblright" g2="q" k="9" />
-<hkern g1="quoteright,quotedblright" g2="slash" k="70" />
-</font>
-</defs></svg> \ No newline at end of file
diff --git a/fonts/exo2-blackitalic.ttf b/fonts/exo2-blackitalic.ttf
deleted file mode 100644
index 313ea2e..0000000
--- a/fonts/exo2-blackitalic.ttf
+++ /dev/null
Binary files differ
diff --git a/fonts/exo2-blackitalic.woff b/fonts/exo2-blackitalic.woff
deleted file mode 100644
index 804bc0e..0000000
--- a/fonts/exo2-blackitalic.woff
+++ /dev/null
Binary files differ
diff --git a/fonts/exo2-bold.eot b/fonts/exo2-bold.eot
deleted file mode 100644
index 4964cdb..0000000
--- a/fonts/exo2-bold.eot
+++ /dev/null
Binary files differ
diff --git a/fonts/exo2-bold.svg b/fonts/exo2-bold.svg
deleted file mode 100644
index 59835ba..0000000
--- a/fonts/exo2-bold.svg
+++ /dev/null
@@ -1,1151 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="exo_2.0bold" horiz-adv-x="414" >
-<font-face units-per-em="1000" ascent="800" descent="-200" />
-<missing-glyph horiz-adv-x="217" />
-<glyph horiz-adv-x="1000" />
-<glyph horiz-adv-x="1000" />
-<glyph unicode="&#xd;" horiz-adv-x="1000" />
-<glyph unicode=" " horiz-adv-x="217" />
-<glyph unicode="&#x09;" horiz-adv-x="217" />
-<glyph unicode="&#xa0;" horiz-adv-x="217" />
-<glyph unicode="!" horiz-adv-x="300" d="M76 425v270h147v-270l-15 -206h-116zM81 52v48q0 29 11.5 40t40.5 11h34q29 0 40.5 -11t11.5 -40v-48q0 -29 -11.5 -40.5t-40.5 -11.5h-34q-29 0 -40.5 11.5t-11.5 40.5z" />
-<glyph unicode="&#x22;" horiz-adv-x="375" d="M53 690h108l-9 -221h-91zM214 690h109l-9 -221h-91z" />
-<glyph unicode="#" horiz-adv-x="710" d="M32 197l17 89h115l24 140h-114l17 88h113l30 176h112l-31 -176h140l30 176h112l-31 -176h112l-17 -88h-110l-24 -140h109l-17 -89h-108l-34 -197h-112l34 197h-139l-34 -197h-112l34 197h-116zM276 286h139l24 140h-139z" />
-<glyph unicode="$" horiz-adv-x="577" d="M45 512q0 76 24.5 117.5t73 57t135.5 16.5l9 90h111l-10 -94q72 -7 129 -23l-9 -104q-87 3 -214 3q-59 0 -79 -10.5t-20 -52.5q0 -34 15.5 -49t57.5 -29l128 -45q79 -28 111.5 -76.5t32.5 -126.5q0 -110 -50.5 -153t-176.5 -45l-10 -108h-111l10 111q-69 5 -150 22 l10 112q167 -4 225 -4q60 0 80.5 12.5t20.5 51.5q0 35 -14 49.5t-52 26.5l-136 49q-76 28 -108.5 76t-32.5 126z" />
-<glyph unicode="%" horiz-adv-x="907" d="M34 498q0 115 38 160t133 45q96 0 134 -45t38 -160q0 -114 -38 -159.5t-134 -45.5q-95 0 -133 45.5t-38 159.5zM143 498q0 -75 12.5 -99t48.5 -24q38 0 50.5 24t12.5 99t-12.5 99t-50.5 24q-36 0 -48.5 -24.5t-12.5 -98.5zM198 0l414 690h94l-413 -690h-95zM531 194 q0 114 37.5 159.5t132.5 45.5q96 0 134 -45.5t38 -159.5q0 -115 -38 -160.5t-134 -45.5q-95 0 -132.5 45.5t-37.5 160.5zM640 194q-1 -75 11.5 -99t49.5 -24t49.5 24t12.5 99q0 74 -12.5 98t-49.5 24t-49.5 -23.5t-11.5 -98.5z" />
-<glyph unicode="&#x26;" horiz-adv-x="765" d="M51 175q0 83 31.5 129t104.5 52v4q-61 6 -88 45t-27 116q0 60 14 96t49.5 54.5t80.5 24.5t124 6q98 0 163 -12l-18 -105q-102 3 -149 3q-66 0 -88 -17t-22 -73q0 -53 19.5 -72t73.5 -19h152l10 106h124v-106h107v-103h-107v-145q0 -29 10.5 -40t37.5 -11h62l16 -100 q-52 -20 -127 -20q-99 0 -128 73q-41 -39 -90.5 -56t-125.5 -17q-113 0 -161 42t-48 145zM212 205q0 -57 18 -76t73 -19q99 2 163 45v149h-155q-58 0 -78.5 -20.5t-20.5 -78.5z" />
-<glyph unicode="'" horiz-adv-x="213" d="M53 690h108l-9 -221h-91z" />
-<glyph unicode="(" horiz-adv-x="365" d="M39 312q0 199 70 315t220 163l17 -64q-164 -75 -164 -413q0 -333 164 -414l-17 -64q-150 48 -220 163.5t-70 313.5z" />
-<glyph unicode=")" horiz-adv-x="365" d="M19 -101q164 81 164 414q0 338 -164 413l17 64q150 -47 220 -163t70 -315q0 -198 -70 -313.5t-220 -163.5z" />
-<glyph unicode="*" horiz-adv-x="452" d="M38 534l25 78l116 -49v-36l-18 -22zM90 395l107 128l-12 168h82l-12 -167l106 -129l-65 -49l-70 122l-70 -121zM273 527v36l116 49l25 -78l-122 -29z" />
-<glyph unicode="+" horiz-adv-x="539" d="M42 247v108h172v168h110v-168h173v-108h-173v-167h-109v167h-173z" />
-<glyph unicode="," horiz-adv-x="243" d="M50 46l1 54q1 29 12.5 40t40.5 11h35q29 0 40 -11t11 -40v-64q0 -100 -51 -183l-61 19q14 59 14 128q-40 0 -42 46z" />
-<glyph unicode="-" d="M58 206v97h298v-97h-298z" />
-<glyph unicode="." horiz-adv-x="246" d="M51 52v48q0 29 11.5 40t40.5 11h40q29 0 40.5 -11t11.5 -40v-48q0 -29 -11.5 -40.5t-40.5 -11.5h-40q-29 0 -40.5 11.5t-11.5 40.5z" />
-<glyph unicode="/" horiz-adv-x="550" d="M20 -72l393 762h117l-393 -762h-117z" />
-<glyph unicode="0" horiz-adv-x="629" d="M49 345q0 198 59 278t206 80q148 0 207 -80t59 -278t-59 -278t-207 -80q-147 0 -206 80t-59 278zM199 345q0 -140 23.5 -188.5t90.5 -48.5q69 0 93 48.5t24 188.5t-24 188.5t-93 48.5q-67 0 -90.5 -48.5t-23.5 -188.5z" />
-<glyph unicode="1" horiz-adv-x="429" d="M11 621l173 69h152v-690h-152v486q0 44 6 75l-161 -42z" />
-<glyph unicode="2" horiz-adv-x="578" d="M45 0v85q0 39 22 62l169 182q124 129 123 197q-1 29 -22 37.5t-72 8.5q-106 0 -208 -9l-6 115q116 24 232 24t173.5 -34t57.5 -126q0 -62 -22.5 -109.5t-89.5 -118.5l-177 -184q39 7 102 7h207v-137h-489z" />
-<glyph unicode="3" horiz-adv-x="566" d="M41 5l6 114q112 -7 190 -7q73 0 100 20.5t27 79.5q0 51 -22 73.5t-84 21.5h-129v104h129q60 0 77.5 22.5t16.5 69.5q0 49 -21 62.5t-86 13.5q-86 0 -184 -4l-7 110q111 18 217 18q123 0 174 -35t51 -125q0 -78 -23 -121t-82 -53v-4q67 -11 94.5 -52.5t28.5 -120.5 q2 -109 -52 -157t-184 -48q-102 0 -237 18z" />
-<glyph unicode="4" horiz-adv-x="636" d="M32 264l179 426h144l-164 -397q-7 -17 -1 -25t21 -8h167v186l25 110h116v-296h86v-94l-84 -14h-2v-152h-141v152h-273q-45 0 -67.5 35t-5.5 77z" />
-<glyph unicode="5" horiz-adv-x="551" d="M38 10l14 118q111 -12 178 -12q75 0 100.5 22t27.5 76q3 62 -29 80t-132 27l-84 10q-22 2 -35.5 18t-12.5 38l17 303h406l-5 -118h-283l-8 -125l99 -12q119 -13 168.5 -69t49.5 -155q0 -223 -241 -223q-100 0 -230 22z" />
-<glyph unicode="6" horiz-adv-x="588" d="M51 338q0 94 12 159t33.5 105t59 62.5t79.5 30t104 7.5q98 0 163 -18l-8 -100q-52 2 -155 2q-78 0 -106.5 -34t-33.5 -147q55 50 152 50q112 0 154.5 -49.5t42.5 -169.5q0 -64 -10 -107t-35.5 -76.5t-74 -49t-122.5 -15.5q-104 0 -157.5 30.5t-75.5 104t-22 215.5z M198 308q1 -130 19 -166.5t90 -36.5q63 0 80 27.5t17 100.5q0 65 -19.5 88t-77.5 23q-54 0 -109 -36z" />
-<glyph unicode="7" horiz-adv-x="526" d="M27 690h414q38 0 55.5 -23.5t5.5 -57.5l-209 -609h-150l175 500q12 37 29 65h-314z" />
-<glyph unicode="8" horiz-adv-x="619" d="M53 172q0 173 119 184v4q-52 6 -77 49.5t-25 108.5q0 101 49.5 142.5t190.5 41.5t190.5 -41.5t49.5 -142.5q0 -65 -25.5 -108.5t-76.5 -49.5v-4q66 -6 92 -54t26 -130q0 -101 -53 -142.5t-203 -42.5q-149 -1 -203 41.5t-54 143.5zM196 203q0 -58 23 -78t92 -20 q67 0 89 20t22 78q0 62 -21.5 82t-88.5 20q-70 0 -93 -20.5t-23 -81.5zM207 500q0 -53 21 -71t84 -18q62 0 81 17.5t19 71.5q0 56 -19.5 74.5t-81.5 18.5q-63 0 -83.5 -18.5t-20.5 -74.5z" />
-<glyph unicode="9" horiz-adv-x="588" d="M42 454q-1 132 53 190t190 58q65 0 107.5 -10.5t71.5 -33t44 -65.5t21 -98.5t6 -142.5q0 -116 -14.5 -187t-51.5 -110.5t-87.5 -53t-133.5 -13.5q-104 0 -177 18l9 101q56 -2 167 -2q78 0 107.5 37.5t33.5 144.5q-56 -52 -153 -52q-193 0 -193 219zM185 457 q-1 -61 19.5 -86.5t75.5 -25.5q52 0 109 38q0 129 -17.5 166t-87.5 37q-62 0 -81 -29t-18 -100z" />
-<glyph unicode=":" horiz-adv-x="259" d="M52 52v48q0 29 11.5 40.5t40.5 11.5h40q29 0 40.5 -11.5t11.5 -40.5v-48q0 -29 -11.5 -40.5t-40.5 -11.5h-40q-29 0 -40.5 11.5t-11.5 40.5zM52 351v48q0 29 11.5 40.5t40.5 11.5h40q29 0 40.5 -11.5t11.5 -40.5v-48q0 -29 -11.5 -40t-40.5 -11h-40q-29 0 -40.5 11 t-11.5 40z" />
-<glyph unicode=";" horiz-adv-x="259" d="M58 46l2 54q1 29 12.5 40t39.5 11h35q29 0 40 -11t12 -40v-64q-1 -101 -52 -183l-61 19q13 51 15 128q-41 0 -43 46zM59 351v48q0 29 11.5 40.5t40.5 11.5h40q29 0 40.5 -11.5t11.5 -40.5v-48q0 -29 -11.5 -40t-40.5 -11h-40q-29 0 -40.5 11t-11.5 40z" />
-<glyph unicode="&#x3c;" horiz-adv-x="518" d="M40 244v114l420 165v-115l-295 -107l295 -107v-115z" />
-<glyph unicode="=" horiz-adv-x="579" d="M60 138v105h459v-105h-459zM60 351v105h459v-105h-459z" />
-<glyph unicode="&#x3e;" horiz-adv-x="517" d="M57 79v115l295 107l-295 107v115l420 -165v-114z" />
-<glyph unicode="?" horiz-adv-x="516" d="M31 688q11 2 40.5 7.5t41.5 7t38.5 4.5t54.5 4t66 1q108 0 161 -38t53 -117q0 -40 -17.5 -74.5t-42.5 -60.5t-51 -53t-46 -65.5t-23 -84.5h-120q-2 60 19 111t47.5 80t50.5 61t26 57q3 33 -19 48.5t-73 15.5q-88 0 -201 -5zM176 52v48q0 29 11.5 40t40.5 11h35 q29 0 40.5 -11t11.5 -40v-48q0 -29 -11.5 -40.5t-40.5 -11.5h-35q-29 0 -40.5 11.5t-11.5 40.5z" />
-<glyph unicode="@" horiz-adv-x="756" d="M57 268q0 79 3 126.5t16 88.5t32 61t57 34.5t85 18.5t123 4h152q87 0 130.5 -38.5t43.5 -127.5v-300h-109l-13 69q-28 -32 -74.5 -56t-100.5 -24q-62 0 -101.5 33t-39.5 93v48q0 52 33 81t94 29h174v25q0 34 -14.5 46t-52.5 12h-122q-47 0 -69.5 -1t-47 -9t-33.5 -20 t-18 -39t-10.5 -61.5t-1.5 -92.5q0 -60 1.5 -95t13 -63t20.5 -39.5t41 -19t57 -8t85 -0.5h5h282v-99q-173 -13 -281 -13q-86 0 -139.5 3.5t-97 18t-65.5 35t-36.5 62t-18 90t-3.5 128.5zM394 273q0 -46 48 -46q70 0 120 44v63l-121 -4q-26 -1 -36.5 -10.5t-10.5 -30.5v-16z " />
-<glyph unicode="A" horiz-adv-x="650" d="M1 0l199 650q4 18 19 29t34 11h144q43 0 53 -40l199 -650h-155l-50 181h-237l-50 -181h-156zM239 299h172l-58 211q-12 50 -14 65h-27q-2 -11 -7 -33t-8 -32z" />
-<glyph unicode="B" horiz-adv-x="637" d="M70 0v690q89 8 259 8q138 0 191 -37.5t53 -142.5q0 -75 -28.5 -113.5t-92.5 -44.5v-4q77 -7 110 -52.5t33 -131.5q0 -104 -53 -142t-181 -38q-192 0 -291 8zM219 107h116q63 0 85 18.5t22 75.5q0 62 -23 83.5t-88 22.5h-112v-200zM219 408h111q56 0 76.5 18t20.5 71 q0 52 -22 69t-83 17l-103 1v-176z" />
-<glyph unicode="C" horiz-adv-x="586" d="M47 345q0 197 65 277t225 80q116 0 207 -23l-13 -114q-81 5 -194 5q-75 0 -102.5 -47.5t-27.5 -177.5t27.5 -177.5t102.5 -47.5q139 0 208 9l13 -113q-90 -28 -221 -28q-160 0 -225 80t-65 277z" />
-<glyph unicode="D" horiz-adv-x="680" d="M70 0v690q142 9 268 9q165 0 229.5 -76t64.5 -278t-64.5 -278t-229.5 -76q-126 0 -268 9zM222 112q17 0 55.5 -0.5t60.5 -0.5q77 0 105.5 49t28.5 185t-28.5 185.5t-105.5 49.5l-116 -1v-467z" />
-<glyph unicode="E" horiz-adv-x="576" d="M64 136v418q1 64 42 101.5t110 37.5q226 0 320 -10l-7 -113h-265q-25 0 -36 -12t-11 -39v-105h275v-110h-275v-133q0 -28 11 -40t36 -12h265l7 -112q-94 -10 -320 -10q-69 0 -110 37.5t-42 101.5z" />
-<glyph unicode="F" horiz-adv-x="554" d="M68 0v550q0 66 41.5 104.5t110.5 38.5q220 0 310 -11l-8 -112h-247q-29 0 -41.5 -12t-12.5 -39v-118h264v-111h-264v-290h-153z" />
-<glyph unicode="G" horiz-adv-x="645" d="M47 347q0 202 68.5 279t240.5 77q125 0 212 -24l-12 -112q-113 5 -195 5q-46 0 -72.5 -7.5t-46.5 -32.5t-27 -69.5t-7 -120.5q0 -129 24 -177t89 -48q60 0 124 35v246h147v-398h-112l-14 69q-80 -82 -199 -82q-116 0 -168 85t-52 275z" />
-<glyph unicode="H" horiz-adv-x="688" d="M70 0v690h152v-264h244v264h152v-690h-152v308h-244v-308h-152z" />
-<glyph unicode="I" horiz-adv-x="292" d="M70 0v690h152v-690h-152z" />
-<glyph unicode="J" horiz-adv-x="369" d="M20 8l17 102h47q66 0 66 53v527h152v-545q0 -75 -41 -116t-115 -41q-83 0 -126 20z" />
-<glyph unicode="K" horiz-adv-x="631" d="M70 0v690h152v-195q0 -44 -7 -82h59l175 277h165l-178 -275q-17 -30 -50 -55v-4q36 -25 58 -61l182 -295h-170l-182 304h-59q7 -40 7 -66v-238h-152z" />
-<glyph unicode="L" horiz-adv-x="532" d="M68 144v546h152v-515q0 -27 12.5 -39t41.5 -12h237l7 -116q-101 -11 -292 -11q-80 0 -119 40t-39 107z" />
-<glyph unicode="M" horiz-adv-x="911" d="M57 0l25 633q3 57 57 57h147q49 0 60 -49l84 -344q8 -33 18 -97h13q1 5 7.5 41t10.5 56l83 344q12 49 62 49h147q55 0 57 -57l27 -633h-144l-23 571h-17l-104 -427q-10 -49 -62 -49h-100q-52 0 -62 49l-105 427h-17l-20 -571h-144z" />
-<glyph unicode="N" horiz-adv-x="722" d="M70 0v635q0 55 55 55h93q23 0 36 -10.5t25 -34.5l175 -357q25 -50 50 -111h10q-6 78 -6 116v397h144v-635q0 -55 -54 -55h-95q-23 0 -36 10.5t-25 34.5l-181 368q-34 73 -42 107h-11q7 -50 7 -110v-410h-145z" />
-<glyph unicode="O" horiz-adv-x="684" d="M47 345q0 205 64.5 281.5t230.5 76.5t231 -76.5t65 -281.5t-65 -281.5t-231 -76.5t-230.5 76.5t-64.5 281.5zM207 345q0 -137 28.5 -186t106.5 -49t106.5 49t28.5 186t-28.5 186t-106.5 49t-106.5 -49t-28.5 -186z" />
-<glyph unicode="P" horiz-adv-x="614" d="M70 0v690q93 9 262 9q145 0 198.5 -47t53.5 -178t-50.5 -178.5t-181.5 -47.5q-66 0 -130 8v-256h-152zM222 365h107q59 1 80.5 23t21.5 86t-21.5 86t-80.5 22l-107 -1v-216z" />
-<glyph unicode="Q" horiz-adv-x="686" d="M47 345q0 205 65 281.5t231 76.5t230.5 -76.5t64.5 -281.5t-64.5 -281.5t-230.5 -76.5t-231 76.5t-65 281.5zM208 345q0 -137 28.5 -186t106.5 -49t106.5 49t28.5 186t-28.5 186t-106.5 49t-106.5 -49t-28.5 -186zM257 -116l36 81q120 -42 300 -68l-43 -136 q-150 37 -293 123z" />
-<glyph unicode="R" horiz-adv-x="643" d="M70 0v690q93 9 263 9q139 0 197 -44t58 -160q0 -76 -30.5 -119t-101.5 -52v-5q79 -18 98 -104l60 -215h-161l-52 211q-10 33 -26.5 45.5t-47.5 12.5l-107 1v-270h-150zM220 387h110q60 0 82 20.5t22 77.5t-21.5 77t-82.5 20l-110 -1v-194z" />
-<glyph unicode="S" horiz-adv-x="582" d="M43 512q0 114 55.5 152.5t195.5 38.5q133 0 227 -27l-10 -104q-87 3 -216 3q-60 0 -80 -10.5t-20 -52.5q0 -34 15 -49t57 -29l131 -45q80 -28 113 -76.5t33 -126.5q0 -116 -56 -157.5t-200 -41.5q-117 0 -237 26l9 110q213 -5 228 -5q61 0 81.5 13t20.5 54q0 35 -14 49.5 t-51 26.5l-139 49q-77 28 -110 76t-33 126z" />
-<glyph unicode="T" horiz-adv-x="601" d="M18 566v124h565v-124h-206v-566h-153v566h-206z" />
-<glyph unicode="U" horiz-adv-x="681" d="M65 275v415h152v-415q0 -95 26.5 -130t97.5 -35q70 0 96.5 35t26.5 130v415h153v-415q0 -158 -60.5 -223t-208.5 -65q-156 0 -219.5 65t-63.5 223z" />
-<glyph unicode="V" horiz-adv-x="636" d="M7 690h157l125 -498q10 -40 17 -77h25q3 19 17 77l124 498h157l-187 -648q-5 -19 -19.5 -30.5t-34.5 -11.5h-139q-20 0 -34.5 11.5t-19.5 30.5z" />
-<glyph unicode="W" horiz-adv-x="973" d="M26 690h156l67 -479q6 -45 9 -100h20q3 28 15 100l74 432q3 21 17.5 34t36.5 13h132q21 0 35.5 -13t17.5 -34l74 -433q12 -74 14 -99h21q4 57 9 98l68 481h155l-109 -648q-4 -19 -19 -30.5t-36 -11.5h-146q-21 0 -36 12t-18 31l-75 451q-8 44 -12 87h-19q0 -3 -4.5 -37 t-7.5 -51l-74 -450q-3 -19 -18.5 -31t-36.5 -12h-146q-20 0 -35.5 11.5t-19.5 30.5z" />
-<glyph unicode="X" horiz-adv-x="641" d="M10 0l180 354l-166 336h156l133 -285h15l133 285h156l-166 -336l180 -354h-158l-147 307h-12l-147 -307h-157z" />
-<glyph unicode="Y" horiz-adv-x="608" d="M0 690h159l115 -253q10 -22 26 -87h10q12 54 25 87l115 253h157l-226 -462v-228h-153v228z" />
-<glyph unicode="Z" horiz-adv-x="583" d="M40 0v117l328 456h-320v117h488v-117l-328 -456h336v-117h-504z" />
-<glyph unicode="[" horiz-adv-x="346" d="M76 -88v779q0 34 21.5 55.5t55.5 21.5h160v-92h-80q-19 0 -19 -19v-711q0 -19 19 -19h80v-92h-160q-77 0 -77 77z" />
-<glyph unicode="\" horiz-adv-x="551" d="M20 690h118l393 -762h-118z" />
-<glyph unicode="]" horiz-adv-x="346" d="M33 -73h80q19 0 19 19v711q0 19 -19 19h-80v92h159q34 0 56 -21.5t22 -55.5v-779q0 -34 -22 -55.5t-56 -21.5h-159v92z" />
-<glyph unicode="^" horiz-adv-x="462" d="M30 402l148 225h107l147 -225l-58 -32l-138 165h-8l-141 -165z" />
-<glyph unicode="_" horiz-adv-x="557" d="M56 0h445v-97h-445v97z" />
-<glyph unicode="`" horiz-adv-x="353" d="M28 634l68 102l201 -148l-43 -64z" />
-<glyph unicode="a" horiz-adv-x="567" d="M36 130v50q0 59 40 92t111 33h176v22q-1 38 -17.5 51t-63.5 13q-82 0 -208 -8l-14 100q133 24 257 24q100 0 147 -40.5t47 -140.5v-326h-117l-15 75q-74 -87 -182 -87q-71 0 -116 37.5t-45 104.5zM182 150q0 -51 58 -51q60 0 123 48v69h-133q-48 -1 -48 -47v-19z" />
-<glyph unicode="b" horiz-adv-x="592" d="M59 26v674h149v-157q0 -69 -13 -116q78 80 175 80q96 0 138.5 -59.5t42.5 -196.5q0 -127 -52 -195t-189 -68q-60 0 -134.5 10t-116.5 28zM207 107q51 -11 100 -9q51 2 71.5 34t20.5 118q0 82 -17 110.5t-71 28.5q-41 0 -104 -42v-240z" />
-<glyph unicode="c" horiz-adv-x="507" d="M40 247q0 143 56 201.5t193 58.5q112 0 182 -31l-16 -92q-108 2 -141 2q-68 0 -93.5 -29t-25.5 -110t25.5 -110t93.5 -29q87 0 151 9l13 -96q-76 -33 -191 -33q-136 0 -191.5 58.5t-55.5 200.5z" />
-<glyph unicode="d" horiz-adv-x="594" d="M41 251q0 142 46 199t143 57q95 0 160 -44q-5 55 -5 103v134h148v-700h-117l-12 72q-71 -84 -188 -84q-92 0 -133.5 66.5t-41.5 196.5zM193 252q0 -85 18 -113.5t64 -28.5q31 0 53 8.5t57 31.5v228q-67 19 -105 19q-50 0 -68.5 -28t-18.5 -117z" />
-<glyph unicode="e" horiz-adv-x="560" d="M40 246q0 145 57.5 203t193.5 58q123 0 178 -42.5t56 -129.5q0 -69 -35.5 -103.5t-114.5 -34.5h-178q7 -54 32.5 -72.5t84.5 -18.5q79 0 184 11l14 -92q-77 -37 -215 -37q-139 0 -198 60t-59 198zM194 286h140q27 0 36.5 13t9.5 38q0 35 -18 48.5t-66 13.5 q-57 0 -78 -22.5t-24 -90.5z" />
-<glyph unicode="f" horiz-adv-x="404" d="M19 394v94l86 5v75q0 152 162 152q105 0 160 -10l-14 -98h-93q-37 0 -51.5 -14t-14.5 -50v-55h136v-99h-136v-394h-149v394h-86z" />
-<glyph unicode="g" horiz-adv-x="579" d="M24 -44q0 38 17.5 62.5t60.5 44.5q-34 33 -27.5 81.5t43.5 70.5q-73 34 -73 133q0 87 52 123t181 36q78 0 129 -14h159l-7 -65l-62 -8q12 -28 12 -71q0 -86 -51.5 -122t-180.5 -36q-43 0 -85 5q-12 -16 -4.5 -36t33.5 -23l179 -21q76 -9 109.5 -44t33.5 -103 q0 -94 -56.5 -127t-202.5 -33q-152 0 -206 31.5t-54 115.5zM165 -25q0 -36 22 -46t95 -10t96.5 10.5t23.5 43.5q0 26 -15 33t-66 13l-124 13q-32 -26 -32 -57zM181 349q0 -36 20.5 -50t75.5 -14q54 0 74.5 14t20.5 50q0 37 -20 50t-75 13t-75.5 -13t-20.5 -50z" />
-<glyph unicode="h" horiz-adv-x="599" d="M61 0v700h149v-171q0 -51 -9 -103q103 81 202 81q67 0 102.5 -35t35.5 -102v-370h-147v324q0 33 -10.5 45.5t-37.5 12.5q-53 0 -137 -45v-337h-148z" />
-<glyph unicode="i" horiz-adv-x="276" d="M62 614v54q0 43 43 43h66q43 0 43 -43v-54q0 -43 -43 -43h-66q-43 0 -43 43zM65 0v493h147v-493h-147z" />
-<glyph unicode="j" horiz-adv-x="278" d="M5 -132q61 69 61 155v470h147v-470q0 -69 -34 -128.5t-93 -91.5zM63 618v54q0 43 43 43h65q43 0 43 -43v-54q0 -43 -43 -43h-65q-43 0 -43 43z" />
-<glyph unicode="k" horiz-adv-x="557" d="M61 0v700h148v-289q0 -49 -7 -90h46l122 172h166l-128 -171q-16 -27 -46 -47v-2q25 -17 46 -53l145 -220h-166l-138 229h-47q7 -46 7 -74v-155h-148z" />
-<glyph unicode="l" horiz-adv-x="327" d="M62 124v576h147v-539q0 -50 56 -50h40l17 -103q-38 -20 -118 -20q-66 0 -104 35.5t-38 100.5z" />
-<glyph unicode="m" horiz-adv-x="878" d="M61 0v493h118l10 -72q94 86 188 86q100 0 127 -80q87 80 180 80q67 0 102 -35t35 -102v-370h-147v324q0 32 -11 45t-41 13q-24 0 -46 -9t-64 -35v-338h-142v324q0 32 -12.5 45t-40.5 13q-39 0 -109 -43v-339h-147z" />
-<glyph unicode="n" horiz-adv-x="599" d="M61 0v493h120l11 -73q107 87 211 87q67 0 102.5 -35t35.5 -102v-370h-147v324q0 33 -10.5 45.5t-37.5 12.5q-47 0 -137 -45v-337h-148z" />
-<glyph unicode="o" horiz-adv-x="587" d="M40 246q0 143 57.5 202t196.5 59q138 0 195.5 -59.5t57.5 -201.5t-57.5 -200.5t-195.5 -58.5q-139 0 -196.5 58.5t-57.5 200.5zM195 246q0 -88 20 -118t79 -30q57 0 77.5 30t20.5 118q0 89 -20 119.5t-78 30.5q-59 0 -79 -30t-20 -120z" />
-<glyph unicode="p" horiz-adv-x="600" d="M61 -190v683h120l11 -72q31 37 85.5 61t110.5 24q170 0 170 -264q0 -142 -45.5 -198.5t-142.5 -56.5q-100 0 -165 48q5 -51 3 -106v-119h-147zM208 117q78 -20 112 -20q49 0 67.5 28t18.5 117q0 87 -17 117.5t-60 30.5q-49 0 -121 -47v-226z" />
-<glyph unicode="q" horiz-adv-x="591" d="M40 244q0 132 52 197.5t192 65.5q59 0 132.5 -10t115.5 -29v-658h-148v144q0 65 12 112q-87 -79 -179 -79t-134.5 63t-42.5 194zM192 240q0 -73 16.5 -101.5t65.5 -28.5q45 0 111 38v239q-55 12 -101 10q-53 -2 -72.5 -34t-19.5 -123z" />
-<glyph unicode="r" horiz-adv-x="425" d="M61 0v493h115l13 -72q101 86 200 86h26l-15 -137h-40q-49 0 -151 -34v-336h-148z" />
-<glyph unicode="s" horiz-adv-x="527" d="M37 366q0 77 47.5 109t162.5 32q133 -2 228 -19l-10 -95q-126 2 -190 2q-35 0 -48.5 -0.5t-27 -3.5t-16.5 -9.5t-3 -19.5q0 -5 0.5 -9t2.5 -7.5t3.5 -5.5t5.5 -4.5t6.5 -3.5t9 -3.5t10 -3.5t13 -3.5t14.5 -3.5l126 -34q66 -19 94 -50.5t28 -93.5q0 -88 -51 -119.5 t-175 -31.5q-120 0 -221 17l9 96q36 -2 171 -2q77 0 100.5 6.5t23.5 30.5q0 5 -0.5 9t-2.5 7.5t-4 5.5t-6.5 4.5t-7 4t-9.5 4t-11 3.5t-13.5 3.5t-15.5 4.5l-123 33q-68 20 -94 54.5t-26 95.5z" />
-<glyph unicode="t" horiz-adv-x="411" d="M19 394v94l87 5v138h147v-138h137v-99h-137v-233q0 -28 12 -39t42 -11h63l16 -103q-57 -20 -139 -20q-67 0 -104 37.5t-37 104.5v264h-87z" />
-<glyph unicode="u" horiz-adv-x="590" d="M58 124v369h148v-324q-1 -32 11 -45t42 -13q43 0 123 41v341h147v-493h-117l-11 68q-102 -81 -204 -81q-139 0 -139 137z" />
-<glyph unicode="v" horiz-adv-x="563" d="M7 493h157l89 -309q11 -40 21 -88h13q12 47 27 101.5t27.5 97t29.5 100.5t28 98h156l-162 -458q-12 -35 -48 -35h-128q-36 0 -48 35z" />
-<glyph unicode="w" horiz-adv-x="847" d="M16 493h149l67 -320q10 -54 12 -81h13q2 14 6.5 41t6.5 40l50 276q7 44 51 44h104q20 0 34.5 -12t17.5 -33l49 -275q2 -14 7 -41t7 -40h12l12 81l68 320h149l-121 -454q-10 -39 -51 -39h-116q-20 0 -35 12.5t-18 32.5l-50 279q-1 9 -4.5 38t-6.5 45h-12 q-8 -55 -18 -115.5t-23 -133.5t-20 -113q-3 -20 -18 -32.5t-36 -12.5h-114q-41 0 -51 39z" />
-<glyph unicode="x" horiz-adv-x="564" d="M10 0l152 253l-141 240h151l105 -190h10l105 190h151l-141 -240l152 -253h-152l-117 207h-6l-117 -207h-152z" />
-<glyph unicode="y" horiz-adv-x="562" d="M7 493h158l92 -319q9 -35 15 -74h13q3 12 10 37.5t10 36.5l91 319h158l-175 -500q-14 -40 -34.5 -74t-52.5 -65.5t-79.5 -46.5t-105.5 -8l-12 87q60 16 94 41.5t53 68.5l2 4h-28q-37 0 -48 36z" />
-<glyph unicode="z" horiz-adv-x="525" d="M40 0v106l272 282h-267v105h435v-105l-271 -282h276v-106h-445z" />
-<glyph unicode="{" horiz-adv-x="339" d="M34 280v96l27 9t14.5 10t9.5 19t1 33v182q0 77 53 115t164 24v-91q-45 0 -60.5 -12.5t-15.5 -49.5v-151q1 -65 -20.5 -95.5t-82.5 -40.5q61 -17 83.5 -47t23.5 -85v-210q0 -37 15.5 -48.5t60.5 -11.5v-91q-111 -14 -164 24t-53 115v239q0 18 -2 28t-12 18t-15 10t-27 11z " />
-<glyph unicode="|" horiz-adv-x="261" d="M78 -169v950h104v-950h-104z" />
-<glyph unicode="}" horiz-adv-x="340" d="M33 -74q45 0 60.5 11.5t15.5 48.5v210q1 55 23.5 85t83.5 47q-60 10 -82 40.5t-21 95.5v151q0 37 -15.5 49.5t-60.5 12.5v91q111 14 164 -24t53 -115v-182q0 -22 1 -33t9.5 -19t14.5 -10l27 -9v-96q-39 -16 -46 -25q-10 -13 -10 -42v-239q0 -77 -53 -115t-164 -24v91z " />
-<glyph unicode="~" horiz-adv-x="513" d="M62 217q-11 72 13 109.5t68 36.5q32 -2 111 -25.5t95 -25.5q23 -4 29.5 6t6.5 40h67q11 -71 -12.5 -109t-68.5 -36q-35 1 -113 24.5t-94 25.5q-23 4 -29 -6t-6 -40h-67z" />
-<glyph unicode="&#xa2;" horiz-adv-x="521" d="M39 348q0 137 52 196t176 63l9 83h111l-10 -88q57 -9 95 -25l-16 -90q-72 4 -142 4q-74 0 -101.5 -29.5t-27.5 -113.5t27.5 -113.5t101.5 -29.5q87 0 152 8l13 -91q-68 -29 -158 -32l-10 -90h-111l10 94q-92 14 -131.5 73t-39.5 181z" />
-<glyph unicode="&#xa3;" horiz-adv-x="585" d="M46 402h73l-8 113q-6 110 42.5 148.5t162.5 38.5q90 0 206 -10l-8 -114q-43 1 -179 1q-45 0 -61.5 -15t-13.5 -55l9 -107h179l-4 -77h-169l3 -42q4 -64 -13.5 -99t-58.5 -68q25 7 76 7h262v-123h-494v123q86 39 77 160l-3 42h-77z" />
-<glyph unicode="&#xa5;" horiz-adv-x="658" d="M25 690h157l116 -237q5 -9 27 -88h10q22 77 27 88l113 237h157l-167 -329h102v-94h-472l-1 94h100zM94 236h473v-93h-162v-143h-151v143h-159z" />
-<glyph unicode="&#xa9;" horiz-adv-x="810" d="M43 345q0 155 104.5 256.5t257.5 101.5q154 0 258 -101.5t104 -256.5t-104 -256.5t-258 -101.5q-153 0 -257.5 101.5t-104.5 256.5zM118 345q0 -123 84 -205t203 -82q120 0 203.5 82t83.5 205t-83.5 205t-203.5 82q-119 0 -203 -82t-84 -205zM215 347q0 114 44 160.5 t151 46.5q79 0 136 -14l-9 -80q-86 2 -128 2q-48 0 -64.5 -23.5t-16.5 -91.5q0 -69 16 -92t65 -23q97 0 138 4l9 -80q-63 -18 -146 -18q-107 0 -151 47t-44 162z" />
-<glyph unicode="&#xad;" d="M58 206v97h298v-97h-298z" />
-<glyph unicode="&#xae;" horiz-adv-x="523" d="M39 481q0 92 65 157t158 65q92 0 157 -65t65 -157q0 -93 -65 -158t-157 -65q-93 0 -158 65t-65 158zM84 481q0 -75 52 -127.5t126 -52.5q73 0 125.5 52.5t52.5 127.5q0 74 -52.5 126.5t-125.5 52.5q-74 0 -126 -52.5t-52 -126.5zM163 367v233q33 3 106 3q56 0 79.5 -15 t23.5 -54q0 -51 -54 -56v-2q32 -4 40 -37l24 -72h-67l-19 70q-8 19 -30 19h-41v-89h-62zM225 497h42q25 1 33.5 7.5t8.5 23.5q0 18 -8.5 24t-33.5 6h-42v-61z" />
-<glyph unicode="&#xb4;" horiz-adv-x="353" d="M48 588l201 148l68 -102l-225 -110z" />
-<glyph unicode="&#x2000;" horiz-adv-x="396" />
-<glyph unicode="&#x2001;" horiz-adv-x="793" />
-<glyph unicode="&#x2002;" horiz-adv-x="396" />
-<glyph unicode="&#x2003;" horiz-adv-x="793" />
-<glyph unicode="&#x2004;" horiz-adv-x="264" />
-<glyph unicode="&#x2005;" horiz-adv-x="198" />
-<glyph unicode="&#x2006;" horiz-adv-x="132" />
-<glyph unicode="&#x2007;" horiz-adv-x="132" />
-<glyph unicode="&#x2008;" horiz-adv-x="99" />
-<glyph unicode="&#x2009;" horiz-adv-x="158" />
-<glyph unicode="&#x200a;" horiz-adv-x="44" />
-<glyph unicode="&#x2010;" d="M58 206v97h298v-97h-298z" />
-<glyph unicode="&#x2011;" d="M58 206v97h298v-97h-298z" />
-<glyph unicode="&#x2012;" d="M58 206v97h298v-97h-298z" />
-<glyph unicode="&#x2013;" horiz-adv-x="561" d="M58 206v97h445v-97h-445z" />
-<glyph unicode="&#x2014;" horiz-adv-x="857" d="M58 206v97h741v-97h-741z" />
-<glyph unicode="&#x2018;" horiz-adv-x="223" d="M47 497v59q0 92 49 165l58 -16q-14 -55 -14 -117q40 0 40 -42l-1 -49q-2 -26 -12.5 -36.5t-37.5 -10.5h-33q-28 0 -38.5 10.5t-10.5 36.5z" />
-<glyph unicode="&#x2019;" horiz-adv-x="220" d="M42 617l1 49q1 27 12 37.5t38 10.5h33q28 0 38.5 -10.5t10.5 -37.5v-58q-1 -91 -49 -166l-58 17q12 48 14 117q-40 0 -40 41z" />
-<glyph unicode="&#x201c;" horiz-adv-x="402" d="M47 497v59q0 92 49 165l58 -16q-14 -55 -14 -117q40 0 40 -42l-1 -49q-2 -26 -12.5 -36.5t-37.5 -10.5h-33q-28 0 -38.5 10.5t-10.5 36.5zM226 497v59q1 92 49 165l59 -16q-14 -50 -14 -117q38 0 40 -42l-2 -49q-1 -26 -12 -36.5t-38 -10.5h-33q-27 0 -37.5 10.5 t-11.5 36.5z" />
-<glyph unicode="&#x201d;" horiz-adv-x="399" d="M42 617l1 49q1 27 12 37.5t38 10.5h33q28 0 38.5 -10.5t10.5 -37.5v-58q-1 -91 -49 -166l-58 17q12 48 14 117q-40 0 -40 41zM221 617l1 49q1 27 12.5 37.5t37.5 10.5h34q27 0 37.5 -10.5t10.5 -37.5v-58q0 -91 -48 -166l-59 17q14 55 14 117q-38 0 -40 41z" />
-<glyph unicode="&#x2022;" horiz-adv-x="372" d="M74 263v15q0 57 23.5 79.5t84.5 22.5h14q58 0 80.5 -22.5t22.5 -79.5v-15q0 -61 -22.5 -84.5t-80.5 -23.5h-14q-62 0 -85 23.5t-23 84.5z" />
-<glyph unicode="&#x2026;" horiz-adv-x="893" d="M46 52v48q0 29 11 40t40 11h40q29 0 40.5 -11t11.5 -40v-48q0 -29 -11.5 -40.5t-40.5 -11.5h-40q-29 0 -40 11.5t-11 40.5zM369 52v48q0 29 11.5 40t40.5 11h40q29 0 40.5 -11t11.5 -40v-48q0 -29 -11.5 -40.5t-40.5 -11.5h-40q-29 0 -40.5 11.5t-11.5 40.5zM693 52v48 q0 29 11.5 40t40.5 11h40q29 0 40.5 -11t11.5 -40v-48q0 -29 -11.5 -40.5t-40.5 -11.5h-40q-29 0 -40.5 11.5t-11.5 40.5z" />
-<glyph unicode="&#x202f;" horiz-adv-x="158" />
-<glyph unicode="&#x205f;" horiz-adv-x="198" />
-<glyph unicode="&#x20ac;" horiz-adv-x="639" d="M39 236v94h435l-9 -94h-188q11 -59 40 -87.5t83 -31.5q88 -9 188 9l12 -110q-82 -28 -189 -28q-138 0 -207.5 60.5t-87.5 187.5h-77zM40 368v95h76q19 123 88.5 181t206.5 58q93 0 174 -23l-13 -111q-109 14 -172 5q-50 -5 -79 -31t-42 -79h223l-10 -95h-452z" />
-<glyph unicode="&#x2122;" horiz-adv-x="980" d="M56 616v80h340v-80h-119v-300h-102v300h-119zM433 316l14 343q2 37 36 37h96q31 0 39 -32l45 -172q2 -9 5 -27.5t5 -27.5h7q1 7 4.5 26.5t6.5 29.5l43 171q6 32 39 32h98q34 0 37 -37l13 -343h-94l-13 303h-10l-56 -216q-7 -31 -40 -31h-63q-32 0 -40 31l-56 216h-10 l-12 -303h-94z" />
-<glyph unicode="&#x25fc;" horiz-adv-x="495" d="M0 0v495h495v-495h-495z" />
-<hkern u1="&#x20;" u2="v" k="22" />
-<hkern u1="&#x20;" u2="V" k="23" />
-<hkern u1="&#x20;" u2="J" k="19" />
-<hkern u1="&#x23;" u2="&#x33;" k="7" />
-<hkern u1="&#x23;" u2="&#x32;" k="6" />
-<hkern u1="&#x26;" u2="X" k="-2" />
-<hkern u1="&#x26;" u2="V" k="19" />
-<hkern u1="&#x28;" u2="&#x7b;" k="10" />
-<hkern u1="&#x28;" u2="x" k="24" />
-<hkern u1="&#x28;" u2="v" k="46" />
-<hkern u1="&#x28;" u2="q" k="51" />
-<hkern u1="&#x28;" u2="j" k="-12" />
-<hkern u1="&#x28;" u2="V" k="-3" />
-<hkern u1="&#x28;" u2="M" k="20" />
-<hkern u1="&#x28;" u2="J" k="22" />
-<hkern u1="&#x28;" u2="F" k="26" />
-<hkern u1="&#x28;" u2="&#x39;" k="27" />
-<hkern u1="&#x28;" u2="&#x38;" k="33" />
-<hkern u1="&#x28;" u2="&#x36;" k="40" />
-<hkern u1="&#x28;" u2="&#x35;" k="10" />
-<hkern u1="&#x28;" u2="&#x34;" k="49" />
-<hkern u1="&#x28;" u2="&#x31;" k="17" />
-<hkern u1="&#x28;" u2="&#x30;" k="40" />
-<hkern u1="&#x28;" u2="&#x28;" k="34" />
-<hkern u1="&#x29;" u2="&#x7d;" k="17" />
-<hkern u1="&#x29;" u2="]" k="22" />
-<hkern u1="&#x29;" u2="&#x29;" k="34" />
-<hkern u1="&#x2a;" u2="v" k="-4" />
-<hkern u1="&#x2a;" u2="q" k="15" />
-<hkern u1="&#x2a;" u2="J" k="32" />
-<hkern u1="&#x2b;" u2="&#x37;" k="21" />
-<hkern u1="&#x2b;" u2="&#x33;" k="7" />
-<hkern u1="&#x2b;" u2="&#x32;" k="6" />
-<hkern u1="&#x2b;" u2="&#x31;" k="11" />
-<hkern u1="&#x2f;" u2="x" k="19" />
-<hkern u1="&#x2f;" u2="v" k="12" />
-<hkern u1="&#x2f;" u2="q" k="49" />
-<hkern u1="&#x2f;" u2="V" k="-3" />
-<hkern u1="&#x2f;" u2="J" k="28" />
-<hkern u1="&#x2f;" u2="&#x36;" k="16" />
-<hkern u1="&#x2f;" u2="&#x34;" k="44" />
-<hkern u1="&#x2f;" u2="&#x30;" k="14" />
-<hkern u1="&#x2f;" u2="&#x2f;" k="100" />
-<hkern u1="&#x30;" u2="&#x7d;" k="20" />
-<hkern u1="&#x30;" u2="]" k="23" />
-<hkern u1="&#x30;" u2="\" k="14" />
-<hkern u1="&#x30;" u2="&#x2f;" k="32" />
-<hkern u1="&#x30;" u2="&#x29;" k="40" />
-<hkern u1="&#x31;" u2="&#x7d;" k="6" />
-<hkern u1="&#x31;" u2="]" k="7" />
-<hkern u1="&#x31;" u2="&#x2f;" k="6" />
-<hkern u1="&#x31;" u2="&#x29;" k="12" />
-<hkern u1="&#x32;" u2="&#x7d;" k="7" />
-<hkern u1="&#x32;" u2="]" k="12" />
-<hkern u1="&#x32;" u2="&#x34;" k="6" />
-<hkern u1="&#x32;" u2="&#x29;" k="20" />
-<hkern u1="&#x33;" u2="&#x7d;" k="14" />
-<hkern u1="&#x33;" u2="]" k="17" />
-<hkern u1="&#x33;" u2="&#x2f;" k="19" />
-<hkern u1="&#x33;" u2="&#x29;" k="31" />
-<hkern u1="&#x34;" u2="&#x7d;" k="18" />
-<hkern u1="&#x34;" u2="]" k="26" />
-<hkern u1="&#x34;" u2="\" k="42" />
-<hkern u1="&#x34;" u2="V" k="20" />
-<hkern u1="&#x34;" u2="J" k="7" />
-<hkern u1="&#x34;" u2="&#x37;" k="29" />
-<hkern u1="&#x34;" u2="&#x31;" k="17" />
-<hkern u1="&#x34;" u2="&#x2f;" k="22" />
-<hkern u1="&#x34;" u2="&#x29;" k="45" />
-<hkern u1="&#x35;" u2="&#x2f;" k="20" />
-<hkern u1="&#x35;" u2="&#x29;" k="7" />
-<hkern u1="&#x36;" u2="]" k="6" />
-<hkern u1="&#x36;" u2="&#x2f;" k="19" />
-<hkern u1="&#x36;" u2="&#x29;" k="19" />
-<hkern u1="&#x37;" u2="V" k="-2" />
-<hkern u1="&#x37;" u2="J" k="23" />
-<hkern u1="&#x37;" u2="&#x34;" k="18" />
-<hkern u1="&#x37;" u2="&#x31;" k="-6" />
-<hkern u1="&#x37;" u2="&#x2f;" k="67" />
-<hkern u1="&#x37;" u2="&#x2b;" k="14" />
-<hkern u1="&#x37;" u2="&#x23;" k="7" />
-<hkern u1="&#x38;" u2="&#x7d;" k="14" />
-<hkern u1="&#x38;" u2="]" k="19" />
-<hkern u1="&#x38;" u2="&#x2f;" k="17" />
-<hkern u1="&#x38;" u2="&#x29;" k="33" />
-<hkern u1="&#x39;" u2="&#x7d;" k="18" />
-<hkern u1="&#x39;" u2="]" k="21" />
-<hkern u1="&#x39;" u2="\" k="4" />
-<hkern u1="&#x39;" u2="&#x2f;" k="32" />
-<hkern u1="&#x39;" u2="&#x29;" k="37" />
-<hkern u1="&#x3d;" u2="&#x37;" k="9" />
-<hkern u1="B" u2="&#x7d;" k="17" />
-<hkern u1="B" u2="]" k="22" />
-<hkern u1="B" u2="X" k="3" />
-<hkern u1="B" u2="V" k="8" />
-<hkern u1="B" u2="&#x2f;" k="16" />
-<hkern u1="B" u2="&#x29;" k="35" />
-<hkern u1="F" u2="x" k="5" />
-<hkern u1="F" u2="q" k="17" />
-<hkern u1="F" u2="J" k="42" />
-<hkern u1="F" u2="&#x2f;" k="72" />
-<hkern u1="F" u2="&#x20;" k="17" />
-<hkern u1="M" u2="&#x7d;" k="7" />
-<hkern u1="M" u2="]" k="9" />
-<hkern u1="M" u2="V" k="2" />
-<hkern u1="M" u2="&#x29;" k="20" />
-<hkern u1="P" u2="&#x7d;" k="14" />
-<hkern u1="P" u2="v" k="-3" />
-<hkern u1="P" u2="q" k="6" />
-<hkern u1="P" u2="]" k="17" />
-<hkern u1="P" u2="X" k="16" />
-<hkern u1="P" u2="J" k="43" />
-<hkern u1="P" u2="&#x2f;" k="70" />
-<hkern u1="P" u2="&#x2a;" k="-2" />
-<hkern u1="P" u2="&#x29;" k="32" />
-<hkern u1="P" u2="&#x20;" k="18" />
-<hkern u1="V" u2="x" k="5" />
-<hkern u1="V" u2="q" k="38" />
-<hkern u1="V" u2="\" k="-3" />
-<hkern u1="V" u2="M" k="2" />
-<hkern u1="V" u2="J" k="39" />
-<hkern u1="V" u2="F" k="2" />
-<hkern u1="V" u2="&#x40;" k="11" />
-<hkern u1="V" u2="&#x37;" k="-4" />
-<hkern u1="V" u2="&#x34;" k="21" />
-<hkern u1="V" u2="&#x2f;" k="65" />
-<hkern u1="V" u2="&#x29;" k="-3" />
-<hkern u1="V" u2="&#x20;" k="23" />
-<hkern u1="X" u2="&#xa9;" k="21" />
-<hkern u1="X" u2="v" k="21" />
-<hkern u1="X" u2="q" k="12" />
-<hkern u1="X" u2="&#x34;" k="10" />
-<hkern u1="[" u2="&#x7b;" k="7" />
-<hkern u1="[" u2="x" k="21" />
-<hkern u1="[" u2="v" k="27" />
-<hkern u1="[" u2="q" k="34" />
-<hkern u1="[" u2="j" k="-7" />
-<hkern u1="[" u2="M" k="9" />
-<hkern u1="[" u2="J" k="20" />
-<hkern u1="[" u2="F" k="12" />
-<hkern u1="[" u2="&#x39;" k="12" />
-<hkern u1="[" u2="&#x38;" k="19" />
-<hkern u1="[" u2="&#x36;" k="24" />
-<hkern u1="[" u2="&#x34;" k="27" />
-<hkern u1="[" u2="&#x31;" k="9" />
-<hkern u1="[" u2="&#x30;" k="23" />
-<hkern u1="[" u2="&#x28;" k="22" />
-<hkern u1="\" u2="v" k="53" />
-<hkern u1="\" u2="q" k="21" />
-<hkern u1="\" u2="j" k="-2" />
-<hkern u1="\" u2="V" k="65" />
-<hkern u1="\" u2="&#x39;" k="4" />
-<hkern u1="\" u2="&#x38;" k="17" />
-<hkern u1="\" u2="&#x37;" k="41" />
-<hkern u1="\" u2="&#x36;" k="28" />
-<hkern u1="\" u2="&#x34;" k="33" />
-<hkern u1="\" u2="&#x31;" k="58" />
-<hkern u1="\" u2="&#x30;" k="32" />
-<hkern u1="b" u2="&#x2122;" k="32" />
-<hkern u1="b" u2="&#x7d;" k="26" />
-<hkern u1="b" u2="x" k="12" />
-<hkern u1="b" u2="v" k="8" />
-<hkern u1="b" u2="]" k="33" />
-<hkern u1="b" u2="\" k="46" />
-<hkern u1="b" u2="X" k="16" />
-<hkern u1="b" u2="V" k="36" />
-<hkern u1="b" u2="J" k="7" />
-<hkern u1="b" u2="&#x3f;" k="31" />
-<hkern u1="b" u2="&#x2f;" k="24" />
-<hkern u1="b" u2="&#x2a;" k="15" />
-<hkern u1="b" u2="&#x29;" k="50" />
-<hkern u1="f" u2="&#x2122;" k="-12" />
-<hkern u1="f" u2="&#x7d;" k="-19" />
-<hkern u1="f" u2="q" k="5" />
-<hkern u1="f" u2="]" k="-24" />
-<hkern u1="f" u2="\" k="-33" />
-<hkern u1="f" u2="X" k="-16" />
-<hkern u1="f" u2="V" k="-34" />
-<hkern u1="f" u2="J" k="18" />
-<hkern u1="f" u2="&#x3f;" k="-22" />
-<hkern u1="f" u2="&#x2f;" k="46" />
-<hkern u1="f" u2="&#x2a;" k="-5" />
-<hkern u1="f" u2="&#x29;" k="-22" />
-<hkern u1="f" u2="&#x20;" k="19" />
-<hkern u1="g" u2="j" k="-2" />
-<hkern u1="v" u2="&#x2122;" k="15" />
-<hkern u1="v" u2="&#x7d;" k="19" />
-<hkern u1="v" u2="q" k="9" />
-<hkern u1="v" u2="]" k="27" />
-<hkern u1="v" u2="\" k="12" />
-<hkern u1="v" u2="X" k="21" />
-<hkern u1="v" u2="J" k="37" />
-<hkern u1="v" u2="&#x2f;" k="53" />
-<hkern u1="v" u2="&#x2a;" k="-4" />
-<hkern u1="v" u2="&#x29;" k="46" />
-<hkern u1="v" u2="&#x20;" k="22" />
-<hkern u1="x" u2="&#x2122;" k="21" />
-<hkern u1="x" u2="&#x7d;" k="9" />
-<hkern u1="x" u2="q" k="11" />
-<hkern u1="x" u2="]" k="21" />
-<hkern u1="x" u2="\" k="19" />
-<hkern u1="x" u2="V" k="5" />
-<hkern u1="x" u2="&#x29;" k="24" />
-<hkern u1="&#x7b;" u2="&#x7b;" k="6" />
-<hkern u1="&#x7b;" u2="x" k="9" />
-<hkern u1="&#x7b;" u2="v" k="19" />
-<hkern u1="&#x7b;" u2="q" k="26" />
-<hkern u1="&#x7b;" u2="j" k="-6" />
-<hkern u1="&#x7b;" u2="M" k="7" />
-<hkern u1="&#x7b;" u2="J" k="9" />
-<hkern u1="&#x7b;" u2="F" k="9" />
-<hkern u1="&#x7b;" u2="&#x39;" k="9" />
-<hkern u1="&#x7b;" u2="&#x38;" k="15" />
-<hkern u1="&#x7b;" u2="&#x36;" k="19" />
-<hkern u1="&#x7b;" u2="&#x34;" k="20" />
-<hkern u1="&#x7b;" u2="&#x30;" k="20" />
-<hkern u1="&#x7b;" u2="&#x28;" k="17" />
-<hkern u1="&#x7d;" u2="&#x7d;" k="6" />
-<hkern u1="&#x7d;" u2="]" k="7" />
-<hkern u1="&#x7d;" u2="&#x29;" k="10" />
-<hkern u1="&#xa3;" u2="&#x34;" k="10" />
-<hkern g1="r" g2="Y" k="13" />
-<hkern g1="r" g2="parenright" k="44" />
-<hkern g1="r" g2="T" k="44" />
-<hkern g1="r" g2="Z" k="6" />
-<hkern g1="r" g2="space" k="19" />
-<hkern g1="r" g2="hyphen,endash,emdash" k="26" />
-<hkern g1="r" g2="q" k="6" />
-<hkern g1="r" g2="trademark" k="15" />
-<hkern g1="r" g2="bracketright" k="25" />
-<hkern g1="r" g2="A" k="35" />
-<hkern g1="r" g2="c,e,o" k="7" />
-<hkern g1="r" g2="asterisk" k="-9" />
-<hkern g1="r" g2="X" k="26" />
-<hkern g1="r" g2="slash" k="64" />
-<hkern g1="r" g2="braceright" k="19" />
-<hkern g1="r" g2="d" k="4" />
-<hkern g1="r" g2="J" k="43" />
-<hkern g1="r" g2="comma,period,ellipsis" k="52" />
-<hkern g1="r" g2="a" k="2" />
-<hkern g1="U" g2="parenright" k="10" />
-<hkern g1="U" g2="A" k="8" />
-<hkern g1="U" g2="slash" k="31" />
-<hkern g1="U" g2="J" k="14" />
-<hkern g1="U" g2="comma,period,ellipsis" k="5" />
-<hkern g1="U" g2="g" k="4" />
-<hkern g1="b" g2="Y" k="71" />
-<hkern g1="b" g2="quoteleft,quotedblleft" k="14" />
-<hkern g1="b" g2="T" k="98" />
-<hkern g1="b" g2="quoteright,quotedblright" k="22" />
-<hkern g1="b" g2="w" k="4" />
-<hkern g1="b" g2="W" k="14" />
-<hkern g1="b" g2="quotedbl,quotesingle" k="18" />
-<hkern g1="b" g2="y" k="8" />
-<hkern g1="b" g2="Z" k="6" />
-<hkern g1="b" g2="S" k="5" />
-<hkern g1="M" g2="Y" k="7" />
-<hkern g1="M" g2="W" k="2" />
-<hkern g1="w" g2="Y" k="23" />
-<hkern g1="w" g2="parenright" k="44" />
-<hkern g1="w" g2="T" k="59" />
-<hkern g1="w" g2="Z" k="4" />
-<hkern g1="w" g2="space" k="19" />
-<hkern g1="w" g2="q" k="5" />
-<hkern g1="w" g2="trademark" k="15" />
-<hkern g1="w" g2="bracketright" k="26" />
-<hkern g1="w" g2="A" k="11" />
-<hkern g1="w" g2="c,e,o" k="5" />
-<hkern g1="w" g2="X" k="17" />
-<hkern g1="w" g2="slash" k="40" />
-<hkern g1="w" g2="braceright" k="19" />
-<hkern g1="w" g2="d" k="4" />
-<hkern g1="w" g2="J" k="27" />
-<hkern g1="w" g2="comma,period,ellipsis" k="18" />
-<hkern g1="w" g2="a" k="5" />
-<hkern g1="w" g2="g" k="2" />
-<hkern g1="w" g2="backslash" k="15" />
-<hkern g1="Z" g2="f" k="6" />
-<hkern g1="Z" g2="w" k="3" />
-<hkern g1="Z" g2="y" k="4" />
-<hkern g1="Z" g2="t" k="7" />
-<hkern g1="Z" g2="four" k="9" />
-<hkern g1="Z" g2="C,G,O,Q" k="5" />
-<hkern g1="Z" g2="v" k="4" />
-<hkern g1="Z" g2="copyright" k="10" />
-<hkern g1="o" g2="Y" k="73" />
-<hkern g1="o" g2="parenright" k="51" />
-<hkern g1="o" g2="f" k="2" />
-<hkern g1="o" g2="quoteleft,quotedblleft" k="13" />
-<hkern g1="o" g2="T" k="100" />
-<hkern g1="o" g2="quoteright,quotedblright" k="22" />
-<hkern g1="o" g2="w" k="5" />
-<hkern g1="o" g2="W" k="16" />
-<hkern g1="o" g2="quotedbl,quotesingle" k="18" />
-<hkern g1="o" g2="y" k="9" />
-<hkern g1="o" g2="t" k="2" />
-<hkern g1="o" g2="Z" k="6" />
-<hkern g1="o" g2="trademark" k="31" />
-<hkern g1="o" g2="bracketright" k="33" />
-<hkern g1="o" g2="asterisk" k="14" />
-<hkern g1="o" g2="X" k="14" />
-<hkern g1="o" g2="slash" k="23" />
-<hkern g1="o" g2="braceright" k="25" />
-<hkern g1="o" g2="J" k="4" />
-<hkern g1="o" g2="S" k="6" />
-<hkern g1="o" g2="backslash" k="48" />
-<hkern g1="o" g2="v" k="9" />
-<hkern g1="o" g2="V" k="39" />
-<hkern g1="o" g2="x" k="13" />
-<hkern g1="o" g2="question" k="31" />
-<hkern g1="R" g2="Y" k="16" />
-<hkern g1="R" g2="parenright" k="23" />
-<hkern g1="R" g2="T" k="6" />
-<hkern g1="R" g2="W" k="2" />
-<hkern g1="R" g2="q" k="2" />
-<hkern g1="R" g2="bracketright" k="15" />
-<hkern g1="R" g2="c,e,o" k="5" />
-<hkern g1="R" g2="braceright" k="10" />
-<hkern g1="R" g2="d" k="2" />
-<hkern g1="R" g2="backslash" k="11" />
-<hkern g1="R" g2="C,G,O,Q" k="2" />
-<hkern g1="R" g2="V" k="7" />
-<hkern g1="g" g2="Y" k="22" />
-<hkern g1="g" g2="T" k="62" />
-<hkern g1="g" g2="q" k="4" />
-<hkern g1="g" g2="trademark" k="18" />
-<hkern g1="g" g2="c,e,o" k="5" />
-<hkern g1="g" g2="asterisk" k="-4" />
-<hkern g1="g" g2="d" k="4" />
-<hkern g1="g" g2="a" k="4" />
-<hkern g1="g" g2="backslash" k="14" />
-<hkern g1="g" g2="V" k="5" />
-<hkern g1="g" g2="registered" k="-2" />
-<hkern g1="t" g2="Y" k="24" />
-<hkern g1="t" g2="parenright" k="29" />
-<hkern g1="t" g2="T" k="64" />
-<hkern g1="t" g2="trademark" k="15" />
-<hkern g1="t" g2="bracketright" k="19" />
-<hkern g1="t" g2="braceright" k="11" />
-<hkern g1="t" g2="backslash" k="18" />
-<hkern g1="t" g2="V" k="2" />
-<hkern g1="E" g2="c,e,o" k="2" />
-<hkern g1="E" g2="C,G,O,Q" k="7" />
-<hkern g1="W" g2="space" k="7" />
-<hkern g1="W" g2="hyphen,endash,emdash" k="5" />
-<hkern g1="W" g2="q" k="16" />
-<hkern g1="W" g2="A" k="21" />
-<hkern g1="W" g2="c,e,o" k="16" />
-<hkern g1="W" g2="slash" k="42" />
-<hkern g1="W" g2="d" k="14" />
-<hkern g1="W" g2="J" k="26" />
-<hkern g1="W" g2="comma,period,ellipsis" k="20" />
-<hkern g1="W" g2="a" k="12" />
-<hkern g1="W" g2="g" k="14" />
-<hkern g1="W" g2="C,G,O,Q" k="2" />
-<hkern g1="W" g2="s" k="8" />
-<hkern g1="W" g2="z" k="3" />
-<hkern g1="W" g2="m,n,p,r" k="11" />
-<hkern g1="W" g2="u" k="10" />
-<hkern g1="W" g2="M" k="2" />
-<hkern g1="B" g2="Y" k="15" />
-<hkern g1="B" g2="T" k="5" />
-<hkern g1="B" g2="W" k="2" />
-<hkern g1="l" g2="Y" k="35" />
-<hkern g1="l" g2="parenright" k="20" />
-<hkern g1="l" g2="U" k="10" />
-<hkern g1="l" g2="f" k="8" />
-<hkern g1="l" g2="quoteleft,quotedblleft" k="15" />
-<hkern g1="l" g2="T" k="34" />
-<hkern g1="l" g2="quoteright,quotedblright" k="15" />
-<hkern g1="l" g2="w" k="16" />
-<hkern g1="l" g2="W" k="19" />
-<hkern g1="l" g2="quotedbl,quotesingle" k="16" />
-<hkern g1="l" g2="y" k="26" />
-<hkern g1="l" g2="t" k="12" />
-<hkern g1="l" g2="space" k="21" />
-<hkern g1="l" g2="hyphen,endash,emdash" k="16" />
-<hkern g1="l" g2="trademark" k="16" />
-<hkern g1="l" g2="bracketright" k="17" />
-<hkern g1="l" g2="asterisk" k="16" />
-<hkern g1="l" g2="braceright" k="7" />
-<hkern g1="l" g2="backslash" k="22" />
-<hkern g1="l" g2="v" k="25" />
-<hkern g1="l" g2="copyright" k="10" />
-<hkern g1="l" g2="V" k="27" />
-<hkern g1="l" g2="question" k="20" />
-<hkern g1="l" g2="registered" k="16" />
-<hkern g1="O,Q" g2="Y" k="20" />
-<hkern g1="O,Q" g2="parenright" k="41" />
-<hkern g1="O,Q" g2="T" k="7" />
-<hkern g1="O,Q" g2="W" k="2" />
-<hkern g1="O,Q" g2="Z" k="5" />
-<hkern g1="O,Q" g2="trademark" k="5" />
-<hkern g1="O,Q" g2="bracketright" k="23" />
-<hkern g1="O,Q" g2="A" k="7" />
-<hkern g1="O,Q" g2="X" k="20" />
-<hkern g1="O,Q" g2="slash" k="32" />
-<hkern g1="O,Q" g2="braceright" k="20" />
-<hkern g1="O,Q" g2="J" k="12" />
-<hkern g1="O,Q" g2="backslash" k="14" />
-<hkern g1="O,Q" g2="V" k="8" />
-<hkern g1="y" g2="Y" k="19" />
-<hkern g1="y" g2="parenright" k="44" />
-<hkern g1="y" g2="T" k="56" />
-<hkern g1="y" g2="Z" k="4" />
-<hkern g1="y" g2="space" k="22" />
-<hkern g1="y" g2="hyphen,endash,emdash" k="4" />
-<hkern g1="y" g2="q" k="9" />
-<hkern g1="y" g2="trademark" k="15" />
-<hkern g1="y" g2="bracketright" k="26" />
-<hkern g1="y" g2="A" k="20" />
-<hkern g1="y" g2="c,e,o" k="9" />
-<hkern g1="y" g2="asterisk" k="-4" />
-<hkern g1="y" g2="X" k="21" />
-<hkern g1="y" g2="slash" k="49" />
-<hkern g1="y" g2="braceright" k="18" />
-<hkern g1="y" g2="d" k="8" />
-<hkern g1="y" g2="J" k="37" />
-<hkern g1="y" g2="comma,period,ellipsis" k="28" />
-<hkern g1="y" g2="a" k="8" />
-<hkern g1="y" g2="g" k="6" />
-<hkern g1="y" g2="backslash" k="12" />
-<hkern g1="y" g2="s" k="3" />
-<hkern g1="G" g2="Y" k="10" />
-<hkern g1="G" g2="parenright" k="13" />
-<hkern g1="G" g2="T" k="7" />
-<hkern g1="G" g2="W" k="2" />
-<hkern g1="G" g2="bracketright" k="6" />
-<hkern g1="G" g2="V" k="4" />
-<hkern g1="q,u" g2="Y" k="56" />
-<hkern g1="q,u" g2="parenright" k="40" />
-<hkern g1="q,u" g2="T" k="70" />
-<hkern g1="q,u" g2="W" k="11" />
-<hkern g1="q,u" g2="trademark" k="27" />
-<hkern g1="q,u" g2="bracketright" k="28" />
-<hkern g1="q,u" g2="braceright" k="20" />
-<hkern g1="q,u" g2="backslash" k="33" />
-<hkern g1="q,u" g2="V" k="23" />
-<hkern g1="q,u" g2="question" k="18" />
-<hkern g1="T" g2="f" k="25" />
-<hkern g1="T" g2="w" k="60" />
-<hkern g1="T" g2="y" k="57" />
-<hkern g1="T" g2="t" k="23" />
-<hkern g1="T" g2="space" k="22" />
-<hkern g1="T" g2="hyphen,endash,emdash" k="53" />
-<hkern g1="T" g2="q" k="101" />
-<hkern g1="T" g2="A" k="58" />
-<hkern g1="T" g2="c,e,o" k="101" />
-<hkern g1="T" g2="asterisk" k="-4" />
-<hkern g1="T" g2="slash" k="73" />
-<hkern g1="T" g2="d" k="97" />
-<hkern g1="T" g2="J" k="38" />
-<hkern g1="T" g2="comma,period,ellipsis" k="55" />
-<hkern g1="T" g2="a" k="86" />
-<hkern g1="T" g2="g" k="98" />
-<hkern g1="T" g2="four" k="34" />
-<hkern g1="T" g2="C,G,O,Q" k="7" />
-<hkern g1="T" g2="v" k="57" />
-<hkern g1="T" g2="copyright" k="12" />
-<hkern g1="T" g2="s" k="96" />
-<hkern g1="T" g2="z" k="81" />
-<hkern g1="T" g2="x" k="66" />
-<hkern g1="T" g2="m,n,p,r" k="75" />
-<hkern g1="T" g2="u" k="76" />
-<hkern g1="T" g2="at" k="16" />
-<hkern g1="T" g2="colon,semicolon" k="50" />
-<hkern g1="T" g2="one" k="-4" />
-<hkern g1="a" g2="Y" k="68" />
-<hkern g1="a" g2="parenright" k="40" />
-<hkern g1="a" g2="U" k="3" />
-<hkern g1="a" g2="quoteleft,quotedblleft" k="10" />
-<hkern g1="a" g2="T" k="98" />
-<hkern g1="a" g2="quoteright,quotedblright" k="18" />
-<hkern g1="a" g2="W" k="15" />
-<hkern g1="a" g2="quotedbl,quotesingle" k="13" />
-<hkern g1="a" g2="y" k="3" />
-<hkern g1="a" g2="trademark" k="31" />
-<hkern g1="a" g2="bracketright" k="30" />
-<hkern g1="a" g2="asterisk" k="13" />
-<hkern g1="a" g2="braceright" k="22" />
-<hkern g1="a" g2="backslash" k="46" />
-<hkern g1="a" g2="v" k="3" />
-<hkern g1="a" g2="V" k="36" />
-<hkern g1="a" g2="question" k="28" />
-<hkern g1="L" g2="Y" k="90" />
-<hkern g1="L" g2="parenright" k="24" />
-<hkern g1="L" g2="U" k="11" />
-<hkern g1="L" g2="f" k="20" />
-<hkern g1="L" g2="quoteleft,quotedblleft" k="92" />
-<hkern g1="L" g2="T" k="95" />
-<hkern g1="L" g2="quoteright,quotedblright" k="92" />
-<hkern g1="L" g2="w" k="35" />
-<hkern g1="L" g2="W" k="34" />
-<hkern g1="L" g2="quotedbl,quotesingle" k="92" />
-<hkern g1="L" g2="y" k="56" />
-<hkern g1="L" g2="t" k="28" />
-<hkern g1="L" g2="space" k="22" />
-<hkern g1="L" g2="hyphen,endash,emdash" k="27" />
-<hkern g1="L" g2="trademark" k="91" />
-<hkern g1="L" g2="bracketright" k="22" />
-<hkern g1="L" g2="asterisk" k="92" />
-<hkern g1="L" g2="braceright" k="11" />
-<hkern g1="L" g2="backslash" k="85" />
-<hkern g1="L" g2="four" k="19" />
-<hkern g1="L" g2="C,G,O,Q" k="10" />
-<hkern g1="L" g2="v" k="57" />
-<hkern g1="L" g2="copyright" k="13" />
-<hkern g1="L" g2="V" k="74" />
-<hkern g1="L" g2="question" k="42" />
-<hkern g1="L" g2="registered" k="89" />
-<hkern g1="L" g2="one" k="45" />
-<hkern g1="L" g2="seven" k="33" />
-<hkern g1="D" g2="Y" k="21" />
-<hkern g1="D" g2="parenright" k="41" />
-<hkern g1="D" g2="T" k="8" />
-<hkern g1="D" g2="W" k="2" />
-<hkern g1="D" g2="Z" k="5" />
-<hkern g1="D" g2="trademark" k="5" />
-<hkern g1="D" g2="bracketright" k="25" />
-<hkern g1="D" g2="A" k="7" />
-<hkern g1="D" g2="X" k="21" />
-<hkern g1="D" g2="slash" k="32" />
-<hkern g1="D" g2="braceright" k="20" />
-<hkern g1="D" g2="J" k="14" />
-<hkern g1="D" g2="backslash" k="16" />
-<hkern g1="D" g2="V" k="8" />
-<hkern g1="Y" g2="parenright" k="-5" />
-<hkern g1="Y" g2="f" k="18" />
-<hkern g1="Y" g2="w" k="23" />
-<hkern g1="Y" g2="y" k="19" />
-<hkern g1="Y" g2="t" k="18" />
-<hkern g1="Y" g2="space" k="27" />
-<hkern g1="Y" g2="hyphen,endash,emdash" k="49" />
-<hkern g1="Y" g2="q" k="72" />
-<hkern g1="Y" g2="trademark" k="-4" />
-<hkern g1="Y" g2="bracketright" k="-4" />
-<hkern g1="Y" g2="A" k="59" />
-<hkern g1="Y" g2="c,e,o" k="73" />
-<hkern g1="Y" g2="slash" k="76" />
-<hkern g1="Y" g2="d" k="70" />
-<hkern g1="Y" g2="J" k="44" />
-<hkern g1="Y" g2="comma,period,ellipsis" k="60" />
-<hkern g1="Y" g2="a" k="62" />
-<hkern g1="Y" g2="g" k="72" />
-<hkern g1="Y" g2="S" k="8" />
-<hkern g1="Y" g2="backslash" k="-6" />
-<hkern g1="Y" g2="four" k="40" />
-<hkern g1="Y" g2="C,G,O,Q" k="20" />
-<hkern g1="Y" g2="v" k="19" />
-<hkern g1="Y" g2="copyright" k="26" />
-<hkern g1="Y" g2="s" k="61" />
-<hkern g1="Y" g2="z" k="43" />
-<hkern g1="Y" g2="x" k="27" />
-<hkern g1="Y" g2="question" k="-4" />
-<hkern g1="Y" g2="m,n,p,r" k="59" />
-<hkern g1="Y" g2="u" k="56" />
-<hkern g1="Y" g2="M" k="7" />
-<hkern g1="Y" g2="at" k="28" />
-<hkern g1="Y" g2="colon,semicolon" k="31" />
-<hkern g1="Y" g2="seven" k="-7" />
-<hkern g1="Y" g2="six" k="12" />
-<hkern g1="Y" g2="F" k="10" />
-<hkern g1="Y" g2="eight" k="4" />
-<hkern g1="Y" g2="E" k="9" />
-<hkern g1="Y" g2="ampersand" k="4" />
-<hkern g1="Y" g2="zero" k="6" />
-<hkern g1="v" g2="Y" k="19" />
-<hkern g1="v" g2="T" k="57" />
-<hkern g1="v" g2="Z" k="6" />
-<hkern g1="v" g2="hyphen,endash,emdash" k="4" />
-<hkern g1="v" g2="A" k="21" />
-<hkern g1="v" g2="c,e,o" k="9" />
-<hkern g1="v" g2="d" k="8" />
-<hkern g1="v" g2="comma,period,ellipsis" k="28" />
-<hkern g1="v" g2="a" k="8" />
-<hkern g1="v" g2="g" k="6" />
-<hkern g1="v" g2="s" k="3" />
-<hkern g1="f" g2="Y" k="-41" />
-<hkern g1="f" g2="quoteleft,quotedblleft" k="-3" />
-<hkern g1="f" g2="T" k="-25" />
-<hkern g1="f" g2="quoteright,quotedblright" k="-11" />
-<hkern g1="f" g2="W" k="-16" />
-<hkern g1="f" g2="quotedbl,quotesingle" k="-11" />
-<hkern g1="f" g2="Z" k="-5" />
-<hkern g1="f" g2="hyphen,endash,emdash" k="25" />
-<hkern g1="f" g2="A" k="24" />
-<hkern g1="f" g2="c,e,o" k="5" />
-<hkern g1="f" g2="d" k="2" />
-<hkern g1="f" g2="comma,period,ellipsis" k="29" />
-<hkern g1="f" g2="a" k="2" />
-<hkern g1="s" g2="Y" k="51" />
-<hkern g1="s" g2="parenright" k="43" />
-<hkern g1="s" g2="T" k="84" />
-<hkern g1="s" g2="W" k="8" />
-<hkern g1="s" g2="y" k="4" />
-<hkern g1="s" g2="trademark" k="28" />
-<hkern g1="s" g2="bracketright" k="29" />
-<hkern g1="s" g2="slash" k="6" />
-<hkern g1="s" g2="braceright" k="20" />
-<hkern g1="s" g2="backslash" k="32" />
-<hkern g1="s" g2="v" k="4" />
-<hkern g1="s" g2="V" k="21" />
-<hkern g1="s" g2="question" k="17" />
-<hkern g1="A" g2="Y" k="59" />
-<hkern g1="A" g2="parenright" k="13" />
-<hkern g1="A" g2="U" k="8" />
-<hkern g1="A" g2="f" k="9" />
-<hkern g1="A" g2="quoteleft,quotedblleft" k="36" />
-<hkern g1="A" g2="T" k="58" />
-<hkern g1="A" g2="quoteright,quotedblright" k="40" />
-<hkern g1="A" g2="w" k="11" />
-<hkern g1="A" g2="W" k="21" />
-<hkern g1="A" g2="quotedbl,quotesingle" k="37" />
-<hkern g1="A" g2="y" k="21" />
-<hkern g1="A" g2="t" k="14" />
-<hkern g1="A" g2="space" k="23" />
-<hkern g1="A" g2="trademark" k="45" />
-<hkern g1="A" g2="bracketright" k="13" />
-<hkern g1="A" g2="asterisk" k="34" />
-<hkern g1="A" g2="backslash" k="54" />
-<hkern g1="A" g2="C,G,O,Q" k="7" />
-<hkern g1="A" g2="v" k="21" />
-<hkern g1="A" g2="V" k="36" />
-<hkern g1="A" g2="question" k="35" />
-<hkern g1="A" g2="registered" k="26" />
-<hkern g1="A" g2="one" k="31" />
-<hkern g1="A" g2="seven" k="26" />
-<hkern g1="A" g2="five" k="-2" />
-<hkern g1="V" g2="f" k="2" />
-<hkern g1="V" g2="hyphen,endash,emdash" k="20" />
-<hkern g1="V" g2="A" k="36" />
-<hkern g1="V" g2="c,e,o" k="39" />
-<hkern g1="V" g2="d" k="36" />
-<hkern g1="V" g2="comma,period,ellipsis" k="41" />
-<hkern g1="V" g2="a" k="28" />
-<hkern g1="V" g2="g" k="33" />
-<hkern g1="V" g2="C,G,O,Q" k="8" />
-<hkern g1="V" g2="s" k="23" />
-<hkern g1="V" g2="z" k="14" />
-<hkern g1="V" g2="m,n,p,r" k="24" />
-<hkern g1="V" g2="u" k="22" />
-<hkern g1="V" g2="colon,semicolon" k="13" />
-<hkern g1="k" g2="Y" k="31" />
-<hkern g1="k" g2="parenright" k="19" />
-<hkern g1="k" g2="T" k="67" />
-<hkern g1="k" g2="space" k="6" />
-<hkern g1="k" g2="hyphen,endash,emdash" k="20" />
-<hkern g1="k" g2="q" k="17" />
-<hkern g1="k" g2="trademark" k="24" />
-<hkern g1="k" g2="bracketright" k="19" />
-<hkern g1="k" g2="c,e,o" k="19" />
-<hkern g1="k" g2="braceright" k="8" />
-<hkern g1="k" g2="d" k="16" />
-<hkern g1="k" g2="backslash" k="22" />
-<hkern g1="k" g2="V" k="7" />
-<hkern g1="k" g2="question" k="8" />
-<hkern g1="N" g2="parenright" k="11" />
-<hkern g1="N" g2="slash" k="6" />
-<hkern g1="c" g2="Y" k="45" />
-<hkern g1="c" g2="parenright" k="36" />
-<hkern g1="c" g2="T" k="88" />
-<hkern g1="c" g2="W" k="2" />
-<hkern g1="c" g2="hyphen,endash,emdash" k="12" />
-<hkern g1="c" g2="q" k="6" />
-<hkern g1="c" g2="trademark" k="25" />
-<hkern g1="c" g2="bracketright" k="26" />
-<hkern g1="c" g2="c,e,o" k="7" />
-<hkern g1="c" g2="braceright" k="19" />
-<hkern g1="c" g2="d" k="6" />
-<hkern g1="c" g2="backslash" k="29" />
-<hkern g1="c" g2="V" k="13" />
-<hkern g1="c" g2="question" k="10" />
-<hkern g1="J" g2="parenright" k="10" />
-<hkern g1="J" g2="slash" k="20" />
-<hkern g1="J" g2="J" k="3" />
-<hkern g1="J" g2="g" k="3" />
-<hkern g1="F" g2="A" k="44" />
-<hkern g1="F" g2="c,e,o" k="16" />
-<hkern g1="F" g2="d" k="15" />
-<hkern g1="F" g2="comma,period,ellipsis" k="70" />
-<hkern g1="F" g2="a" k="20" />
-<hkern g1="F" g2="g" k="16" />
-<hkern g1="F" g2="C,G,O,Q" k="4" />
-<hkern g1="F" g2="s" k="10" />
-<hkern g1="F" g2="z" k="10" />
-<hkern g1="F" g2="m,n,p,r" k="14" />
-<hkern g1="F" g2="u" k="14" />
-<hkern g1="F" g2="colon,semicolon" k="4" />
-<hkern g1="x" g2="Y" k="27" />
-<hkern g1="x" g2="T" k="66" />
-<hkern g1="x" g2="hyphen,endash,emdash" k="16" />
-<hkern g1="x" g2="c,e,o" k="13" />
-<hkern g1="x" g2="d" k="10" />
-<hkern g1="x" g2="a" k="2" />
-<hkern g1="e" g2="Y" k="69" />
-<hkern g1="e" g2="parenright" k="43" />
-<hkern g1="e" g2="quoteleft,quotedblleft" k="8" />
-<hkern g1="e" g2="T" k="99" />
-<hkern g1="e" g2="quoteright,quotedblright" k="13" />
-<hkern g1="e" g2="w" k="2" />
-<hkern g1="e" g2="W" k="10" />
-<hkern g1="e" g2="quotedbl,quotesingle" k="9" />
-<hkern g1="e" g2="y" k="5" />
-<hkern g1="e" g2="trademark" k="27" />
-<hkern g1="e" g2="bracketright" k="29" />
-<hkern g1="e" g2="asterisk" k="5" />
-<hkern g1="e" g2="slash" k="4" />
-<hkern g1="e" g2="braceright" k="23" />
-<hkern g1="e" g2="backslash" k="40" />
-<hkern g1="e" g2="v" k="5" />
-<hkern g1="e" g2="V" k="27" />
-<hkern g1="e" g2="x" k="2" />
-<hkern g1="e" g2="question" k="23" />
-<hkern g1="p" g2="Y" k="70" />
-<hkern g1="p" g2="parenright" k="50" />
-<hkern g1="p" g2="quoteleft,quotedblleft" k="12" />
-<hkern g1="p" g2="T" k="97" />
-<hkern g1="p" g2="quoteright,quotedblright" k="21" />
-<hkern g1="p" g2="w" k="5" />
-<hkern g1="p" g2="W" k="16" />
-<hkern g1="p" g2="quotedbl,quotesingle" k="16" />
-<hkern g1="p" g2="y" k="8" />
-<hkern g1="p" g2="Z" k="3" />
-<hkern g1="p" g2="trademark" k="31" />
-<hkern g1="p" g2="bracketright" k="33" />
-<hkern g1="p" g2="asterisk" k="14" />
-<hkern g1="p" g2="X" k="12" />
-<hkern g1="p" g2="slash" k="21" />
-<hkern g1="p" g2="braceright" k="25" />
-<hkern g1="p" g2="J" k="4" />
-<hkern g1="p" g2="S" k="4" />
-<hkern g1="p" g2="backslash" k="48" />
-<hkern g1="p" g2="v" k="8" />
-<hkern g1="p" g2="V" k="37" />
-<hkern g1="p" g2="x" k="10" />
-<hkern g1="p" g2="question" k="30" />
-<hkern g1="S" g2="Y" k="5" />
-<hkern g1="S" g2="parenright" k="13" />
-<hkern g1="S" g2="f" k="7" />
-<hkern g1="S" g2="w" k="3" />
-<hkern g1="S" g2="y" k="7" />
-<hkern g1="S" g2="t" k="5" />
-<hkern g1="S" g2="slash" k="7" />
-<hkern g1="S" g2="v" k="6" />
-<hkern g1="h,m,n" g2="Y" k="66" />
-<hkern g1="h,m,n" g2="parenright" k="39" />
-<hkern g1="h,m,n" g2="U" k="3" />
-<hkern g1="h,m,n" g2="quoteleft,quotedblleft" k="9" />
-<hkern g1="h,m,n" g2="T" k="97" />
-<hkern g1="h,m,n" g2="quoteright,quotedblright" k="14" />
-<hkern g1="h,m,n" g2="W" k="14" />
-<hkern g1="h,m,n" g2="quotedbl,quotesingle" k="10" />
-<hkern g1="h,m,n" g2="trademark" k="30" />
-<hkern g1="h,m,n" g2="bracketright" k="30" />
-<hkern g1="h,m,n" g2="asterisk" k="10" />
-<hkern g1="h,m,n" g2="braceright" k="21" />
-<hkern g1="h,m,n" g2="backslash" k="43" />
-<hkern g1="h,m,n" g2="V" k="32" />
-<hkern g1="h,m,n" g2="question" k="25" />
-<hkern g1="K" g2="f" k="15" />
-<hkern g1="K" g2="w" k="22" />
-<hkern g1="K" g2="y" k="28" />
-<hkern g1="K" g2="t" k="20" />
-<hkern g1="K" g2="space" k="10" />
-<hkern g1="K" g2="hyphen,endash,emdash" k="19" />
-<hkern g1="K" g2="q" k="14" />
-<hkern g1="K" g2="c,e,o" k="17" />
-<hkern g1="K" g2="d" k="15" />
-<hkern g1="K" g2="backslash" k="-2" />
-<hkern g1="K" g2="four" k="19" />
-<hkern g1="K" g2="C,G,O,Q" k="25" />
-<hkern g1="K" g2="v" k="28" />
-<hkern g1="K" g2="copyright" k="25" />
-<hkern g1="K" g2="registered" k="5" />
-<hkern g1="K" g2="u" k="5" />
-<hkern g1="K" g2="seven" k="-3" />
-<hkern g1="K" g2="E" k="11" />
-<hkern g1="K" g2="five" k="-3" />
-<hkern g1="C" g2="f" k="4" />
-<hkern g1="C" g2="w" k="4" />
-<hkern g1="C" g2="y" k="5" />
-<hkern g1="C" g2="t" k="5" />
-<hkern g1="C" g2="hyphen,endash,emdash" k="5" />
-<hkern g1="C" g2="four" k="10" />
-<hkern g1="C" g2="C,G,O,Q" k="10" />
-<hkern g1="C" g2="v" k="4" />
-<hkern g1="C" g2="copyright" k="11" />
-<hkern g1="X" g2="f" k="14" />
-<hkern g1="X" g2="w" k="17" />
-<hkern g1="X" g2="y" k="21" />
-<hkern g1="X" g2="t" k="17" />
-<hkern g1="X" g2="hyphen,endash,emdash" k="15" />
-<hkern g1="X" g2="c,e,o" k="14" />
-<hkern g1="X" g2="d" k="13" />
-<hkern g1="X" g2="C,G,O,Q" k="20" />
-<hkern g1="X" g2="u" k="5" />
-<hkern g1="X" g2="E" k="7" />
-<hkern g1="P" g2="Y" k="3" />
-<hkern g1="P" g2="y" k="-3" />
-<hkern g1="P" g2="A" k="34" />
-<hkern g1="P" g2="c,e,o" k="4" />
-<hkern g1="P" g2="d" k="3" />
-<hkern g1="P" g2="comma,period,ellipsis" k="72" />
-<hkern g1="P" g2="a" k="5" />
-<hkern g1="z" g2="Y" k="45" />
-<hkern g1="z" g2="parenright" k="33" />
-<hkern g1="z" g2="T" k="81" />
-<hkern g1="z" g2="W" k="3" />
-<hkern g1="z" g2="hyphen,endash,emdash" k="10" />
-<hkern g1="z" g2="trademark" k="26" />
-<hkern g1="z" g2="bracketright" k="26" />
-<hkern g1="z" g2="c,e,o" k="2" />
-<hkern g1="z" g2="braceright" k="17" />
-<hkern g1="z" g2="backslash" k="28" />
-<hkern g1="z" g2="V" k="15" />
-<hkern g1="z" g2="question" k="10" />
-<hkern g1="nine" g2="Y" k="5" />
-<hkern g1="hyphen,endash,emdash" g2="quoteright,quotedblright" k="56" />
-<hkern g1="hyphen,endash,emdash" g2="quotedbl,quotesingle" k="62" />
-<hkern g1="hyphen,endash,emdash" g2="y" k="4" />
-<hkern g1="hyphen,endash,emdash" g2="T" k="53" />
-<hkern g1="hyphen,endash,emdash" g2="v" k="4" />
-<hkern g1="hyphen,endash,emdash" g2="Y" k="49" />
-<hkern g1="hyphen,endash,emdash" g2="f" k="6" />
-<hkern g1="hyphen,endash,emdash" g2="V" k="20" />
-<hkern g1="hyphen,endash,emdash" g2="x" k="16" />
-<hkern g1="hyphen,endash,emdash" g2="X" k="15" />
-<hkern g1="hyphen,endash,emdash" g2="z" k="10" />
-<hkern g1="hyphen,endash,emdash" g2="t" k="12" />
-<hkern g1="hyphen,endash,emdash" g2="J" k="30" />
-<hkern g1="hyphen,endash,emdash" g2="W" k="5" />
-<hkern g1="hyphen,endash,emdash" g2="S" k="7" />
-<hkern g1="hyphen,endash,emdash" g2="seven" k="38" />
-<hkern g1="hyphen,endash,emdash" g2="one" k="30" />
-<hkern g1="space" g2="quoteright,quotedblright" k="13" />
-<hkern g1="space" g2="quotedbl,quotesingle" k="12" />
-<hkern g1="space" g2="y" k="22" />
-<hkern g1="space" g2="T" k="22" />
-<hkern g1="space" g2="Y" k="27" />
-<hkern g1="space" g2="f" k="15" />
-<hkern g1="space" g2="t" k="18" />
-<hkern g1="space" g2="W" k="6" />
-<hkern g1="space" g2="A" k="23" />
-<hkern g1="space" g2="w" k="19" />
-<hkern g1="colon,semicolon" g2="T" k="50" />
-<hkern g1="colon,semicolon" g2="Y" k="31" />
-<hkern g1="colon,semicolon" g2="V" k="13" />
-<hkern g1="seven" g2="T" k="-4" />
-<hkern g1="seven" g2="Y" k="-2" />
-<hkern g1="seven" g2="A" k="31" />
-<hkern g1="seven" g2="comma,period,ellipsis" k="41" />
-<hkern g1="seven" g2="hyphen,endash,emdash" k="19" />
-<hkern g1="braceleft" g2="y" k="4" />
-<hkern g1="braceleft" g2="f" k="15" />
-<hkern g1="braceleft" g2="z" k="17" />
-<hkern g1="braceleft" g2="t" k="18" />
-<hkern g1="braceleft" g2="m,n,p,r" k="20" />
-<hkern g1="braceleft" g2="S" k="7" />
-<hkern g1="braceleft" g2="u" k="23" />
-<hkern g1="braceleft" g2="A" k="6" />
-<hkern g1="braceleft" g2="E" k="15" />
-<hkern g1="braceleft" g2="c,e,o" k="25" />
-<hkern g1="braceleft" g2="d" k="25" />
-<hkern g1="braceleft" g2="s" k="22" />
-<hkern g1="braceleft" g2="w" k="19" />
-<hkern g1="braceleft" g2="C,G,O,Q" k="20" />
-<hkern g1="braceleft" g2="a" k="21" />
-<hkern g1="parenleft" g2="y" k="18" />
-<hkern g1="parenleft" g2="Y" k="-6" />
-<hkern g1="parenleft" g2="f" k="36" />
-<hkern g1="parenleft" g2="z" k="34" />
-<hkern g1="parenleft" g2="t" k="41" />
-<hkern g1="parenleft" g2="i,j" k="10" />
-<hkern g1="parenleft" g2="m,n,p,r" k="39" />
-<hkern g1="parenleft" g2="S" k="23" />
-<hkern g1="parenleft" g2="b,h,k" k="9" />
-<hkern g1="parenleft" g2="L" k="10" />
-<hkern g1="parenleft" g2="u" k="45" />
-<hkern g1="parenleft" g2="A" k="13" />
-<hkern g1="parenleft" g2="E" k="32" />
-<hkern g1="parenleft" g2="c,e,o" k="51" />
-<hkern g1="parenleft" g2="B,D,H,I,K,P,R" k="10" />
-<hkern g1="parenleft" g2="U" k="10" />
-<hkern g1="parenleft" g2="d" k="49" />
-<hkern g1="parenleft" g2="s" k="39" />
-<hkern g1="parenleft" g2="N" k="17" />
-<hkern g1="parenleft" g2="w" k="44" />
-<hkern g1="parenleft" g2="C,G,O,Q" k="41" />
-<hkern g1="parenleft" g2="l" k="8" />
-<hkern g1="parenleft" g2="a" k="44" />
-<hkern g1="two" g2="Y" k="4" />
-<hkern g1="bracketleft" g2="y" k="14" />
-<hkern g1="bracketleft" g2="Y" k="-4" />
-<hkern g1="bracketleft" g2="f" k="21" />
-<hkern g1="bracketleft" g2="z" k="26" />
-<hkern g1="bracketleft" g2="t" k="23" />
-<hkern g1="bracketleft" g2="m,n,p,r" k="28" />
-<hkern g1="bracketleft" g2="S" k="10" />
-<hkern g1="bracketleft" g2="u" k="29" />
-<hkern g1="bracketleft" g2="A" k="13" />
-<hkern g1="bracketleft" g2="E" k="18" />
-<hkern g1="bracketleft" g2="c,e,o" k="33" />
-<hkern g1="bracketleft" g2="d" k="33" />
-<hkern g1="bracketleft" g2="s" k="29" />
-<hkern g1="bracketleft" g2="N" k="7" />
-<hkern g1="bracketleft" g2="w" k="26" />
-<hkern g1="bracketleft" g2="C,G,O,Q" k="24" />
-<hkern g1="bracketleft" g2="a" k="30" />
-<hkern g1="backslash" g2="quoteright,quotedblright" k="74" />
-<hkern g1="backslash" g2="quotedbl,quotesingle" k="73" />
-<hkern g1="backslash" g2="y" k="41" />
-<hkern g1="backslash" g2="T" k="73" />
-<hkern g1="backslash" g2="Y" k="76" />
-<hkern g1="backslash" g2="f" k="26" />
-<hkern g1="backslash" g2="t" k="41" />
-<hkern g1="backslash" g2="W" k="42" />
-<hkern g1="backslash" g2="L" k="21" />
-<hkern g1="backslash" g2="u" k="16" />
-<hkern g1="backslash" g2="E" k="20" />
-<hkern g1="backslash" g2="c,e,o" k="23" />
-<hkern g1="backslash" g2="U" k="33" />
-<hkern g1="backslash" g2="d" k="22" />
-<hkern g1="backslash" g2="w" k="41" />
-<hkern g1="backslash" g2="C,G,O,Q" k="32" />
-<hkern g1="backslash" g2="l" k="17" />
-<hkern g1="backslash" g2="a" k="11" />
-<hkern g1="quoteleft,quotedblleft" g2="J" k="35" />
-<hkern g1="quoteleft,quotedblleft" g2="A" k="35" />
-<hkern g1="quoteleft,quotedblleft" g2="c,e,o" k="13" />
-<hkern g1="quoteleft,quotedblleft" g2="d" k="14" />
-<hkern g1="quoteleft,quotedblleft" g2="s" k="5" />
-<hkern g1="quoteleft,quotedblleft" g2="comma,period,ellipsis" k="106" />
-<hkern g1="quoteleft,quotedblleft" g2="q" k="13" />
-<hkern g1="quoteleft,quotedblleft" g2="g" k="9" />
-<hkern g1="slash" g2="y" k="13" />
-<hkern g1="slash" g2="Y" k="-6" />
-<hkern g1="slash" g2="f" k="12" />
-<hkern g1="slash" g2="z" k="28" />
-<hkern g1="slash" g2="t" k="13" />
-<hkern g1="slash" g2="m,n,p,r" k="33" />
-<hkern g1="slash" g2="u" k="31" />
-<hkern g1="slash" g2="A" k="54" />
-<hkern g1="slash" g2="c,e,o" k="48" />
-<hkern g1="slash" g2="d" k="46" />
-<hkern g1="slash" g2="s" k="38" />
-<hkern g1="slash" g2="w" k="16" />
-<hkern g1="slash" g2="C,G,O,Q" k="16" />
-<hkern g1="slash" g2="a" k="38" />
-<hkern g1="slash" g2="g" k="45" />
-<hkern g1="quotedbl,quotesingle" g2="J" k="36" />
-<hkern g1="quotedbl,quotesingle" g2="A" k="37" />
-<hkern g1="quotedbl,quotesingle" g2="c,e,o" k="18" />
-<hkern g1="quotedbl,quotesingle" g2="d" k="18" />
-<hkern g1="quotedbl,quotesingle" g2="comma,period,ellipsis" k="107" />
-<hkern g1="quotedbl,quotesingle" g2="hyphen,endash,emdash" k="62" />
-<hkern g1="quotedbl,quotesingle" g2="q" k="18" />
-<hkern g1="quotedbl,quotesingle" g2="g" k="11" />
-<hkern g1="quotedbl,quotesingle" g2="space" k="13" />
-<hkern g1="quotedbl,quotesingle" g2="four" k="19" />
-<hkern g1="quotedbl,quotesingle" g2="slash" k="73" />
-<hkern g1="ampersand" g2="quoteright,quotedblright" k="24" />
-<hkern g1="ampersand" g2="quotedbl,quotesingle" k="24" />
-<hkern g1="ampersand" g2="T" k="53" />
-<hkern g1="ampersand" g2="Y" k="39" />
-<hkern g1="ampersand" g2="A" k="-4" />
-<hkern g1="at" g2="T" k="9" />
-<hkern g1="at" g2="Y" k="21" />
-<hkern g1="eight" g2="Y" k="4" />
-<hkern g1="asterisk" g2="y" k="-4" />
-<hkern g1="asterisk" g2="T" k="-4" />
-<hkern g1="asterisk" g2="A" k="34" />
-<hkern g1="asterisk" g2="c,e,o" k="15" />
-<hkern g1="asterisk" g2="d" k="15" />
-<hkern g1="asterisk" g2="a" k="8" />
-<hkern g1="asterisk" g2="g" k="7" />
-<hkern g1="comma,period" g2="quoteright,quotedblright" k="107" />
-<hkern g1="comma,period" g2="quotedbl,quotesingle" k="107" />
-<hkern g1="comma,period" g2="y" k="28" />
-<hkern g1="comma,period" g2="T" k="55" />
-<hkern g1="comma,period" g2="v" k="28" />
-<hkern g1="comma,period" g2="Y" k="60" />
-<hkern g1="comma,period" g2="f" k="13" />
-<hkern g1="comma,period" g2="V" k="41" />
-<hkern g1="comma,period" g2="t" k="15" />
-<hkern g1="comma,period" g2="W" k="20" />
-<hkern g1="comma,period" g2="U" k="5" />
-<hkern g1="comma,period" g2="w" k="19" />
-<hkern g1="comma,period" g2="seven" k="32" />
-<hkern g1="comma,period" g2="one" k="42" />
-<hkern g1="comma,period" g2="quoteleft,quotedblleft" k="107" />
-<hkern g1="four" g2="quotedbl,quotesingle" k="5" />
-<hkern g1="four" g2="T" k="8" />
-<hkern g1="four" g2="Y" k="14" />
-<hkern g1="quoteright,quotedblright" g2="J" k="36" />
-<hkern g1="quoteright,quotedblright" g2="m,n,p,r" k="5" />
-<hkern g1="quoteright,quotedblright" g2="A" k="40" />
-<hkern g1="quoteright,quotedblright" g2="c,e,o" k="22" />
-<hkern g1="quoteright,quotedblright" g2="d" k="23" />
-<hkern g1="quoteright,quotedblright" g2="s" k="9" />
-<hkern g1="quoteright,quotedblright" g2="a" k="7" />
-<hkern g1="quoteright,quotedblright" g2="comma,period,ellipsis" k="107" />
-<hkern g1="quoteright,quotedblright" g2="hyphen,endash,emdash" k="52" />
-<hkern g1="quoteright,quotedblright" g2="q" k="22" />
-<hkern g1="quoteright,quotedblright" g2="g" k="13" />
-<hkern g1="quoteright,quotedblright" g2="space" k="13" />
-<hkern g1="quoteright,quotedblright" g2="slash" k="74" />
-<hkern g1="quoteright,quotedblright" g2="colon,semicolon" k="5" />
-</font>
-</defs></svg> \ No newline at end of file
diff --git a/fonts/exo2-bold.ttf b/fonts/exo2-bold.ttf
deleted file mode 100644
index 5b191a4..0000000
--- a/fonts/exo2-bold.ttf
+++ /dev/null
Binary files differ
diff --git a/fonts/exo2-bold.woff b/fonts/exo2-bold.woff
deleted file mode 100644
index 09d3764..0000000
--- a/fonts/exo2-bold.woff
+++ /dev/null
Binary files differ
diff --git a/fonts/exo2-regular.eot b/fonts/exo2-regular.eot
deleted file mode 100644
index 5508b6c..0000000
--- a/fonts/exo2-regular.eot
+++ /dev/null
Binary files differ
diff --git a/fonts/exo2-regular.svg b/fonts/exo2-regular.svg
deleted file mode 100644
index eda068c..0000000
--- a/fonts/exo2-regular.svg
+++ /dev/null
@@ -1,1187 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="exo_2.0regular" horiz-adv-x="449" >
-<font-face units-per-em="1000" ascent="800" descent="-200" />
-<missing-glyph horiz-adv-x="223" />
-<glyph horiz-adv-x="1000" />
-<glyph horiz-adv-x="1000" />
-<glyph unicode="&#xd;" horiz-adv-x="1000" />
-<glyph unicode=" " horiz-adv-x="223" />
-<glyph unicode="&#x09;" horiz-adv-x="223" />
-<glyph unicode="&#xa0;" horiz-adv-x="223" />
-<glyph unicode="!" horiz-adv-x="273" d="M94 389v306h85v-306l-8 -178h-68zM95 32v54q0 18 7 25t24 7h22q17 0 24.5 -7t7.5 -25v-54q0 -18 -7.5 -25t-24.5 -7h-22q-17 0 -24 7t-7 25z" />
-<glyph unicode="&#x22;" horiz-adv-x="353" d="M70 690h70l-6 -215h-59zM214 690h69l-5 -215h-58z" />
-<glyph unicode="#" horiz-adv-x="685" d="M44 213l11 55h114l32 180h-115l11 55h113l33 187h68l-33 -187h183l33 187h68l-33 -187h111l-11 -55h-109l-32 -180h110l-11 -55h-108l-37 -213h-68l37 213h-183l-37 -213h-68l37 213h-116zM237 268h183l32 180h-183z" />
-<glyph unicode="$" horiz-adv-x="564" d="M57 520q0 60 12.5 96.5t43 55t68 24.5t100.5 6h12l7 97h45l-7 -99q83 -3 148 -18l-6 -64q-81 4 -148 5l-17 -238l58 -15q77 -19 108.5 -65t31.5 -129q0 -114 -51.5 -151t-180.5 -37h-2l-9 -115h-46l9 116q-90 4 -166 18l6 67q32 -1 69.5 -2t59 -1.5t38.5 -0.5l18 242 l-64 16q-73 18 -105 64.5t-32 127.5zM146 518q0 -55 19.5 -78t68.5 -35l36 -9l17 227h-2q-44 0 -65 -2t-41 -12t-26.5 -31.5t-6.5 -59.5zM285 70q81 0 109.5 20.5t28.5 87.5q0 57 -19 79.5t-68 34.5l-33 8z" />
-<glyph unicode="%" horiz-adv-x="894" d="M47 498q0 111 36 158t124 47q89 0 125 -47t36 -158t-36 -158t-125 -47q-88 0 -124 47t-36 158zM112 498q0 -84 20.5 -117.5t74.5 -33.5t74.5 33t20.5 118q0 84 -20.5 117.5t-74.5 33.5t-74.5 -33.5t-20.5 -117.5zM192 0l447 690h60l-447 -690h-60zM526 196q0 110 36 157 t124 47t124 -47t36 -157q0 -111 -36 -158t-124 -47t-124 47t-36 158zM591 196q-1 -85 19.5 -118.5t74.5 -33.5t75 33.5t21 118.5q0 84 -21 117t-75 33t-74.5 -32.5t-19.5 -117.5z" />
-<glyph unicode="&#x26;" horiz-adv-x="772" d="M67 175q0 83 31 129t104 52v4q-61 6 -88 45.5t-27 115.5q0 60 14 95.5t49 54t78.5 24t119.5 5.5q92 0 159 -10l-10 -65q-41 3 -152 3q-99 0 -134 -22t-35 -97q0 -69 29 -93.5t105 -24.5h188l8 128h71v-128h125v-67h-125v-193q0 -35 14.5 -50t49.5 -15h74l10 -62 q-45 -13 -106 -13q-104 0 -120 86q-44 -47 -97 -67t-133 -20q-110 0 -156 41t-46 144zM159 189q0 -70 28 -96.5t102 -26.5q132 1 208 79v179h-191q-83 0 -115 -28.5t-32 -106.5z" />
-<glyph unicode="'" horiz-adv-x="209" d="M70 690h70l-6 -215h-59z" />
-<glyph unicode="(" horiz-adv-x="359" d="M54 312q0 194 63.5 310t199.5 168l11 -41q-99 -48 -145 -155.5t-46 -280.5q0 -339 191 -437l-11 -41q-136 52 -199.5 168t-63.5 309z" />
-<glyph unicode=")" horiz-adv-x="359" d="M32 -124q98 51 144 159t46 278q0 173 -46 280.5t-144 155.5l10 41q136 -52 200 -167.5t64 -310.5q0 -193 -64 -309t-200 -168z" />
-<glyph unicode="*" horiz-adv-x="450" d="M54 552l17 49l118 -46v-22l-11 -14zM106 402l100 128l-7 161h52l-8 -161l100 -129l-41 -30l-77 123l-77 -122zM260 533v22l120 46l17 -50l-125 -32z" />
-<glyph unicode="+" horiz-adv-x="551" d="M56 267v64h186v176h66v-176h186v-64h-187v-177h-65v177h-186z" />
-<glyph unicode="," horiz-adv-x="228" d="M69 28v58q1 32 33 32h25q18 0 24.5 -7t6.5 -25v-64q-1 -85 -35 -154l-40 12q10 59 10 120q-24 0 -24 28z" />
-<glyph unicode="-" d="M72 220v65h305v-65h-305z" />
-<glyph unicode="." horiz-adv-x="229" d="M68 32v54q0 18 7.5 25t24.5 7h28q18 0 25 -7t7 -25v-54q0 -18 -7 -25t-25 -7h-28q-17 0 -24.5 7t-7.5 25z" />
-<glyph unicode="/" horiz-adv-x="517" d="M27 -66l393 756h70l-393 -756h-70z" />
-<glyph unicode="0" horiz-adv-x="603" d="M64 345q0 192 53 275t184 83t184.5 -83t53.5 -275t-53.5 -275t-184.5 -83t-184 83t-53 275zM150 345q0 -155 33 -218t118 -63t118.5 63t33.5 218t-33.5 218t-118.5 63t-118 -63t-33 -218z" />
-<glyph unicode="1" horiz-adv-x="398" d="M22 619l176 71h88v-690h-88v547q0 35 5 60l-169 -53z" />
-<glyph unicode="2" horiz-adv-x="562" d="M55 0v55q0 24 13 38l200 226q68 73 98 127.5t28 102.5q-1 47 -31.5 61t-97.5 14q-100 0 -198 -16l-6 68q111 26 210 26q109 0 160.5 -30.5t51.5 -118.5q0 -65 -27 -119.5t-96 -131.5l-198 -221q47 4 112 4h234v-85h-453z" />
-<glyph unicode="3" horiz-adv-x="556" d="M52 5l6 71q113 -10 191 -10q84 0 119 30t35 105q0 63 -28.5 95t-108.5 32h-128v69h128q74 1 97.5 34t23.5 92q-1 63 -30 82.5t-111 19.5q-83 0 -175 -8l-7 68q102 18 194 18q116 0 164.5 -35t48.5 -125q0 -154 -101 -174v-4q64 -11 91 -54t29 -119q2 -107 -48.5 -156 t-170.5 -49q-93 0 -219 18z" />
-<glyph unicode="4" horiz-adv-x="615" d="M47 276l196 414h87l-193 -408q-8 -20 -0.5 -30.5t25.5 -10.5h237v203l15 114h68v-317h89v-63l-89 -9v-169h-83v169h-286q-42 0 -62.5 34t-3.5 73z" />
-<glyph unicode="5" horiz-adv-x="536" d="M52 13l10 71q101 -18 175 -18q92 0 123.5 33t33.5 108q1 32 -3.5 54.5t-19 38t-28 24t-47 14.5t-59.5 8.5t-79 5.5l-46 3q-15 2 -24.5 12.5t-8.5 26.5l16 296h365l-4 -75h-290l-10 -188l74 -6q138 -10 194.5 -57t55.5 -157q0 -36 -5 -65.5t-19.5 -59t-38.5 -49.5 t-64.5 -32.5t-95.5 -12.5q-96 0 -205 25z" />
-<glyph unicode="6" horiz-adv-x="572" d="M66 328q0 97 11 163.5t30.5 108t54 64t74 30.5t98.5 8q83 0 139 -15l-8 -64q-44 4 -131 4q-51 0 -81.5 -9t-53.5 -35.5t-33 -75t-12 -129.5q36 40 75.5 56t98.5 16q108 0 148.5 -50t40.5 -177q0 -58 -8 -97.5t-30.5 -72.5t-67 -49t-112.5 -16q-60 0 -99.5 11t-66.5 33 t-41.5 64t-20 96t-5.5 136zM153 315q0 -64 2.5 -101t10.5 -70t24.5 -48.5t42.5 -24t67 -8.5q83 0 108 37t25 123q0 87 -26.5 121.5t-101.5 34.5q-43 0 -76.5 -13.5t-75.5 -50.5z" />
-<glyph unicode="7" horiz-adv-x="512" d="M39 690h390q31 0 43 -16t3 -45l-215 -629h-88l194 564q9 27 21 51h-344z" />
-<glyph unicode="8" horiz-adv-x="607" d="M69 172q0 86 26 132t88 52v4q-99 11 -99 158q0 98 46.5 140t173.5 42t173 -41.5t46 -140.5q0 -147 -98 -158v-4q62 -6 87.5 -52t25.5 -132q0 -98 -48.5 -139.5t-185.5 -42.5q-135 -1 -185 41t-50 141zM152 190q0 -71 31 -97.5t122 -26.5q89 0 119 26t30 98 q0 82 -28.5 107.5t-119.5 25.5q-94 -1 -124 -27t-30 -106zM165 510q0 -71 27.5 -94t113.5 -23t111.5 23t25.5 94q0 69 -27 94t-111 25t-112 -25t-28 -94z" />
-<glyph unicode="9" horiz-adv-x="572" d="M55 465q0 123 50 180t171 57q51 0 86.5 -7t61.5 -25t41 -42t23.5 -66.5t11.5 -89.5t3 -119q0 -116 -14 -187.5t-48.5 -111t-81 -53t-123.5 -13.5q-87 0 -149 15l8 65q48 -4 141 -4q69 0 105.5 20t55 74t21.5 157q-37 -43 -76.5 -59t-99.5 -16q-187 0 -187 225zM139 465 q-1 -79 27 -117t99 -38q44 0 77.5 14t75.5 52q0 54 -1.5 86.5t-6.5 64.5t-14 48t-25 29.5t-39 18t-57 4.5q-81 0 -109 -39t-27 -123z" />
-<glyph unicode=":" horiz-adv-x="236" d="M69 32v54q0 18 7.5 25t24.5 7h28q17 0 24.5 -7t7.5 -25v-54q0 -18 -7.5 -25t-24.5 -7h-28q-17 0 -24.5 7t-7.5 25zM69 354v55q0 17 7.5 24t24.5 7h28q17 0 24.5 -7t7.5 -24v-55q0 -18 -7.5 -25t-24.5 -7h-28q-17 0 -24.5 7t-7.5 25z" />
-<glyph unicode=";" horiz-adv-x="237" d="M74 28v58q1 18 8.5 25t24.5 7h25q18 0 24.5 -7t6.5 -25v-64q-1 -84 -34 -154l-41 12q10 59 10 120q-24 0 -24 28zM74 354v55q0 17 7 24t24 7h29q17 0 24 -7t7 -24v-55q0 -18 -7 -25t-24 -7h-29q-17 0 -24 7t-7 25z" />
-<glyph unicode="&#x3c;" horiz-adv-x="530" d="M53 264v68l406 174v-68l-332 -140l332 -137v-68z" />
-<glyph unicode="=" horiz-adv-x="585" d="M74 155v64h438v-64h-438zM74 367v63h438v-63h-438z" />
-<glyph unicode="&#x3e;" horiz-adv-x="530" d="M71 93v68l332 137l-332 140v68l406 -174v-68z" />
-<glyph unicode="?" horiz-adv-x="505" d="M40 691q7 1 31 5.5t31 5.5l28 4t36 3.5t40 1.5t54 1q202 0 202 -155q0 -35 -13 -65.5t-33 -52t-43 -47t-43 -48.5t-34.5 -58t-15.5 -75h-73q-1 51 15.5 94t40.5 71.5t48.5 54t42 53.5t18.5 58q2 50 -29.5 74t-100.5 24q-85 0 -197 -10zM201 32v54q0 18 7 25t24 7h23 q17 0 24 -7t7 -25v-54q0 -18 -7 -25t-24 -7h-23q-17 0 -24 7t-7 25z" />
-<glyph unicode="@" horiz-adv-x="718" d="M75 266q0 76 3 121.5t14 84.5t27.5 58t50.5 33t74.5 17.5t107.5 4.5h143q75 0 113 -33.5t38 -108.5v-311h-64l-8 75q-31 -32 -86.5 -57.5t-112.5 -25.5q-60 0 -95.5 30.5t-35.5 88.5v51q0 49 29.5 76t85.5 27h207v43q0 41 -18.5 57.5t-67.5 16.5h-128q-49 0 -75 -1.5 t-52 -10.5t-36.5 -22.5t-19.5 -44t-11 -68.5t-2 -101q0 -49 1 -81.5t6.5 -61t10.5 -45t20 -30t28 -19.5t41.5 -10t52.5 -4.5t69 -0.5h258v-64q-136 -8 -257 -8q-75 -1 -121 2.5t-84 17t-56 33t-31 60t-16 87t-3 124.5zM324 258q0 -66 66 -66q44 0 93.5 17.5t82.5 48.5v87 l-178 -4q-35 -1 -49.5 -14.5t-14.5 -42.5v-26z" />
-<glyph unicode="A" horiz-adv-x="622" d="M10 0l222 666q6 24 33 24h92q27 0 33 -24l222 -666h-91l-68 216h-284l-68 -216h-91zM193 292h236l-87 274q-9 26 -17 56h-28q-20 -66 -59 -189t-45 -141z" />
-<glyph unicode="B" horiz-adv-x="620" d="M87 0v690q79 8 224 8q129 0 179.5 -37.5t50.5 -142.5q0 -75 -28 -113.5t-89 -44.5v-4q75 -7 106.5 -52.5t31.5 -131.5q0 -104 -49 -142t-171 -38q-166 0 -255 8zM173 68q41 -1 155 -1q84 0 114.5 24t30.5 96q0 79 -32.5 107t-118.5 30h-149v-256zM173 391h148 q77 1 106 25t29 92q0 69 -31.5 92t-117.5 23h-134v-232z" />
-<glyph unicode="C" horiz-adv-x="570" d="M61 345q0 197 61 277t210 80q107 0 188 -20l-9 -67q-90 9 -179 9q-101 0 -139.5 -60.5t-38.5 -218.5t38.5 -218.5t139.5 -60.5q116 0 193 11l9 -66q-83 -23 -202 -23q-149 0 -210 80t-61 277z" />
-<glyph unicode="D" horiz-adv-x="664" d="M87 0v690q130 9 246 9q149 0 209 -77.5t60 -276.5t-60 -276.5t-209 -77.5q-116 0 -246 9zM175 70q90 -2 158 -2q99 0 138 60.5t39 216.5t-39 217t-138 61q-64 0 -158 -2v-551z" />
-<glyph unicode="E" horiz-adv-x="560" d="M81 119v452q1 55 36.5 87.5t96.5 32.5q204 0 296 -6l-4 -69h-277q-60 0 -60 -66v-150h298v-71h-298v-189q0 -67 60 -67h277l4 -68q-92 -6 -296 -6q-61 0 -96.5 32.5t-36.5 87.5z" />
-<glyph unicode="F" horiz-adv-x="539" d="M85 0v567q0 59 36 91.5t97 32.5q197 0 286 -7l-5 -68h-259q-35 0 -51 -15.5t-16 -50.5v-160h288v-71h-288v-319h-88z" />
-<glyph unicode="G" horiz-adv-x="628" d="M62 347q0 203 63 279.5t225 76.5q109 0 192 -21l-9 -66q-84 8 -178 8q-79 0 -119.5 -20.5t-60.5 -81.5t-20 -181q0 -153 33 -215t116 -62q78 0 170 67v268h86v-399h-64l-10 73q-88 -86 -206 -86q-115 0 -166.5 86t-51.5 274z" />
-<glyph unicode="H" horiz-adv-x="668" d="M87 0v690h88v-283h318v283h88v-690h-88v331h-318v-331h-88z" />
-<glyph unicode="I" horiz-adv-x="262" d="M87 0v690h88v-690h-88z" />
-<glyph unicode="J" horiz-adv-x="340" d="M30 4l10 62h50q78 0 78 76v548h88v-545q0 -76 -34.5 -115t-99.5 -39q-56 0 -92 13z" />
-<glyph unicode="K" horiz-adv-x="591" d="M87 0v690h87v-216q0 -40 -6 -79h84l210 295h96l-201 -286q-12 -18 -38 -44v-2q28 -27 43 -48l210 -310h-99l-220 324h-85q6 -38 6 -73v-251h-87z" />
-<glyph unicode="L" horiz-adv-x="514" d="M85 129v561h87v-550q0 -66 67 -66h249l4 -68q-87 -7 -267 -7q-140 0 -140 130z" />
-<glyph unicode="M" horiz-adv-x="877" d="M73 0l27 653q2 37 37 37h100q28 0 37 -30l129 -421q6 -18 15.5 -53.5t10.5 -39.5h18q3 11 11.5 43.5t14.5 51.5l129 419q8 30 38 30h99q36 0 36 -37l29 -653h-88l-25 617h-21l-154 -509q-8 -30 -38 -30h-79q-31 0 -40 30l-154 509h-20l-24 -617h-88z" />
-<glyph unicode="N" horiz-adv-x="705" d="M87 0v655q0 35 35 35h83q27 0 39 -28l226 -477q24 -49 47 -100h17q-3 54 -3 105v500h87v-655q0 -35 -34 -35h-86q-27 0 -39 28l-233 489q-34 74 -39 91h-16q4 -40 4 -91v-517h-88z" />
-<glyph unicode="O" horiz-adv-x="668" d="M61 345q0 201 60.5 279.5t212.5 78.5t212 -78.5t60 -279.5t-60 -279.5t-212 -78.5t-212.5 78.5t-60.5 279.5zM154 345q0 -158 39 -218.5t141 -60.5t141 60.5t39 218.5t-39 218.5t-141 60.5t-141 -60.5t-39 -218.5z" />
-<glyph unicode="P" horiz-adv-x="590" d="M87 0v690q84 9 237 9q126 0 174 -45.5t48 -170.5t-46.5 -170.5t-165.5 -45.5q-82 0 -159 9v-276h-88zM175 343h148q77 1 105.5 29.5t28.5 110.5t-29 111t-105 29q-109 0 -148 -1v-279z" />
-<glyph unicode="Q" horiz-adv-x="669" d="M62 345q0 201 60.5 279.5t212.5 78.5t212 -78.5t60 -279.5t-60 -279.5t-212 -78.5t-212.5 78.5t-60.5 279.5zM155 345q0 -158 39 -218.5t141 -60.5q101 0 140.5 60.5t39.5 218.5t-39.5 218.5t-140.5 60.5q-102 0 -141 -60.5t-39 -218.5zM269 -96l25 53q110 -48 265 -70 l-28 -88q-130 26 -262 105z" />
-<glyph unicode="R" horiz-adv-x="618" d="M87 0v690q84 9 238 9q123 0 173 -42.5t50 -156.5q0 -85 -29.5 -127t-97.5 -51v-5q28 -7 51 -32.5t34 -66.5l67 -218h-94l-61 216q-13 39 -35 55.5t-57 16.5t-85.5 0.5t-66.5 0.5v-289h-87zM174 364h149q78 1 107 28t29 103q0 75 -29 101.5t-107 26.5q-110 0 -149 -1v-258 z" />
-<glyph unicode="S" horiz-adv-x="561" d="M55 520q0 60 12.5 96.5t43 55t68 24.5t100.5 6q122 -2 205 -20l-6 -64q-97 5 -195 5q-44 0 -65 -2t-41 -12t-26.5 -31.5t-6.5 -59.5q0 -55 19.5 -78t67.5 -35l140 -35q77 -19 108 -65t31 -129q0 -114 -51.5 -151t-179.5 -37q-109 0 -214 19l6 65q168 -6 211 -5 q82 0 110.5 21t28.5 90q0 57 -19.5 79.5t-67.5 34.5l-143 36q-73 18 -104.5 64.5t-31.5 127.5z" />
-<glyph unicode="T" horiz-adv-x="581" d="M24 612v78h533v-78h-223v-612h-88v612h-222z" />
-<glyph unicode="U" horiz-adv-x="666" d="M82 264v426h88v-426q0 -111 36 -154.5t127 -43.5q90 0 126.5 43.5t36.5 154.5v426h88v-426q0 -151 -56 -214t-191 -63q-140 0 -197.5 63t-57.5 214z" />
-<glyph unicode="V" horiz-adv-x="609" d="M17 690h91l163 -547q14 -50 20 -75h27q10 42 21 76l162 546h91l-209 -665q-9 -25 -34 -25h-89q-27 0 -34 25z" />
-<glyph unicode="W" horiz-adv-x="948" d="M31 690h93l108 -538q2 -9 14 -85h23q8 47 16 85l107 509q5 29 34 29h96q27 0 34 -29l107 -509q10 -49 14 -85h25q9 60 13 84l109 539h93l-140 -664q-7 -26 -35 -26h-100q-29 0 -34 27l-108 519q-6 26 -16 78h-21q-2 -9 -5 -25t-5.5 -29t-4.5 -24l-107 -519 q-7 -27 -35 -27h-101q-13 0 -22.5 7.5t-11.5 18.5z" />
-<glyph unicode="X" horiz-adv-x="611" d="M25 0l194 357l-181 333h95l158 -298h29l158 298h95l-182 -333l195 -357h-96l-172 324h-26l-171 -324h-96z" />
-<glyph unicode="Y" horiz-adv-x="569" d="M11 690h94l145 -291q12 -24 31 -78h7q16 44 31 77l145 292h93l-229 -448v-242h-88v243z" />
-<glyph unicode="Z" horiz-adv-x="566" d="M48 0v75l368 540h-362v75h458v-75l-366 -540h373v-75h-471z" />
-<glyph unicode="[" horiz-adv-x="329" d="M91 -111v825q0 24 15.5 39t38.5 15h143v-56h-102q-14 0 -14 -16v-789q0 -16 14 -16h102v-56h-143q-54 0 -54 54z" />
-<glyph unicode="\" horiz-adv-x="518" d="M27 690h71l393 -756h-71z" />
-<glyph unicode="]" horiz-adv-x="329" d="M41 -109h101q15 0 15 16v789q0 16 -15 16h-101v56h142q24 0 39 -15t15 -39v-825q0 -24 -15 -39t-39 -15h-142v56z" />
-<glyph unicode="^" horiz-adv-x="426" d="M30 390l153 210h61l152 -210l-34 -22l-144 174h-8l-145 -174z" />
-<glyph unicode="_" horiz-adv-x="578" d="M70 0h438v-65h-438v65z" />
-<glyph unicode="`" horiz-adv-x="315" d="M29 658l48 65l173 -146l-29 -39z" />
-<glyph unicode="a" horiz-adv-x="549" d="M51 127v53q0 57 35.5 88.5t99.5 31.5h203v43q0 46 -21 65t-78 19q-72 0 -209 -13l-8 63q134 22 235 22q85 0 126 -35.5t41 -120.5v-343h-67l-10 80q-35 -35 -87.5 -62t-113.5 -27q-67 0 -106.5 35.5t-39.5 100.5zM138 137q0 -38 18 -55.5t58 -17.5q38 -1 86.5 18t88.5 55 v98h-188q-34 -1 -48.5 -18t-14.5 -49v-31z" />
-<glyph unicode="b" horiz-adv-x="570" d="M76 23v677h85v-182q0 -70 -9 -108q87 89 188 89q91 0 133.5 -59.5t42.5 -194.5q0 -132 -48 -194.5t-168 -62.5q-125 0 -224 35zM161 77q67 -19 137 -17q71 1 100 41.5t30 143.5q-1 103 -25 141.5t-93 38.5q-35 0 -67.5 -17t-81.5 -55v-276z" />
-<glyph unicode="c" horiz-adv-x="489" d="M54 244q0 141 52.5 198t179.5 57q96 0 157 -23l-11 -55q-66 6 -132 6q-88 0 -122 -39t-34 -144q0 -106 34 -145t122 -39q80 0 143 10l9 -57q-72 -25 -167 -25q-126 0 -178.5 57.5t-52.5 198.5z" />
-<glyph unicode="d" horiz-adv-x="573" d="M56 245q0 139 44 196.5t140 57.5q95 0 173 -45q-4 44 -4 96v150h85v-700h-66l-8 70q-93 -82 -193 -82q-90 0 -130.5 63.5t-40.5 193.5zM143 246q0 -105 25.5 -144.5t86.5 -39.5q38 0 69 14.5t85 52.5v269q-96 27 -149 27q-65 0 -91 -37t-26 -142z" />
-<glyph unicode="e" horiz-adv-x="537" d="M54 245q0 141 52 197.5t172 56.5q109 0 159 -39.5t50 -119.5q2 -138 -116 -138h-227q7 -84 41 -113t113 -29q83 0 169 12l9 -57q-65 -27 -189 -27q-126 0 -179.5 58.5t-53.5 198.5zM143 268h206q53 0 53 72q-1 47 -28 67t-92 20q-77 0 -107 -33.5t-32 -125.5z" />
-<glyph unicode="f" horiz-adv-x="380" d="M28 420v62l88 4v88q0 71 33 107t109 36q84 0 137 -7l-7 -63h-100q-48 0 -67.5 -18.5t-19.5 -63.5v-78h156v-67h-156v-420h-85v420h-88z" />
-<glyph unicode="g" horiz-adv-x="558" d="M41 -54q0 43 18 69t61 49q-37 29 -34 77t38 75q-62 33 -62 127q0 84 46.5 120t162.5 36q69 0 113 -12h152l-5 -47l-72 -6q20 -33 20 -90q0 -82 -47 -118.5t-162 -36.5q-56 0 -101 10q-19 -23 -11 -50.5t45 -33.5l182 -29q68 -10 95.5 -42.5t27.5 -94.5q0 -85 -50.5 -118 t-181.5 -33q-132 0 -183.5 32.5t-51.5 115.5zM124 -47q0 -51 30 -67t121 -16q89 0 119.5 16.5t30.5 66.5q0 36 -15.5 49t-68.5 21l-166 23q-51 -39 -51 -93zM140 344q0 -49 29 -69.5t101 -20.5t101 20.5t29 69.5t-28.5 69.5t-101.5 20.5q-72 0 -101 -20.5t-29 -69.5z" />
-<glyph unicode="h" horiz-adv-x="581" d="M78 0v700h86v-193q0 -56 -6 -95q118 87 216 87q132 0 132 -134v-365h-86v341q0 48 -15.5 67t-53.5 19q-41 0 -82.5 -18t-105.5 -58v-351h-85z" />
-<glyph unicode="i" horiz-adv-x="248" d="M78 611v57q0 26 26 26h40q26 0 26 -26v-57q0 -26 -26 -26h-40q-26 0 -26 26zM82 0v487h84v-487h-84z" />
-<glyph unicode="j" horiz-adv-x="250" d="M27 -166q56 69 56 154v499h85v-499q0 -58 -25 -108t-69 -83zM80 611v57q0 26 26 26h40q25 0 25 -26v-57q0 -26 -25 -26h-40q-26 0 -26 26z" />
-<glyph unicode="k" horiz-adv-x="509" d="M78 0v700h86v-311q0 -49 -5 -83h64l154 181h99l-153 -179q-15 -21 -34 -33v-2q20 -15 34 -39l169 -234h-99l-169 244h-66q5 -45 5 -78v-166h-85z" />
-<glyph unicode="l" horiz-adv-x="297" d="M79 115v585h85v-566q-1 -32 16 -48.5t50 -16.5h47l10 -65q-27 -13 -89 -13q-55 0 -87 32.5t-32 91.5z" />
-<glyph unicode="m" horiz-adv-x="876" d="M78 0v487h70l5 -77q103 89 199 89q102 0 123 -86q99 86 196 86q63 0 96.5 -34t33.5 -100v-365h-84v341q-1 45 -18.5 65.5t-57.5 20.5q-35 0 -67.5 -16t-92.5 -60v-351h-82v341q0 46 -18.5 66t-57.5 20q-35 0 -67.5 -16t-92.5 -59v-352h-85z" />
-<glyph unicode="n" horiz-adv-x="581" d="M78 0v487h72l6 -77q118 89 218 89q132 0 132 -134v-365h-85v341q0 48 -16 67t-54 19q-40 0 -80.5 -18t-107.5 -59v-350h-85z" />
-<glyph unicode="o" horiz-adv-x="568" d="M55 243q0 140 52 198t177 58q126 0 177.5 -58t51.5 -198t-51.5 -198t-177.5 -58q-125 0 -177 58t-52 198zM144 243q0 -106 30 -145t110 -39t110.5 39t30.5 145t-30.5 145t-110.5 39t-110 -39t-30 -145z" />
-<glyph unicode="p" horiz-adv-x="580" d="M78 -201v688h70l7 -78q39 42 94 66t108 24q87 0 127 -64t40 -194q0 -138 -44 -195.5t-140 -57.5t-180 50q3 -34 3 -98v-141h-85zM163 92q102 -30 156 -30q66 0 92 37t26 142q0 102 -24.5 143t-83.5 41q-38 0 -75.5 -17.5t-90.5 -57.5v-258z" />
-<glyph unicode="q" horiz-adv-x="570" d="M55 242q0 133 48 195t171 62q120 0 220 -34v-666h-86v167q0 63 8 100q-95 -79 -194 -79q-85 0 -126 61.5t-41 193.5zM142 236q0 -93 23 -133.5t85 -40.5q40 0 74.5 15.5t84.5 50.5v282q-68 19 -136 17q-74 -2 -102.5 -41.5t-28.5 -149.5z" />
-<glyph unicode="r" horiz-adv-x="401" d="M78 0v487h66l9 -77q113 89 208 89h22l-10 -80h-28q-37 0 -76.5 -14.5t-105.5 -47.5v-357h-85z" />
-<glyph unicode="s" horiz-adv-x="508" d="M50 365q0 81 42.5 108.5t147.5 25.5q117 -2 205 -15l-7 -62q-153 5 -185 5q-74 1 -97 -9t-23 -53q0 -35 15.5 -48t55.5 -22l142 -32q60 -15 86.5 -44.5t26.5 -89.5q0 -85 -47 -112.5t-161 -27.5q-102 0 -191 14l6 62q85 -5 168 -4q85 0 114 13t29 55q0 33 -17.5 45.5 t-59.5 22.5l-140 32q-60 14 -85 45t-25 91z" />
-<glyph unicode="t" horiz-adv-x="381" d="M27 420v62l88 4v145h85v-144h155v-67h-155v-286q0 -35 15 -50t51 -15h74l10 -65q-46 -13 -110 -13q-61 0 -93 34t-32 98v297h-88z" />
-<glyph unicode="u" horiz-adv-x="570" d="M75 121v366h85v-342q-1 -46 17 -65t60 -19q37 0 75 16.5t95 53.5v356h85v-487h-68l-6 70q-110 -83 -210 -83q-133 0 -133 134z" />
-<glyph unicode="v" horiz-adv-x="530" d="M18 487h91l120 -341q10 -28 29 -85h13q30 84 87 247t63 179h90l-178 -466q-8 -21 -30 -21h-77q-22 0 -30 21z" />
-<glyph unicode="w" horiz-adv-x="824" d="M25 487h88l101 -359q9 -31 16 -73h13q20 80 57 232t42 173q5 27 32 27h77q25 0 32 -28l80 -331q2 -11 8 -35.5t9 -37.5h13q1 5 6.5 31.5t10.5 41.5l101 359h88l-142 -463q-6 -24 -33 -24h-77q-12 0 -21.5 7.5t-11.5 19.5l-80 331q-3 14 -8 39.5t-8 37.5h-12 q-18 -82 -54.5 -235.5t-41.5 -172.5q-7 -27 -34 -27h-76q-27 0 -33 24z" />
-<glyph unicode="x" horiz-adv-x="528" d="M23 0l163 251l-151 236h92l126 -201h23l125 201h92l-151 -236l163 -251h-92l-139 220h-20l-138 -220h-93z" />
-<glyph unicode="y" horiz-adv-x="529" d="M18 487h91l129 -363q14 -41 18 -59h14q8 20 21 59l127 363h92l-195 -514q-64 -172 -213 -179l-8 56q57 18 89.5 49.5t52.5 79.5l8 21h-19q-24 0 -30 22z" />
-<glyph unicode="z" horiz-adv-x="510" d="M49 0v69l313 348h-310v70h406v-70l-314 -348h317v-69h-412z" />
-<glyph unicode="{" horiz-adv-x="319" d="M46 297v62q39 12 48.5 22.5t9.5 54.5v199q0 72 41 106t131 27v-54q-51 0 -70.5 -19t-19.5 -66v-179q1 -61 -17.5 -86t-71.5 -36q55 -17 73.5 -41t19.5 -77v-237q0 -46 19.5 -65t70.5 -19v-54q-90 -7 -131 27t-41 106v256q0 19 -2.5 30t-13 19.5t-17.5 12t-29 11.5z" />
-<glyph unicode="|" horiz-adv-x="246" d="M92 -169v950h62v-950h-62z" />
-<glyph unicode="}" horiz-adv-x="320" d="M40 -111q51 0 70.5 19t19.5 65v237q1 53 19.5 77t73.5 41q-53 11 -71.5 36t-17.5 86v179q0 47 -19.5 66t-70.5 19v54q90 7 131 -27t41 -106v-199q0 -44 9.5 -54.5t48.5 -22.5v-62q-28 -10 -37.5 -15.5t-17 -19t-7.5 -38.5v-256q0 -72 -41 -106t-131 -27v54z" />
-<glyph unicode="~" horiz-adv-x="525" d="M77 228q-7 60 15 91t62 29q37 -2 107 -29t99 -30q26 -3 35.5 9.5t9.5 44.5h44q7 -58 -15 -89t-62 -29q-43 2 -112 29t-94 30q-26 3 -35.5 -10t-9.5 -46h-44z" />
-<glyph unicode="&#xa2;" horiz-adv-x="508" d="M54 349q0 140 52.5 198t178.5 58h6l8 85h46l-8 -87q62 -5 105 -22l-11 -57q-53 6 -101 8l-31 -367q76 0 143 11l9 -57q-72 -25 -159 -25l-9 -94h-45l9 95q-105 7 -149 65.5t-44 188.5zM138 349q0 -92 26 -132.5t90 -48.5l30 364q-82 -3 -114 -42.5t-32 -140.5z" />
-<glyph unicode="&#xa3;" horiz-adv-x="569" d="M56 338v50h77l-8 133q-5 110 41 145.5t150 35.5q78 0 179 -10l-5 -70q-71 4 -176 4q-61 0 -83.5 -23t-19.5 -83l8 -132h212l-2 -50h-207l5 -75q3 -71 -13 -114t-59 -77q22 3 67 3h296v-75h-456v75q87 44 78 188l-4 75h-80z" />
-<glyph unicode="&#xa5;" horiz-adv-x="618" d="M36 690h91l145 -275q8 -14 20.5 -45t13.5 -33h7q20 49 33 77l144 276h92l-197 -367h146v-52h-173l-5 -8v-53h178v-51h-178v-159h-88v159h-174v51h174v53l-4 8h-169l-1 52h142z" />
-<glyph unicode="&#xa9;" horiz-adv-x="836" d="M59 345q0 154 104 256t255 102q152 0 255.5 -101.5t103.5 -256.5t-103.5 -256.5t-255.5 -101.5q-151 0 -255 102t-104 256zM106 345q0 -133 91 -222.5t221 -89.5t221 89t91 223t-91 223t-221 89t-221 -89.5t-91 -222.5zM228 347q0 122 44 171.5t151 49.5q79 0 135 -14 l-8 -48q-65 3 -128 3q-72 0 -99.5 -35t-27.5 -127t27.5 -127t99.5 -35q91 0 140 6l6 -49q-62 -15 -145 -15q-107 0 -151 49.5t-44 170.5z" />
-<glyph unicode="&#xad;" d="M72 220v65h305v-65h-305z" />
-<glyph unicode="&#xae;" horiz-adv-x="553" d="M54 480q0 92 65 157t158 65q92 0 157 -65t65 -157q0 -93 -65 -158t-157 -65q-93 0 -158 65t-65 158zM85 480q0 -80 56 -136.5t136 -56.5q79 0 135 56.5t56 136.5t-56 136.5t-135 56.5t-135.5 -56.5t-56.5 -136.5zM177 351v259q34 3 109 3q56 0 79.5 -16t23.5 -59 q0 -30 -13.5 -45.5t-45.5 -19.5v-2q29 -4 39 -38l30 -82h-42l-28 80q-11 27 -42 27h-70v-107h-40zM217 487h68q36 1 50 11t13 36q1 28 -12.5 37.5t-50.5 9.5h-68v-94z" />
-<glyph unicode="&#xb4;" horiz-adv-x="314" d="M55 577l172 146l49 -65l-192 -120z" />
-<glyph unicode="&#x2000;" horiz-adv-x="399" />
-<glyph unicode="&#x2001;" horiz-adv-x="799" />
-<glyph unicode="&#x2002;" horiz-adv-x="399" />
-<glyph unicode="&#x2003;" horiz-adv-x="799" />
-<glyph unicode="&#x2004;" horiz-adv-x="266" />
-<glyph unicode="&#x2005;" horiz-adv-x="199" />
-<glyph unicode="&#x2006;" horiz-adv-x="133" />
-<glyph unicode="&#x2007;" horiz-adv-x="133" />
-<glyph unicode="&#x2008;" horiz-adv-x="99" />
-<glyph unicode="&#x2009;" horiz-adv-x="159" />
-<glyph unicode="&#x200a;" horiz-adv-x="44" />
-<glyph unicode="&#x2010;" d="M72 220v65h305v-65h-305z" />
-<glyph unicode="&#x2011;" d="M72 220v65h305v-65h-305z" />
-<glyph unicode="&#x2012;" d="M72 220v65h305v-65h-305z" />
-<glyph unicode="&#x2013;" horiz-adv-x="592" d="M72 220v65h448v-65h-448z" />
-<glyph unicode="&#x2014;" horiz-adv-x="896" d="M72 220v65h752v-65h-752z" />
-<glyph unicode="&#x2018;" horiz-adv-x="217" d="M65 526v60q1 77 35 144l40 -11q-10 -54 -10 -112q25 0 23 -26v-55q-1 -30 -32 -30h-25q-17 0 -24 6.5t-7 23.5z" />
-<glyph unicode="&#x2019;" horiz-adv-x="214" d="M63 638v55q1 30 32 30h25q17 0 24 -6.5t7 -23.5v-60q-1 -78 -35 -143l-40 10q10 54 10 112q-25 0 -23 26z" />
-<glyph unicode="&#x201c;" horiz-adv-x="369" d="M65 526v60q1 77 35 144l40 -11q-10 -54 -10 -112q25 0 23 -26v-55q-1 -30 -32 -30h-25q-17 0 -24 6.5t-7 23.5zM218 526v60q1 79 34 144l41 -11q-10 -54 -10 -112q25 0 23 -26v-55q-1 -30 -33 -30h-24q-17 0 -24 6.5t-7 23.5z" />
-<glyph unicode="&#x201d;" horiz-adv-x="367" d="M63 638v55q1 30 32 30h25q17 0 24 -6.5t7 -23.5v-60q-1 -78 -35 -143l-40 10q10 54 10 112q-25 0 -23 26zM215 638v55q1 30 33 30h25q17 0 23.5 -6.5t6.5 -23.5v-60q-2 -80 -34 -143l-40 10q10 63 10 112q-24 0 -24 26z" />
-<glyph unicode="&#x2022;" horiz-adv-x="363" d="M91 263v12q0 47 18.5 65t67.5 18h12q47 0 65 -18t18 -65v-12q0 -49 -18 -67.5t-65 -18.5h-12q-49 0 -67.5 18.5t-18.5 67.5z" />
-<glyph unicode="&#x2026;" horiz-adv-x="845" d="M66 32v54q0 18 7 25t24 7h29q17 0 24 -7t7 -25v-54q0 -18 -7 -25t-24 -7h-29q-17 0 -24 7t-7 25zM374 32v54q0 18 7 25t25 7h28q17 0 24 -7t7 -25v-54q0 -18 -7 -25t-24 -7h-28q-18 0 -25 7t-7 25zM682 32v54q0 18 7 25t25 7h28q17 0 24.5 -7t7.5 -25v-54q0 -18 -7.5 -25 t-24.5 -7h-28q-18 0 -25 7t-7 25z" />
-<glyph unicode="&#x202f;" horiz-adv-x="159" />
-<glyph unicode="&#x205f;" horiz-adv-x="199" />
-<glyph unicode="&#x20ac;" horiz-adv-x="639" d="M53 261v53h82v31q0 32 1 47h-83v53h87q15 130 78.5 193.5t191.5 63.5q94 0 166 -20l-10 -68q-76 13 -161 9q-78 -3 -119 -46t-54 -132h255l-7 -53h-253q0 -8 -0.5 -24t-0.5 -24l1 -30h220l-7 -53h-210q11 -98 52 -145t123 -49q96 -3 173 12l9 -68q-77 -23 -177 -23 q-131 0 -195 67t-77 206h-85z" />
-<glyph unicode="&#x2122;" horiz-adv-x="964" d="M67 645v51h324v-51h-131v-329h-62v329h-131zM440 316l16 356q2 24 24 24h63q19 0 25 -20l76 -220q3 -10 8.5 -29.5t6.5 -23.5h11q3 9 8 27t8 27l75 219q6 20 24 20h66q22 0 24 -24l15 -356h-57l-16 333h-11l-92 -268q-6 -20 -26 -20h-47q-18 0 -25 20l-92 268h-12 l-15 -333h-57z" />
-<glyph unicode="&#x25fc;" horiz-adv-x="485" d="M0 0v485h485v-485h-485z" />
-<hkern u1="&#x20;" u2="v" k="22" />
-<hkern u1="&#x20;" u2="X" k="3" />
-<hkern u1="&#x20;" u2="V" k="24" />
-<hkern u1="&#x20;" u2="J" k="20" />
-<hkern u1="&#x23;" u2="&#x37;" k="4" />
-<hkern u1="&#x23;" u2="&#x33;" k="15" />
-<hkern u1="&#x23;" u2="&#x32;" k="13" />
-<hkern u1="&#x26;" u2="V" k="21" />
-<hkern u1="&#x28;" u2="&#x7b;" k="18" />
-<hkern u1="&#x28;" u2="x" k="32" />
-<hkern u1="&#x28;" u2="v" k="53" />
-<hkern u1="&#x28;" u2="q" k="57" />
-<hkern u1="&#x28;" u2="X" k="3" />
-<hkern u1="&#x28;" u2="M" k="27" />
-<hkern u1="&#x28;" u2="J" k="26" />
-<hkern u1="&#x28;" u2="F" k="34" />
-<hkern u1="&#x28;" u2="&#x39;" k="34" />
-<hkern u1="&#x28;" u2="&#x38;" k="40" />
-<hkern u1="&#x28;" u2="&#x36;" k="46" />
-<hkern u1="&#x28;" u2="&#x35;" k="19" />
-<hkern u1="&#x28;" u2="&#x34;" k="57" />
-<hkern u1="&#x28;" u2="&#x33;" k="4" />
-<hkern u1="&#x28;" u2="&#x32;" k="5" />
-<hkern u1="&#x28;" u2="&#x31;" k="24" />
-<hkern u1="&#x28;" u2="&#x30;" k="47" />
-<hkern u1="&#x28;" u2="&#x28;" k="39" />
-<hkern u1="&#x29;" u2="&#x7d;" k="18" />
-<hkern u1="&#x29;" u2="]" k="26" />
-<hkern u1="&#x29;" u2="&#x29;" k="39" />
-<hkern u1="&#x2a;" u2="q" k="17" />
-<hkern u1="&#x2a;" u2="J" k="30" />
-<hkern u1="&#x2b;" u2="&#x37;" k="26" />
-<hkern u1="&#x2b;" u2="&#x33;" k="13" />
-<hkern u1="&#x2b;" u2="&#x32;" k="12" />
-<hkern u1="&#x2b;" u2="&#x31;" k="14" />
-<hkern u1="&#x2f;" u2="x" k="19" />
-<hkern u1="&#x2f;" u2="v" k="9" />
-<hkern u1="&#x2f;" u2="q" k="42" />
-<hkern u1="&#x2f;" u2="J" k="29" />
-<hkern u1="&#x2f;" u2="&#x36;" k="13" />
-<hkern u1="&#x2f;" u2="&#x34;" k="47" />
-<hkern u1="&#x2f;" u2="&#x30;" k="12" />
-<hkern u1="&#x2f;" u2="&#x2f;" k="96" />
-<hkern u1="&#x30;" u2="&#x7d;" k="21" />
-<hkern u1="&#x30;" u2="]" k="29" />
-<hkern u1="&#x30;" u2="\" k="12" />
-<hkern u1="&#x30;" u2="J" k="4" />
-<hkern u1="&#x30;" u2="&#x37;" k="5" />
-<hkern u1="&#x30;" u2="&#x33;" k="3" />
-<hkern u1="&#x30;" u2="&#x32;" k="3" />
-<hkern u1="&#x30;" u2="&#x2f;" k="27" />
-<hkern u1="&#x30;" u2="&#x29;" k="47" />
-<hkern u1="&#x31;" u2="&#x7d;" k="13" />
-<hkern u1="&#x31;" u2="]" k="15" />
-<hkern u1="&#x31;" u2="&#x2f;" k="10" />
-<hkern u1="&#x31;" u2="&#x29;" k="24" />
-<hkern u1="&#x32;" u2="&#x7d;" k="12" />
-<hkern u1="&#x32;" u2="]" k="21" />
-<hkern u1="&#x32;" u2="&#x34;" k="14" />
-<hkern u1="&#x32;" u2="&#x2b;" k="4" />
-<hkern u1="&#x32;" u2="&#x29;" k="26" />
-<hkern u1="&#x32;" u2="&#x23;" k="3" />
-<hkern u1="&#x33;" u2="&#x7d;" k="18" />
-<hkern u1="&#x33;" u2="]" k="24" />
-<hkern u1="&#x33;" u2="&#x2f;" k="16" />
-<hkern u1="&#x33;" u2="&#x29;" k="38" />
-<hkern u1="&#x34;" u2="&#x7d;" k="21" />
-<hkern u1="&#x34;" u2="]" k="32" />
-<hkern u1="&#x34;" u2="\" k="41" />
-<hkern u1="&#x34;" u2="V" k="21" />
-<hkern u1="&#x34;" u2="J" k="9" />
-<hkern u1="&#x34;" u2="&#x37;" k="36" />
-<hkern u1="&#x34;" u2="&#x35;" k="3" />
-<hkern u1="&#x34;" u2="&#x33;" k="5" />
-<hkern u1="&#x34;" u2="&#x32;" k="5" />
-<hkern u1="&#x34;" u2="&#x31;" k="18" />
-<hkern u1="&#x34;" u2="&#x2f;" k="20" />
-<hkern u1="&#x34;" u2="&#x29;" k="53" />
-<hkern u1="&#x35;" u2="&#x7d;" k="3" />
-<hkern u1="&#x35;" u2="]" k="6" />
-<hkern u1="&#x35;" u2="&#x2f;" k="15" />
-<hkern u1="&#x35;" u2="&#x29;" k="15" />
-<hkern u1="&#x36;" u2="&#x7d;" k="4" />
-<hkern u1="&#x36;" u2="]" k="13" />
-<hkern u1="&#x36;" u2="&#x31;" k="4" />
-<hkern u1="&#x36;" u2="&#x2f;" k="12" />
-<hkern u1="&#x36;" u2="&#x29;" k="25" />
-<hkern u1="&#x37;" u2="&#x7d;" k="4" />
-<hkern u1="&#x37;" u2="]" k="4" />
-<hkern u1="&#x37;" u2="J" k="25" />
-<hkern u1="&#x37;" u2="&#x34;" k="20" />
-<hkern u1="&#x37;" u2="&#x2f;" k="65" />
-<hkern u1="&#x37;" u2="&#x2b;" k="18" />
-<hkern u1="&#x37;" u2="&#x29;" k="4" />
-<hkern u1="&#x37;" u2="&#x23;" k="12" />
-<hkern u1="&#x38;" u2="&#x7d;" k="18" />
-<hkern u1="&#x38;" u2="]" k="26" />
-<hkern u1="&#x38;" u2="&#x2f;" k="16" />
-<hkern u1="&#x38;" u2="&#x29;" k="41" />
-<hkern u1="&#x39;" u2="&#x7d;" k="20" />
-<hkern u1="&#x39;" u2="]" k="27" />
-<hkern u1="&#x39;" u2="J" k="4" />
-<hkern u1="&#x39;" u2="&#x2f;" k="27" />
-<hkern u1="&#x39;" u2="&#x29;" k="43" />
-<hkern u1="&#x3d;" u2="&#x37;" k="13" />
-<hkern u1="B" u2="&#x2122;" k="3" />
-<hkern u1="B" u2="&#x7d;" k="20" />
-<hkern u1="B" u2="]" k="28" />
-<hkern u1="B" u2="X" k="2" />
-<hkern u1="B" u2="V" k="5" />
-<hkern u1="B" u2="J" k="4" />
-<hkern u1="B" u2="&#x3f;" k="5" />
-<hkern u1="B" u2="&#x37;" k="4" />
-<hkern u1="B" u2="&#x2f;" k="13" />
-<hkern u1="B" u2="&#x29;" k="42" />
-<hkern u1="F" u2="x" k="9" />
-<hkern u1="F" u2="q" k="16" />
-<hkern u1="F" u2="]" k="4" />
-<hkern u1="F" u2="J" k="47" />
-<hkern u1="F" u2="&#x2f;" k="70" />
-<hkern u1="F" u2="&#x29;" k="3" />
-<hkern u1="F" u2="&#x20;" k="16" />
-<hkern u1="M" u2="&#x7d;" k="12" />
-<hkern u1="M" u2="]" k="18" />
-<hkern u1="M" u2="&#x29;" k="27" />
-<hkern u1="P" u2="&#x7d;" k="17" />
-<hkern u1="P" u2="q" k="6" />
-<hkern u1="P" u2="]" k="23" />
-<hkern u1="P" u2="X" k="15" />
-<hkern u1="P" u2="J" k="45" />
-<hkern u1="P" u2="&#x2f;" k="69" />
-<hkern u1="P" u2="&#x29;" k="38" />
-<hkern u1="P" u2="&#x20;" k="18" />
-<hkern u1="V" u2="x" k="4" />
-<hkern u1="V" u2="q" k="37" />
-<hkern u1="V" u2="J" k="39" />
-<hkern u1="V" u2="&#x40;" k="13" />
-<hkern u1="V" u2="&#x34;" k="21" />
-<hkern u1="V" u2="&#x2f;" k="65" />
-<hkern u1="V" u2="&#x20;" k="24" />
-<hkern u1="X" u2="&#xa9;" k="21" />
-<hkern u1="X" u2="v" k="21" />
-<hkern u1="X" u2="q" k="9" />
-<hkern u1="X" u2="]" k="4" />
-<hkern u1="X" u2="&#x34;" k="19" />
-<hkern u1="X" u2="&#x29;" k="3" />
-<hkern u1="X" u2="&#x20;" k="3" />
-<hkern u1="[" u2="&#x7b;" k="12" />
-<hkern u1="[" u2="x" k="26" />
-<hkern u1="[" u2="v" k="30" />
-<hkern u1="[" u2="q" k="38" />
-<hkern u1="[" u2="X" k="4" />
-<hkern u1="[" u2="M" k="18" />
-<hkern u1="[" u2="J" k="25" />
-<hkern u1="[" u2="F" k="23" />
-<hkern u1="[" u2="&#x39;" k="23" />
-<hkern u1="[" u2="&#x38;" k="26" />
-<hkern u1="[" u2="&#x37;" k="3" />
-<hkern u1="[" u2="&#x36;" k="29" />
-<hkern u1="[" u2="&#x35;" k="5" />
-<hkern u1="[" u2="&#x34;" k="32" />
-<hkern u1="[" u2="&#x33;" k="5" />
-<hkern u1="[" u2="&#x32;" k="6" />
-<hkern u1="[" u2="&#x31;" k="17" />
-<hkern u1="[" u2="&#x30;" k="29" />
-<hkern u1="[" u2="&#x28;" k="26" />
-<hkern u1="\" u2="v" k="51" />
-<hkern u1="\" u2="q" k="17" />
-<hkern u1="\" u2="V" k="65" />
-<hkern u1="\" u2="&#x38;" k="16" />
-<hkern u1="\" u2="&#x37;" k="45" />
-<hkern u1="\" u2="&#x36;" k="23" />
-<hkern u1="\" u2="&#x34;" k="33" />
-<hkern u1="\" u2="&#x31;" k="55" />
-<hkern u1="\" u2="&#x30;" k="27" />
-<hkern u1="b" u2="&#x2122;" k="36" />
-<hkern u1="b" u2="&#x7d;" k="27" />
-<hkern u1="b" u2="x" k="10" />
-<hkern u1="b" u2="v" k="5" />
-<hkern u1="b" u2="]" k="37" />
-<hkern u1="b" u2="\" k="41" />
-<hkern u1="b" u2="X" k="11" />
-<hkern u1="b" u2="V" k="36" />
-<hkern u1="b" u2="J" k="11" />
-<hkern u1="b" u2="&#x3f;" k="34" />
-<hkern u1="b" u2="&#x2f;" k="19" />
-<hkern u1="b" u2="&#x2a;" k="17" />
-<hkern u1="b" u2="&#x29;" k="56" />
-<hkern u1="f" u2="&#x7d;" k="-7" />
-<hkern u1="f" u2="q" k="8" />
-<hkern u1="f" u2="]" k="-9" />
-<hkern u1="f" u2="\" k="-18" />
-<hkern u1="f" u2="X" k="5" />
-<hkern u1="f" u2="V" k="-17" />
-<hkern u1="f" u2="J" k="21" />
-<hkern u1="f" u2="&#x3f;" k="-9" />
-<hkern u1="f" u2="&#x2f;" k="49" />
-<hkern u1="f" u2="&#x20;" k="19" />
-<hkern u1="v" u2="&#x2122;" k="18" />
-<hkern u1="v" u2="&#x7d;" k="20" />
-<hkern u1="v" u2="q" k="6" />
-<hkern u1="v" u2="]" k="30" />
-<hkern u1="v" u2="\" k="9" />
-<hkern u1="v" u2="X" k="21" />
-<hkern u1="v" u2="J" k="38" />
-<hkern u1="v" u2="&#x2f;" k="51" />
-<hkern u1="v" u2="&#x29;" k="53" />
-<hkern u1="v" u2="&#x20;" k="22" />
-<hkern u1="x" u2="&#x2122;" k="25" />
-<hkern u1="x" u2="&#x7d;" k="16" />
-<hkern u1="x" u2="q" k="10" />
-<hkern u1="x" u2="]" k="26" />
-<hkern u1="x" u2="\" k="19" />
-<hkern u1="x" u2="V" k="4" />
-<hkern u1="x" u2="&#x3f;" k="4" />
-<hkern u1="x" u2="&#x29;" k="32" />
-<hkern u1="&#x7b;" u2="&#x7b;" k="11" />
-<hkern u1="&#x7b;" u2="x" k="16" />
-<hkern u1="&#x7b;" u2="v" k="20" />
-<hkern u1="&#x7b;" u2="q" k="28" />
-<hkern u1="&#x7b;" u2="M" k="12" />
-<hkern u1="&#x7b;" u2="J" k="15" />
-<hkern u1="&#x7b;" u2="F" k="16" />
-<hkern u1="&#x7b;" u2="&#x39;" k="16" />
-<hkern u1="&#x7b;" u2="&#x38;" k="18" />
-<hkern u1="&#x7b;" u2="&#x36;" k="21" />
-<hkern u1="&#x7b;" u2="&#x35;" k="4" />
-<hkern u1="&#x7b;" u2="&#x34;" k="21" />
-<hkern u1="&#x7b;" u2="&#x32;" k="3" />
-<hkern u1="&#x7b;" u2="&#x31;" k="4" />
-<hkern u1="&#x7b;" u2="&#x30;" k="21" />
-<hkern u1="&#x7b;" u2="&#x28;" k="18" />
-<hkern u1="&#x7d;" u2="&#x7d;" k="11" />
-<hkern u1="&#x7d;" u2="]" k="12" />
-<hkern u1="&#x7d;" u2="&#x29;" k="18" />
-<hkern u1="&#xa3;" u2="&#x34;" k="19" />
-<hkern u1="&#xa3;" u2="&#x30;" k="3" />
-<hkern g1="r" g2="bracketright" k="28" />
-<hkern g1="r" g2="parenright" k="51" />
-<hkern g1="r" g2="braceright" k="18" />
-<hkern g1="r" g2="Y" k="9" />
-<hkern g1="r" g2="T" k="67" />
-<hkern g1="r" g2="Z" k="7" />
-<hkern g1="r" g2="space" k="21" />
-<hkern g1="r" g2="hyphen,endash,emdash" k="46" />
-<hkern g1="r" g2="q" k="11" />
-<hkern g1="r" g2="trademark" k="16" />
-<hkern g1="r" g2="A" k="42" />
-<hkern g1="r" g2="c,e,o" k="13" />
-<hkern g1="r" g2="X" k="23" />
-<hkern g1="r" g2="slash" k="65" />
-<hkern g1="r" g2="g" k="4" />
-<hkern g1="r" g2="d" k="9" />
-<hkern g1="r" g2="J" k="41" />
-<hkern g1="r" g2="comma,period,ellipsis" k="54" />
-<hkern g1="U" g2="bracketright" k="7" />
-<hkern g1="U" g2="parenright" k="20" />
-<hkern g1="U" g2="braceright" k="5" />
-<hkern g1="U" g2="A" k="4" />
-<hkern g1="U" g2="slash" k="26" />
-<hkern g1="U" g2="g" k="5" />
-<hkern g1="U" g2="J" k="18" />
-<hkern g1="U" g2="comma,period,ellipsis" k="8" />
-<hkern g1="b" g2="quoteright,quotedblright" k="29" />
-<hkern g1="b" g2="y" k="5" />
-<hkern g1="b" g2="W" k="17" />
-<hkern g1="b" g2="t" k="1" />
-<hkern g1="b" g2="quotedbl,quotesingle" k="19" />
-<hkern g1="b" g2="Y" k="64" />
-<hkern g1="b" g2="T" k="109" />
-<hkern g1="b" g2="w" k="3" />
-<hkern g1="b" g2="quoteleft,quotedblleft" k="28" />
-<hkern g1="b" g2="Z" k="5" />
-<hkern g1="b" g2="z" k="1" />
-<hkern g1="b" g2="S" k="5" />
-<hkern g1="M" g2="Y" k="4" />
-<hkern g1="M" g2="hyphen,endash,emdash" k="5" />
-<hkern g1="w" g2="bracketright" k="29" />
-<hkern g1="w" g2="parenright" k="52" />
-<hkern g1="w" g2="braceright" k="19" />
-<hkern g1="w" g2="Y" k="18" />
-<hkern g1="w" g2="T" k="71" />
-<hkern g1="w" g2="Z" k="6" />
-<hkern g1="w" g2="space" k="20" />
-<hkern g1="w" g2="q" k="3" />
-<hkern g1="w" g2="trademark" k="18" />
-<hkern g1="w" g2="A" k="13" />
-<hkern g1="w" g2="c,e,o" k="3" />
-<hkern g1="w" g2="X" k="17" />
-<hkern g1="w" g2="slash" k="41" />
-<hkern g1="w" g2="d" k="3" />
-<hkern g1="w" g2="J" k="32" />
-<hkern g1="w" g2="comma,period,ellipsis" k="22" />
-<hkern g1="w" g2="backslash" k="9" />
-<hkern g1="w" g2="a" k="3" />
-<hkern g1="Z" g2="bracketright" k="4" />
-<hkern g1="Z" g2="parenright" k="3" />
-<hkern g1="Z" g2="y" k="6" />
-<hkern g1="Z" g2="t" k="6" />
-<hkern g1="Z" g2="w" k="6" />
-<hkern g1="Z" g2="f" k="5" />
-<hkern g1="Z" g2="hyphen,endash,emdash" k="4" />
-<hkern g1="Z" g2="four" k="18" />
-<hkern g1="Z" g2="copyright" k="18" />
-<hkern g1="Z" g2="v" k="6" />
-<hkern g1="Z" g2="C,G,O,Q" k="6" />
-<hkern g1="o" g2="bracketright" k="37" />
-<hkern g1="o" g2="parenright" k="57" />
-<hkern g1="o" g2="braceright" k="28" />
-<hkern g1="o" g2="quoteright,quotedblright" k="26" />
-<hkern g1="o" g2="y" k="6" />
-<hkern g1="o" g2="W" k="18" />
-<hkern g1="o" g2="t" k="1" />
-<hkern g1="o" g2="quotedbl,quotesingle" k="18" />
-<hkern g1="o" g2="Y" k="67" />
-<hkern g1="o" g2="T" k="110" />
-<hkern g1="o" g2="w" k="3" />
-<hkern g1="o" g2="f" k="1" />
-<hkern g1="o" g2="quoteleft,quotedblleft" k="24" />
-<hkern g1="o" g2="Z" k="6" />
-<hkern g1="o" g2="trademark" k="34" />
-<hkern g1="o" g2="X" k="11" />
-<hkern g1="o" g2="slash" k="18" />
-<hkern g1="o" g2="J" k="10" />
-<hkern g1="o" g2="z" k="1" />
-<hkern g1="o" g2="S" k="6" />
-<hkern g1="o" g2="backslash" k="42" />
-<hkern g1="o" g2="v" k="6" />
-<hkern g1="o" g2="V" k="37" />
-<hkern g1="o" g2="x" k="11" />
-<hkern g1="o" g2="question" k="32" />
-<hkern g1="o" g2="asterisk" k="16" />
-<hkern g1="R" g2="bracketright" k="26" />
-<hkern g1="R" g2="parenright" k="30" />
-<hkern g1="R" g2="braceright" k="17" />
-<hkern g1="R" g2="Y" k="11" />
-<hkern g1="R" g2="T" k="11" />
-<hkern g1="R" g2="trademark" k="3" />
-<hkern g1="R" g2="c,e,o" k="5" />
-<hkern g1="R" g2="backslash" k="7" />
-<hkern g1="R" g2="four" k="3" />
-<hkern g1="R" g2="V" k="4" />
-<hkern g1="R" g2="question" k="4" />
-<hkern g1="R" g2="seven" k="4" />
-<hkern g1="g" g2="Y" k="19" />
-<hkern g1="g" g2="T" k="80" />
-<hkern g1="g" g2="Z" k="1" />
-<hkern g1="g" g2="q" k="4" />
-<hkern g1="g" g2="trademark" k="21" />
-<hkern g1="g" g2="c,e,o" k="4" />
-<hkern g1="g" g2="g" k="1" />
-<hkern g1="g" g2="d" k="4" />
-<hkern g1="g" g2="J" k="1" />
-<hkern g1="g" g2="backslash" k="9" />
-<hkern g1="g" g2="a" k="5" />
-<hkern g1="g" g2="V" k="4" />
-<hkern g1="t" g2="bracketright" k="21" />
-<hkern g1="t" g2="parenright" k="31" />
-<hkern g1="t" g2="braceright" k="9" />
-<hkern g1="t" g2="Y" k="17" />
-<hkern g1="t" g2="T" k="80" />
-<hkern g1="t" g2="hyphen,endash,emdash" k="3" />
-<hkern g1="t" g2="trademark" k="15" />
-<hkern g1="t" g2="backslash" k="12" />
-<hkern g1="E" g2="bracketright" k="5" />
-<hkern g1="E" g2="parenright" k="4" />
-<hkern g1="E" g2="hyphen,endash,emdash" k="4" />
-<hkern g1="E" g2="four" k="5" />
-<hkern g1="E" g2="C,G,O,Q" k="6" />
-<hkern g1="W" g2="s" k="7" />
-<hkern g1="W" g2="space" k="15" />
-<hkern g1="W" g2="hyphen,endash,emdash" k="10" />
-<hkern g1="W" g2="q" k="18" />
-<hkern g1="W" g2="A" k="21" />
-<hkern g1="W" g2="c,e,o" k="18" />
-<hkern g1="W" g2="slash" k="45" />
-<hkern g1="W" g2="g" k="17" />
-<hkern g1="W" g2="d" k="16" />
-<hkern g1="W" g2="J" k="31" />
-<hkern g1="W" g2="comma,period,ellipsis" k="27" />
-<hkern g1="W" g2="a" k="12" />
-<hkern g1="W" g2="four" k="4" />
-<hkern g1="W" g2="m,n,p,r" k="13" />
-<hkern g1="W" g2="u" k="11" />
-<hkern g1="B" g2="Y" k="11" />
-<hkern g1="B" g2="T" k="10" />
-<hkern g1="l" g2="bracketright" k="22" />
-<hkern g1="l" g2="parenright" k="26" />
-<hkern g1="l" g2="braceright" k="12" />
-<hkern g1="l" g2="quoteright,quotedblright" k="18" />
-<hkern g1="l" g2="y" k="23" />
-<hkern g1="l" g2="W" k="17" />
-<hkern g1="l" g2="t" k="7" />
-<hkern g1="l" g2="quotedbl,quotesingle" k="19" />
-<hkern g1="l" g2="Y" k="30" />
-<hkern g1="l" g2="T" k="35" />
-<hkern g1="l" g2="w" k="14" />
-<hkern g1="l" g2="f" k="4" />
-<hkern g1="l" g2="U" k="9" />
-<hkern g1="l" g2="quoteleft,quotedblleft" k="18" />
-<hkern g1="l" g2="space" k="25" />
-<hkern g1="l" g2="hyphen,endash,emdash" k="19" />
-<hkern g1="l" g2="trademark" k="19" />
-<hkern g1="l" g2="backslash" k="25" />
-<hkern g1="l" g2="copyright" k="18" />
-<hkern g1="l" g2="v" k="22" />
-<hkern g1="l" g2="C,G,O,Q" k="2" />
-<hkern g1="l" g2="V" k="26" />
-<hkern g1="l" g2="question" k="24" />
-<hkern g1="l" g2="asterisk" k="20" />
-<hkern g1="l" g2="registered" k="19" />
-<hkern g1="O,Q" g2="bracketright" k="29" />
-<hkern g1="O,Q" g2="parenright" k="49" />
-<hkern g1="O,Q" g2="braceright" k="21" />
-<hkern g1="O,Q" g2="Y" k="16" />
-<hkern g1="O,Q" g2="T" k="14" />
-<hkern g1="O,Q" g2="Z" k="6" />
-<hkern g1="O,Q" g2="trademark" k="11" />
-<hkern g1="O,Q" g2="A" k="4" />
-<hkern g1="O,Q" g2="X" k="19" />
-<hkern g1="O,Q" g2="slash" k="28" />
-<hkern g1="O,Q" g2="J" k="17" />
-<hkern g1="O,Q" g2="comma,period,ellipsis" k="3" />
-<hkern g1="O,Q" g2="backslash" k="12" />
-<hkern g1="O,Q" g2="V" k="6" />
-<hkern g1="O,Q" g2="question" k="6" />
-<hkern g1="O,Q" g2="seven" k="5" />
-<hkern g1="y" g2="bracketright" k="29" />
-<hkern g1="y" g2="parenright" k="51" />
-<hkern g1="y" g2="braceright" k="19" />
-<hkern g1="y" g2="Y" k="16" />
-<hkern g1="y" g2="T" k="71" />
-<hkern g1="y" g2="Z" k="7" />
-<hkern g1="y" g2="space" k="22" />
-<hkern g1="y" g2="q" k="6" />
-<hkern g1="y" g2="trademark" k="17" />
-<hkern g1="y" g2="A" k="19" />
-<hkern g1="y" g2="c,e,o" k="6" />
-<hkern g1="y" g2="X" k="21" />
-<hkern g1="y" g2="slash" k="49" />
-<hkern g1="y" g2="g" k="5" />
-<hkern g1="y" g2="d" k="5" />
-<hkern g1="y" g2="J" k="38" />
-<hkern g1="y" g2="comma,period,ellipsis" k="32" />
-<hkern g1="y" g2="backslash" k="9" />
-<hkern g1="y" g2="a" k="5" />
-<hkern g1="G" g2="bracketright" k="14" />
-<hkern g1="G" g2="parenright" k="23" />
-<hkern g1="G" g2="braceright" k="4" />
-<hkern g1="G" g2="Y" k="4" />
-<hkern g1="G" g2="T" k="4" />
-<hkern g1="q,u" g2="bracketright" k="34" />
-<hkern g1="q,u" g2="parenright" k="49" />
-<hkern g1="q,u" g2="braceright" k="22" />
-<hkern g1="q,u" g2="W" k="12" />
-<hkern g1="q,u" g2="Y" k="56" />
-<hkern g1="q,u" g2="T" k="91" />
-<hkern g1="q,u" g2="trademark" k="30" />
-<hkern g1="q,u" g2="backslash" k="30" />
-<hkern g1="q,u" g2="V" k="26" />
-<hkern g1="q,u" g2="question" k="22" />
-<hkern g1="q,u" g2="asterisk" k="3" />
-<hkern g1="T" g2="s" k="101" />
-<hkern g1="T" g2="y" k="72" />
-<hkern g1="T" g2="t" k="36" />
-<hkern g1="T" g2="w" k="72" />
-<hkern g1="T" g2="f" k="28" />
-<hkern g1="T" g2="space" k="23" />
-<hkern g1="T" g2="hyphen,endash,emdash" k="55" />
-<hkern g1="T" g2="q" k="111" />
-<hkern g1="T" g2="A" k="59" />
-<hkern g1="T" g2="c,e,o" k="111" />
-<hkern g1="T" g2="slash" k="72" />
-<hkern g1="T" g2="g" k="109" />
-<hkern g1="T" g2="d" k="109" />
-<hkern g1="T" g2="J" k="39" />
-<hkern g1="T" g2="comma,period,ellipsis" k="57" />
-<hkern g1="T" g2="z" k="94" />
-<hkern g1="T" g2="a" k="94" />
-<hkern g1="T" g2="four" k="40" />
-<hkern g1="T" g2="copyright" k="25" />
-<hkern g1="T" g2="v" k="71" />
-<hkern g1="T" g2="C,G,O,Q" k="14" />
-<hkern g1="T" g2="x" k="78" />
-<hkern g1="T" g2="m,n,p,r" k="93" />
-<hkern g1="T" g2="u" k="89" />
-<hkern g1="T" g2="F" k="1" />
-<hkern g1="T" g2="at" k="37" />
-<hkern g1="T" g2="colon,semicolon" k="53" />
-<hkern g1="a" g2="bracketright" k="36" />
-<hkern g1="a" g2="parenright" k="49" />
-<hkern g1="a" g2="braceright" k="25" />
-<hkern g1="a" g2="quoteright,quotedblright" k="20" />
-<hkern g1="a" g2="W" k="16" />
-<hkern g1="a" g2="quotedbl,quotesingle" k="12" />
-<hkern g1="a" g2="Y" k="60" />
-<hkern g1="a" g2="T" k="112" />
-<hkern g1="a" g2="U" k="4" />
-<hkern g1="a" g2="quoteleft,quotedblleft" k="17" />
-<hkern g1="a" g2="trademark" k="34" />
-<hkern g1="a" g2="S" k="1" />
-<hkern g1="a" g2="backslash" k="39" />
-<hkern g1="a" g2="V" k="34" />
-<hkern g1="a" g2="question" k="29" />
-<hkern g1="a" g2="asterisk" k="13" />
-<hkern g1="L" g2="bracketright" k="25" />
-<hkern g1="L" g2="parenright" k="28" />
-<hkern g1="L" g2="braceright" k="9" />
-<hkern g1="L" g2="quoteright,quotedblright" k="86" />
-<hkern g1="L" g2="y" k="69" />
-<hkern g1="L" g2="W" k="47" />
-<hkern g1="L" g2="t" k="25" />
-<hkern g1="L" g2="quotedbl,quotesingle" k="86" />
-<hkern g1="L" g2="Y" k="91" />
-<hkern g1="L" g2="T" k="103" />
-<hkern g1="L" g2="w" k="49" />
-<hkern g1="L" g2="f" k="16" />
-<hkern g1="L" g2="U" k="18" />
-<hkern g1="L" g2="quoteleft,quotedblleft" k="86" />
-<hkern g1="L" g2="space" k="23" />
-<hkern g1="L" g2="hyphen,endash,emdash" k="50" />
-<hkern g1="L" g2="q" k="2" />
-<hkern g1="L" g2="trademark" k="86" />
-<hkern g1="L" g2="c,e,o" k="2" />
-<hkern g1="L" g2="d" k="2" />
-<hkern g1="L" g2="backslash" k="87" />
-<hkern g1="L" g2="four" k="38" />
-<hkern g1="L" g2="copyright" k="26" />
-<hkern g1="L" g2="v" k="71" />
-<hkern g1="L" g2="C,G,O,Q" k="16" />
-<hkern g1="L" g2="V" k="81" />
-<hkern g1="L" g2="question" k="43" />
-<hkern g1="L" g2="asterisk" k="86" />
-<hkern g1="L" g2="seven" k="34" />
-<hkern g1="L" g2="registered" k="85" />
-<hkern g1="L" g2="one" k="41" />
-<hkern g1="D" g2="bracketright" k="29" />
-<hkern g1="D" g2="parenright" k="49" />
-<hkern g1="D" g2="braceright" k="21" />
-<hkern g1="D" g2="Y" k="16" />
-<hkern g1="D" g2="T" k="15" />
-<hkern g1="D" g2="Z" k="6" />
-<hkern g1="D" g2="trademark" k="11" />
-<hkern g1="D" g2="A" k="4" />
-<hkern g1="D" g2="X" k="19" />
-<hkern g1="D" g2="slash" k="28" />
-<hkern g1="D" g2="J" k="18" />
-<hkern g1="D" g2="comma,period,ellipsis" k="2" />
-<hkern g1="D" g2="backslash" k="13" />
-<hkern g1="D" g2="V" k="7" />
-<hkern g1="D" g2="question" k="6" />
-<hkern g1="D" g2="seven" k="5" />
-<hkern g1="Y" g2="s" k="54" />
-<hkern g1="Y" g2="y" k="16" />
-<hkern g1="Y" g2="t" k="13" />
-<hkern g1="Y" g2="w" k="18" />
-<hkern g1="Y" g2="f" k="13" />
-<hkern g1="Y" g2="space" k="27" />
-<hkern g1="Y" g2="hyphen,endash,emdash" k="52" />
-<hkern g1="Y" g2="q" k="64" />
-<hkern g1="Y" g2="A" k="54" />
-<hkern g1="Y" g2="c,e,o" k="67" />
-<hkern g1="Y" g2="slash" k="72" />
-<hkern g1="Y" g2="g" k="67" />
-<hkern g1="Y" g2="d" k="63" />
-<hkern g1="Y" g2="J" k="41" />
-<hkern g1="Y" g2="comma,period,ellipsis" k="59" />
-<hkern g1="Y" g2="z" k="36" />
-<hkern g1="Y" g2="S" k="4" />
-<hkern g1="Y" g2="a" k="56" />
-<hkern g1="Y" g2="four" k="40" />
-<hkern g1="Y" g2="copyright" k="24" />
-<hkern g1="Y" g2="v" k="16" />
-<hkern g1="Y" g2="C,G,O,Q" k="15" />
-<hkern g1="Y" g2="x" k="25" />
-<hkern g1="Y" g2="m,n,p,r" k="58" />
-<hkern g1="Y" g2="u" k="55" />
-<hkern g1="Y" g2="F" k="5" />
-<hkern g1="Y" g2="at" k="26" />
-<hkern g1="Y" g2="colon,semicolon" k="29" />
-<hkern g1="Y" g2="six" k="7" />
-<hkern g1="Y" g2="M" k="4" />
-<hkern g1="Y" g2="E" k="4" />
-<hkern g1="v" g2="Y" k="16" />
-<hkern g1="v" g2="T" k="71" />
-<hkern g1="v" g2="Z" k="7" />
-<hkern g1="v" g2="A" k="20" />
-<hkern g1="v" g2="c,e,o" k="6" />
-<hkern g1="v" g2="g" k="5" />
-<hkern g1="v" g2="d" k="5" />
-<hkern g1="v" g2="comma,period,ellipsis" k="32" />
-<hkern g1="v" g2="a" k="5" />
-<hkern g1="f" g2="W" k="-5" />
-<hkern g1="f" g2="Y" k="-21" />
-<hkern g1="f" g2="T" k="1" />
-<hkern g1="f" g2="Z" k="2" />
-<hkern g1="f" g2="hyphen,endash,emdash" k="31" />
-<hkern g1="f" g2="A" k="29" />
-<hkern g1="f" g2="c,e,o" k="8" />
-<hkern g1="f" g2="g" k="2" />
-<hkern g1="f" g2="d" k="6" />
-<hkern g1="f" g2="comma,period,ellipsis" k="35" />
-<hkern g1="s" g2="bracketright" k="33" />
-<hkern g1="s" g2="parenright" k="50" />
-<hkern g1="s" g2="braceright" k="22" />
-<hkern g1="s" g2="y" k="3" />
-<hkern g1="s" g2="W" k="7" />
-<hkern g1="s" g2="Y" k="46" />
-<hkern g1="s" g2="T" k="93" />
-<hkern g1="s" g2="trademark" k="31" />
-<hkern g1="s" g2="backslash" k="29" />
-<hkern g1="s" g2="v" k="3" />
-<hkern g1="s" g2="V" k="20" />
-<hkern g1="s" g2="question" k="20" />
-<hkern g1="s" g2="asterisk" k="2" />
-<hkern g1="A" g2="bracketright" k="22" />
-<hkern g1="A" g2="parenright" k="23" />
-<hkern g1="A" g2="quoteright,quotedblright" k="42" />
-<hkern g1="A" g2="y" k="19" />
-<hkern g1="A" g2="W" k="21" />
-<hkern g1="A" g2="t" k="11" />
-<hkern g1="A" g2="quotedbl,quotesingle" k="38" />
-<hkern g1="A" g2="Y" k="54" />
-<hkern g1="A" g2="T" k="59" />
-<hkern g1="A" g2="w" k="13" />
-<hkern g1="A" g2="f" k="7" />
-<hkern g1="A" g2="U" k="4" />
-<hkern g1="A" g2="quoteleft,quotedblleft" k="40" />
-<hkern g1="A" g2="space" k="24" />
-<hkern g1="A" g2="trademark" k="47" />
-<hkern g1="A" g2="backslash" k="56" />
-<hkern g1="A" g2="v" k="20" />
-<hkern g1="A" g2="C,G,O,Q" k="4" />
-<hkern g1="A" g2="V" k="34" />
-<hkern g1="A" g2="question" k="39" />
-<hkern g1="A" g2="asterisk" k="34" />
-<hkern g1="A" g2="seven" k="30" />
-<hkern g1="A" g2="registered" k="26" />
-<hkern g1="A" g2="one" k="32" />
-<hkern g1="V" g2="s" k="22" />
-<hkern g1="V" g2="hyphen,endash,emdash" k="23" />
-<hkern g1="V" g2="A" k="34" />
-<hkern g1="V" g2="c,e,o" k="37" />
-<hkern g1="V" g2="g" k="35" />
-<hkern g1="V" g2="d" k="36" />
-<hkern g1="V" g2="comma,period,ellipsis" k="46" />
-<hkern g1="V" g2="z" k="11" />
-<hkern g1="V" g2="a" k="28" />
-<hkern g1="V" g2="C,G,O,Q" k="6" />
-<hkern g1="V" g2="m,n,p,r" k="27" />
-<hkern g1="V" g2="u" k="25" />
-<hkern g1="V" g2="colon,semicolon" k="12" />
-<hkern g1="k" g2="bracketright" k="26" />
-<hkern g1="k" g2="parenright" k="28" />
-<hkern g1="k" g2="braceright" k="13" />
-<hkern g1="k" g2="Y" k="31" />
-<hkern g1="k" g2="T" k="82" />
-<hkern g1="k" g2="space" k="10" />
-<hkern g1="k" g2="hyphen,endash,emdash" k="24" />
-<hkern g1="k" g2="q" k="13" />
-<hkern g1="k" g2="trademark" k="27" />
-<hkern g1="k" g2="c,e,o" k="16" />
-<hkern g1="k" g2="d" k="13" />
-<hkern g1="k" g2="backslash" k="22" />
-<hkern g1="k" g2="V" k="7" />
-<hkern g1="k" g2="question" k="14" />
-<hkern g1="k" g2="asterisk" k="3" />
-<hkern g1="N" g2="bracketright" k="7" />
-<hkern g1="N" g2="parenright" k="21" />
-<hkern g1="N" g2="braceright" k="4" />
-<hkern g1="c" g2="bracketright" k="30" />
-<hkern g1="c" g2="parenright" k="40" />
-<hkern g1="c" g2="braceright" k="20" />
-<hkern g1="c" g2="Y" k="38" />
-<hkern g1="c" g2="T" k="105" />
-<hkern g1="c" g2="hyphen,endash,emdash" k="23" />
-<hkern g1="c" g2="q" k="6" />
-<hkern g1="c" g2="trademark" k="27" />
-<hkern g1="c" g2="c,e,o" k="8" />
-<hkern g1="c" g2="d" k="7" />
-<hkern g1="c" g2="backslash" k="24" />
-<hkern g1="c" g2="V" k="11" />
-<hkern g1="c" g2="question" k="17" />
-<hkern g1="J" g2="bracketright" k="7" />
-<hkern g1="J" g2="parenright" k="20" />
-<hkern g1="J" g2="braceright" k="5" />
-<hkern g1="J" g2="slash" k="16" />
-<hkern g1="J" g2="g" k="4" />
-<hkern g1="J" g2="J" k="8" />
-<hkern g1="F" g2="s" k="9" />
-<hkern g1="F" g2="hyphen,endash,emdash" k="8" />
-<hkern g1="F" g2="A" k="51" />
-<hkern g1="F" g2="c,e,o" k="16" />
-<hkern g1="F" g2="g" k="16" />
-<hkern g1="F" g2="d" k="15" />
-<hkern g1="F" g2="comma,period,ellipsis" k="78" />
-<hkern g1="F" g2="z" k="9" />
-<hkern g1="F" g2="a" k="23" />
-<hkern g1="F" g2="C,G,O,Q" k="7" />
-<hkern g1="F" g2="m,n,p,r" k="16" />
-<hkern g1="F" g2="u" k="16" />
-<hkern g1="x" g2="Y" k="25" />
-<hkern g1="x" g2="T" k="77" />
-<hkern g1="x" g2="hyphen,endash,emdash" k="18" />
-<hkern g1="x" g2="c,e,o" k="11" />
-<hkern g1="x" g2="d" k="10" />
-<hkern g1="e" g2="bracketright" k="34" />
-<hkern g1="e" g2="parenright" k="49" />
-<hkern g1="e" g2="braceright" k="25" />
-<hkern g1="e" g2="quoteright,quotedblright" k="16" />
-<hkern g1="e" g2="y" k="3" />
-<hkern g1="e" g2="W" k="10" />
-<hkern g1="e" g2="quotedbl,quotesingle" k="7" />
-<hkern g1="e" g2="Y" k="62" />
-<hkern g1="e" g2="T" k="104" />
-<hkern g1="e" g2="quoteleft,quotedblleft" k="14" />
-<hkern g1="e" g2="trademark" k="31" />
-<hkern g1="e" g2="backslash" k="33" />
-<hkern g1="e" g2="v" k="3" />
-<hkern g1="e" g2="V" k="26" />
-<hkern g1="e" g2="question" k="25" />
-<hkern g1="e" g2="asterisk" k="10" />
-<hkern g1="p" g2="bracketright" k="37" />
-<hkern g1="p" g2="parenright" k="57" />
-<hkern g1="p" g2="braceright" k="28" />
-<hkern g1="p" g2="quoteright,quotedblright" k="24" />
-<hkern g1="p" g2="y" k="5" />
-<hkern g1="p" g2="W" k="17" />
-<hkern g1="p" g2="t" k="1" />
-<hkern g1="p" g2="quotedbl,quotesingle" k="16" />
-<hkern g1="p" g2="Y" k="63" />
-<hkern g1="p" g2="T" k="108" />
-<hkern g1="p" g2="w" k="3" />
-<hkern g1="p" g2="quoteleft,quotedblleft" k="22" />
-<hkern g1="p" g2="Z" k="5" />
-<hkern g1="p" g2="trademark" k="34" />
-<hkern g1="p" g2="X" k="10" />
-<hkern g1="p" g2="slash" k="18" />
-<hkern g1="p" g2="J" k="9" />
-<hkern g1="p" g2="z" k="1" />
-<hkern g1="p" g2="S" k="5" />
-<hkern g1="p" g2="backslash" k="42" />
-<hkern g1="p" g2="v" k="5" />
-<hkern g1="p" g2="V" k="36" />
-<hkern g1="p" g2="x" k="10" />
-<hkern g1="p" g2="question" k="32" />
-<hkern g1="p" g2="asterisk" k="16" />
-<hkern g1="S" g2="bracketright" k="7" />
-<hkern g1="S" g2="parenright" k="23" />
-<hkern g1="S" g2="braceright" k="4" />
-<hkern g1="S" g2="y" k="8" />
-<hkern g1="S" g2="t" k="6" />
-<hkern g1="S" g2="Y" k="4" />
-<hkern g1="S" g2="w" k="5" />
-<hkern g1="S" g2="f" k="6" />
-<hkern g1="S" g2="v" k="7" />
-<hkern g1="S" g2="asterisk" k="4" />
-<hkern g1="S" g2="registered" k="3" />
-<hkern g1="h,m,n" g2="bracketright" k="36" />
-<hkern g1="h,m,n" g2="parenright" k="48" />
-<hkern g1="h,m,n" g2="braceright" k="24" />
-<hkern g1="h,m,n" g2="quoteright,quotedblright" k="17" />
-<hkern g1="h,m,n" g2="W" k="15" />
-<hkern g1="h,m,n" g2="quotedbl,quotesingle" k="10" />
-<hkern g1="h,m,n" g2="Y" k="59" />
-<hkern g1="h,m,n" g2="T" k="112" />
-<hkern g1="h,m,n" g2="U" k="4" />
-<hkern g1="h,m,n" g2="quoteleft,quotedblleft" k="15" />
-<hkern g1="h,m,n" g2="trademark" k="33" />
-<hkern g1="h,m,n" g2="S" k="1" />
-<hkern g1="h,m,n" g2="backslash" k="37" />
-<hkern g1="h,m,n" g2="V" k="33" />
-<hkern g1="h,m,n" g2="question" k="28" />
-<hkern g1="h,m,n" g2="asterisk" k="13" />
-<hkern g1="K" g2="bracketright" k="4" />
-<hkern g1="K" g2="parenright" k="3" />
-<hkern g1="K" g2="y" k="28" />
-<hkern g1="K" g2="t" k="15" />
-<hkern g1="K" g2="w" k="23" />
-<hkern g1="K" g2="f" k="10" />
-<hkern g1="K" g2="space" k="10" />
-<hkern g1="K" g2="hyphen,endash,emdash" k="19" />
-<hkern g1="K" g2="q" k="10" />
-<hkern g1="K" g2="c,e,o" k="13" />
-<hkern g1="K" g2="d" k="11" />
-<hkern g1="K" g2="four" k="26" />
-<hkern g1="K" g2="copyright" k="26" />
-<hkern g1="K" g2="v" k="28" />
-<hkern g1="K" g2="C,G,O,Q" k="23" />
-<hkern g1="K" g2="u" k="4" />
-<hkern g1="K" g2="registered" k="10" />
-<hkern g1="K" g2="E" k="7" />
-<hkern g1="C" g2="bracketright" k="5" />
-<hkern g1="C" g2="parenright" k="4" />
-<hkern g1="C" g2="y" k="9" />
-<hkern g1="C" g2="t" k="6" />
-<hkern g1="C" g2="w" k="6" />
-<hkern g1="C" g2="f" k="4" />
-<hkern g1="C" g2="hyphen,endash,emdash" k="10" />
-<hkern g1="C" g2="four" k="20" />
-<hkern g1="C" g2="copyright" k="19" />
-<hkern g1="C" g2="v" k="8" />
-<hkern g1="C" g2="C,G,O,Q" k="11" />
-<hkern g1="C" g2="asterisk" k="2" />
-<hkern g1="C" g2="registered" k="2" />
-<hkern g1="X" g2="y" k="21" />
-<hkern g1="X" g2="t" k="13" />
-<hkern g1="X" g2="w" k="17" />
-<hkern g1="X" g2="f" k="10" />
-<hkern g1="X" g2="hyphen,endash,emdash" k="17" />
-<hkern g1="X" g2="c,e,o" k="11" />
-<hkern g1="X" g2="d" k="11" />
-<hkern g1="X" g2="C,G,O,Q" k="19" />
-<hkern g1="X" g2="u" k="4" />
-<hkern g1="X" g2="E" k="4" />
-<hkern g1="P" g2="Z" k="1" />
-<hkern g1="P" g2="hyphen,endash,emdash" k="5" />
-<hkern g1="P" g2="A" k="35" />
-<hkern g1="P" g2="c,e,o" k="6" />
-<hkern g1="P" g2="g" k="1" />
-<hkern g1="P" g2="d" k="6" />
-<hkern g1="P" g2="comma,period,ellipsis" k="78" />
-<hkern g1="P" g2="a" k="4" />
-<hkern g1="z" g2="bracketright" k="31" />
-<hkern g1="z" g2="parenright" k="39" />
-<hkern g1="z" g2="braceright" k="20" />
-<hkern g1="z" g2="Y" k="40" />
-<hkern g1="z" g2="T" k="94" />
-<hkern g1="z" g2="hyphen,endash,emdash" k="19" />
-<hkern g1="z" g2="q" k="1" />
-<hkern g1="z" g2="trademark" k="28" />
-<hkern g1="z" g2="c,e,o" k="1" />
-<hkern g1="z" g2="d" k="1" />
-<hkern g1="z" g2="backslash" k="24" />
-<hkern g1="z" g2="V" k="12" />
-<hkern g1="z" g2="question" k="16" />
-<hkern g1="hyphen,endash,emdash" g2="quoteright,quotedblright" k="74" />
-<hkern g1="hyphen,endash,emdash" g2="quotedbl,quotesingle" k="61" />
-<hkern g1="hyphen,endash,emdash" g2="T" k="55" />
-<hkern g1="hyphen,endash,emdash" g2="Y" k="52" />
-<hkern g1="hyphen,endash,emdash" g2="f" k="7" />
-<hkern g1="hyphen,endash,emdash" g2="V" k="23" />
-<hkern g1="hyphen,endash,emdash" g2="x" k="18" />
-<hkern g1="hyphen,endash,emdash" g2="X" k="17" />
-<hkern g1="hyphen,endash,emdash" g2="z" k="19" />
-<hkern g1="hyphen,endash,emdash" g2="t" k="8" />
-<hkern g1="hyphen,endash,emdash" g2="J" k="39" />
-<hkern g1="hyphen,endash,emdash" g2="W" k="10" />
-<hkern g1="hyphen,endash,emdash" g2="Z" k="4" />
-<hkern g1="hyphen,endash,emdash" g2="S" k="12" />
-<hkern g1="hyphen,endash,emdash" g2="seven" k="43" />
-<hkern g1="hyphen,endash,emdash" g2="one" k="32" />
-<hkern g1="hyphen,endash,emdash" g2="five" k="4" />
-<hkern g1="space" g2="quoteright,quotedblright" k="14" />
-<hkern g1="space" g2="quotedbl,quotesingle" k="13" />
-<hkern g1="space" g2="y" k="22" />
-<hkern g1="space" g2="T" k="23" />
-<hkern g1="space" g2="Y" k="27" />
-<hkern g1="space" g2="f" k="16" />
-<hkern g1="space" g2="t" k="18" />
-<hkern g1="space" g2="W" k="13" />
-<hkern g1="space" g2="A" k="24" />
-<hkern g1="space" g2="w" k="20" />
-<hkern g1="colon,semicolon" g2="T" k="53" />
-<hkern g1="colon,semicolon" g2="Y" k="29" />
-<hkern g1="colon,semicolon" g2="V" k="12" />
-<hkern g1="seven" g2="A" k="34" />
-<hkern g1="seven" g2="hyphen,endash,emdash" k="22" />
-<hkern g1="seven" g2="comma,period,ellipsis" k="46" />
-<hkern g1="braceleft" g2="y" k="5" />
-<hkern g1="braceleft" g2="f" k="17" />
-<hkern g1="braceleft" g2="z" k="20" />
-<hkern g1="braceleft" g2="t" k="19" />
-<hkern g1="braceleft" g2="i,j" k="4" />
-<hkern g1="braceleft" g2="m,n,p,r" k="22" />
-<hkern g1="braceleft" g2="S" k="12" />
-<hkern g1="braceleft" g2="b,h,k" k="4" />
-<hkern g1="braceleft" g2="L" k="4" />
-<hkern g1="braceleft" g2="u" k="25" />
-<hkern g1="braceleft" g2="A" k="7" />
-<hkern g1="braceleft" g2="E" k="17" />
-<hkern g1="braceleft" g2="c,e,o" k="28" />
-<hkern g1="braceleft" g2="B,D,H,I,K,P,R" k="4" />
-<hkern g1="braceleft" g2="U" k="5" />
-<hkern g1="braceleft" g2="d" k="26" />
-<hkern g1="braceleft" g2="s" k="24" />
-<hkern g1="braceleft" g2="N" k="4" />
-<hkern g1="braceleft" g2="w" k="19" />
-<hkern g1="braceleft" g2="C,G,O,Q" k="21" />
-<hkern g1="braceleft" g2="l" k="4" />
-<hkern g1="braceleft" g2="a" k="23" />
-<hkern g1="parenleft" g2="y" k="20" />
-<hkern g1="parenleft" g2="f" k="43" />
-<hkern g1="parenleft" g2="z" k="40" />
-<hkern g1="parenleft" g2="t" k="49" />
-<hkern g1="parenleft" g2="Z" k="3" />
-<hkern g1="parenleft" g2="i,j" k="21" />
-<hkern g1="parenleft" g2="m,n,p,r" k="47" />
-<hkern g1="parenleft" g2="S" k="28" />
-<hkern g1="parenleft" g2="b,h,k" k="17" />
-<hkern g1="parenleft" g2="L" k="20" />
-<hkern g1="parenleft" g2="u" k="53" />
-<hkern g1="parenleft" g2="A" k="22" />
-<hkern g1="parenleft" g2="E" k="38" />
-<hkern g1="parenleft" g2="c,e,o" k="57" />
-<hkern g1="parenleft" g2="B,D,H,I,K,P,R" k="20" />
-<hkern g1="parenleft" g2="U" k="20" />
-<hkern g1="parenleft" g2="d" k="56" />
-<hkern g1="parenleft" g2="s" k="46" />
-<hkern g1="parenleft" g2="N" k="23" />
-<hkern g1="parenleft" g2="w" k="52" />
-<hkern g1="parenleft" g2="C,G,O,Q" k="49" />
-<hkern g1="parenleft" g2="l" k="17" />
-<hkern g1="parenleft" g2="a" k="51" />
-<hkern g1="bracketleft" g2="y" k="16" />
-<hkern g1="bracketleft" g2="f" k="26" />
-<hkern g1="bracketleft" g2="z" k="31" />
-<hkern g1="bracketleft" g2="t" k="28" />
-<hkern g1="bracketleft" g2="Z" k="4" />
-<hkern g1="bracketleft" g2="i,j" k="8" />
-<hkern g1="bracketleft" g2="m,n,p,r" k="34" />
-<hkern g1="bracketleft" g2="S" k="19" />
-<hkern g1="bracketleft" g2="b,h,k" k="6" />
-<hkern g1="bracketleft" g2="L" k="7" />
-<hkern g1="bracketleft" g2="u" k="35" />
-<hkern g1="bracketleft" g2="A" k="21" />
-<hkern g1="bracketleft" g2="E" k="24" />
-<hkern g1="bracketleft" g2="c,e,o" k="37" />
-<hkern g1="bracketleft" g2="B,D,H,I,K,P,R" k="6" />
-<hkern g1="bracketleft" g2="U" k="7" />
-<hkern g1="bracketleft" g2="d" k="37" />
-<hkern g1="bracketleft" g2="s" k="34" />
-<hkern g1="bracketleft" g2="N" k="15" />
-<hkern g1="bracketleft" g2="w" k="29" />
-<hkern g1="bracketleft" g2="C,G,O,Q" k="29" />
-<hkern g1="bracketleft" g2="l" k="6" />
-<hkern g1="bracketleft" g2="a" k="36" />
-<hkern g1="backslash" g2="quoteright,quotedblright" k="76" />
-<hkern g1="backslash" g2="quotedbl,quotesingle" k="72" />
-<hkern g1="backslash" g2="y" k="49" />
-<hkern g1="backslash" g2="T" k="72" />
-<hkern g1="backslash" g2="Y" k="72" />
-<hkern g1="backslash" g2="f" k="23" />
-<hkern g1="backslash" g2="t" k="35" />
-<hkern g1="backslash" g2="W" k="45" />
-<hkern g1="backslash" g2="L" k="16" />
-<hkern g1="backslash" g2="u" k="13" />
-<hkern g1="backslash" g2="E" k="15" />
-<hkern g1="backslash" g2="c,e,o" k="18" />
-<hkern g1="backslash" g2="U" k="27" />
-<hkern g1="backslash" g2="d" k="19" />
-<hkern g1="backslash" g2="w" k="42" />
-<hkern g1="backslash" g2="C,G,O,Q" k="27" />
-<hkern g1="backslash" g2="l" k="14" />
-<hkern g1="backslash" g2="a" k="7" />
-<hkern g1="quoteleft,quotedblleft" g2="J" k="33" />
-<hkern g1="quoteleft,quotedblleft" g2="A" k="40" />
-<hkern g1="quoteleft,quotedblleft" g2="c,e,o" k="24" />
-<hkern g1="quoteleft,quotedblleft" g2="d" k="28" />
-<hkern g1="quoteleft,quotedblleft" g2="s" k="9" />
-<hkern g1="quoteleft,quotedblleft" g2="a" k="2" />
-<hkern g1="quoteleft,quotedblleft" g2="comma,period,ellipsis" k="108" />
-<hkern g1="quoteleft,quotedblleft" g2="q" k="23" />
-<hkern g1="quoteleft,quotedblleft" g2="g" k="17" />
-<hkern g1="slash" g2="y" k="9" />
-<hkern g1="slash" g2="f" k="8" />
-<hkern g1="slash" g2="z" k="23" />
-<hkern g1="slash" g2="t" k="8" />
-<hkern g1="slash" g2="m,n,p,r" k="30" />
-<hkern g1="slash" g2="u" k="29" />
-<hkern g1="slash" g2="A" k="56" />
-<hkern g1="slash" g2="c,e,o" k="42" />
-<hkern g1="slash" g2="d" k="41" />
-<hkern g1="slash" g2="s" k="29" />
-<hkern g1="slash" g2="w" k="10" />
-<hkern g1="slash" g2="C,G,O,Q" k="13" />
-<hkern g1="slash" g2="a" k="34" />
-<hkern g1="slash" g2="g" k="41" />
-<hkern g1="quotedbl,quotesingle" g2="J" k="34" />
-<hkern g1="quotedbl,quotesingle" g2="A" k="37" />
-<hkern g1="quotedbl,quotesingle" g2="c,e,o" k="18" />
-<hkern g1="quotedbl,quotesingle" g2="d" k="19" />
-<hkern g1="quotedbl,quotesingle" g2="hyphen,endash,emdash" k="61" />
-<hkern g1="quotedbl,quotesingle" g2="comma,period,ellipsis" k="104" />
-<hkern g1="quotedbl,quotesingle" g2="q" k="17" />
-<hkern g1="quotedbl,quotesingle" g2="g" k="12" />
-<hkern g1="quotedbl,quotesingle" g2="space" k="13" />
-<hkern g1="quotedbl,quotesingle" g2="four" k="20" />
-<hkern g1="quotedbl,quotesingle" g2="slash" k="72" />
-<hkern g1="ampersand" g2="quoteright,quotedblright" k="42" />
-<hkern g1="ampersand" g2="quotedbl,quotesingle" k="35" />
-<hkern g1="ampersand" g2="T" k="60" />
-<hkern g1="ampersand" g2="Y" k="40" />
-<hkern g1="ampersand" g2="t" k="3" />
-<hkern g1="ampersand" g2="W" k="5" />
-<hkern g1="at" g2="T" k="26" />
-<hkern g1="at" g2="Y" k="19" />
-<hkern g1="asterisk" g2="T" k="2" />
-<hkern g1="asterisk" g2="m,n,p,r" k="3" />
-<hkern g1="asterisk" g2="u" k="3" />
-<hkern g1="asterisk" g2="A" k="35" />
-<hkern g1="asterisk" g2="c,e,o" k="17" />
-<hkern g1="asterisk" g2="d" k="17" />
-<hkern g1="asterisk" g2="s" k="2" />
-<hkern g1="asterisk" g2="a" k="13" />
-<hkern g1="asterisk" g2="g" k="13" />
-<hkern g1="comma,period" g2="quoteright,quotedblright" k="106" />
-<hkern g1="comma,period" g2="quotedbl,quotesingle" k="104" />
-<hkern g1="comma,period" g2="y" k="32" />
-<hkern g1="comma,period" g2="T" k="57" />
-<hkern g1="comma,period" g2="v" k="32" />
-<hkern g1="comma,period" g2="Y" k="59" />
-<hkern g1="comma,period" g2="f" k="11" />
-<hkern g1="comma,period" g2="V" k="46" />
-<hkern g1="comma,period" g2="t" k="14" />
-<hkern g1="comma,period" g2="W" k="27" />
-<hkern g1="comma,period" g2="U" k="8" />
-<hkern g1="comma,period" g2="w" k="22" />
-<hkern g1="comma,period" g2="C,G,O,Q" k="3" />
-<hkern g1="comma,period" g2="seven" k="36" />
-<hkern g1="comma,period" g2="one" k="43" />
-<hkern g1="comma,period" g2="four" k="9" />
-<hkern g1="comma,period" g2="quoteleft,quotedblleft" k="108" />
-<hkern g1="four" g2="quotedbl,quotesingle" k="4" />
-<hkern g1="four" g2="T" k="11" />
-<hkern g1="four" g2="Y" k="8" />
-<hkern g1="four" g2="W" k="3" />
-<hkern g1="four" g2="Z" k="3" />
-<hkern g1="four" g2="S" k="3" />
-<hkern g1="quoteright,quotedblright" g2="J" k="34" />
-<hkern g1="quoteright,quotedblright" g2="m,n,p,r" k="6" />
-<hkern g1="quoteright,quotedblright" g2="A" k="43" />
-<hkern g1="quoteright,quotedblright" g2="c,e,o" k="28" />
-<hkern g1="quoteright,quotedblright" g2="d" k="30" />
-<hkern g1="quoteright,quotedblright" g2="s" k="13" />
-<hkern g1="quoteright,quotedblright" g2="a" k="8" />
-<hkern g1="quoteright,quotedblright" g2="hyphen,endash,emdash" k="74" />
-<hkern g1="quoteright,quotedblright" g2="comma,period,ellipsis" k="106" />
-<hkern g1="quoteright,quotedblright" g2="q" k="27" />
-<hkern g1="quoteright,quotedblright" g2="g" k="21" />
-<hkern g1="quoteright,quotedblright" g2="space" k="14" />
-<hkern g1="quoteright,quotedblright" g2="slash" k="77" />
-<hkern g1="quoteright,quotedblright" g2="colon,semicolon" k="6" />
-</font>
-</defs></svg> \ No newline at end of file
diff --git a/fonts/exo2-regular.ttf b/fonts/exo2-regular.ttf
deleted file mode 100644
index 4e12a55..0000000
--- a/fonts/exo2-regular.ttf
+++ /dev/null
Binary files differ
diff --git a/fonts/exo2-regular.woff b/fonts/exo2-regular.woff
deleted file mode 100644
index fcfe329..0000000
--- a/fonts/exo2-regular.woff
+++ /dev/null
Binary files differ
diff --git a/fonts/opensans-italic.eot b/fonts/opensans-italic.eot
deleted file mode 100644
index a425ee3..0000000
--- a/fonts/opensans-italic.eot
+++ /dev/null
Binary files differ
diff --git a/fonts/opensans-italic.svg b/fonts/opensans-italic.svg
deleted file mode 100644
index a979726..0000000
--- a/fonts/opensans-italic.svg
+++ /dev/null
@@ -1,550 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="open_sansitalic" horiz-adv-x="1128" >
-<font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="532" />
-<glyph horiz-adv-x="2048" />
-<glyph horiz-adv-x="2048" />
-<glyph unicode="&#xd;" horiz-adv-x="1044" />
-<glyph unicode=" " horiz-adv-x="532" />
-<glyph unicode="&#x09;" horiz-adv-x="532" />
-<glyph unicode="&#xa0;" horiz-adv-x="532" />
-<glyph unicode="!" horiz-adv-x="530" d="M555 1462l-274 -1059h-109q49 307 176 1059h207zM43 78q0 76 39.5 120t107.5 44q45 0 73 -27.5t28 -81.5q0 -68 -39 -115t-105 -47q-49 0 -76.5 28t-27.5 79z" />
-<glyph unicode="&#x22;" horiz-adv-x="791" d="M485 1462l-153 -528h-107l72 528h188zM834 1462l-154 -528h-107l72 528h189z" />
-<glyph unicode="#" horiz-adv-x="1323" d="M1036 899l-98 -340h285l-13 -129h-309l-125 -430h-139l129 430h-303l-127 -430h-133l121 430h-261l13 129h284l101 340h-277l13 127h301l123 436h139l-125 -436h305l127 436h133l-125 -436h264l-12 -127h-291zM500 559h303l96 340h-303z" />
-<glyph unicode="$" d="M942 492q0 -162 -112.5 -263t-309.5 -123l-49 -225h-133l49 223q-195 14 -315 72v154q82 -41 175.5 -63.5t166.5 -22.5l98 452q-139 49 -201.5 123.5t-62.5 188.5q0 159 108 255t299 113l39 176h133l-39 -178q159 -12 283 -76l-63 -135q-121 63 -248 72l-94 -440 q149 -55 212.5 -125t63.5 -178zM549 250q107 13 170 75t63 154q0 54 -33 96t-114 74zM627 1235q-108 -11 -167 -69t-59 -156q0 -53 34.5 -97.5t107.5 -70.5z" />
-<glyph unicode="%" horiz-adv-x="1624" d="M1468 1462l-1085 -1462h-152l1086 1462h151zM1284 772q-67 0 -119.5 -64.5t-84 -188.5t-31.5 -240q0 -173 106 -173q65 0 117 65t86.5 198.5t34.5 236.5q0 166 -109 166zM1532 621q0 -107 -31.5 -236t-82 -217.5t-121 -138t-156.5 -49.5q-110 0 -171 74.5t-61 219.5 q0 166 50.5 318.5t136.5 228.5t200 76q116 0 176 -71.5t60 -204.5zM543 1358q-66 0 -119 -63t-85 -187.5t-32 -243.5q0 -172 107 -172q52 0 94 39.5t73.5 114t50.5 175t19 171.5q0 166 -108 166zM791 1206q0 -108 -32 -237.5t-82.5 -217.5t-120.5 -137t-157 -49 q-109 0 -170 75t-61 220q0 166 50.5 318.5t136.5 228.5t200 76q116 0 176 -72t60 -205z" />
-<glyph unicode="&#x26;" horiz-adv-x="1372" d="M737 1348q-105 0 -163 -60t-58 -170q0 -120 82 -235q139 71 191 110t83 85t31 104q0 77 -42.5 121.5t-123.5 44.5zM471 119q87 0 168 33t195 124l-306 433q-128 -67 -184 -116t-85.5 -107.5t-29.5 -131.5q0 -106 66.5 -170.5t175.5 -64.5zM66 342q0 148 90 257.5 t303 211.5q-103 165 -103 309q0 164 106 264.5t281 100.5q149 0 236.5 -79t87.5 -212q0 -78 -32.5 -137t-87.5 -108t-127.5 -90t-153.5 -83l278 -389q127 110 199 295h168q-101 -236 -283 -412l203 -270h-201l-117 166q-120 -100 -230 -143t-247 -43q-168 0 -269 96 t-101 266z" />
-<glyph unicode="'" horiz-adv-x="444" d="M485 1462l-153 -528h-107l72 528h188z" />
-<glyph unicode="(" horiz-adv-x="584" d="M82 272q0 339 120 627t384 563h157q-246 -270 -371.5 -570t-125.5 -618q0 -339 114 -598h-131q-147 266 -147 596z" />
-<glyph unicode=")" horiz-adv-x="584" d="M500 864q0 -341 -121.5 -629.5t-382.5 -558.5h-156q496 551 496 1188q0 341 -113 598h131q146 -269 146 -598z" />
-<glyph unicode="*" horiz-adv-x="1130" d="M854 1528l-123 -383l422 18l-8 -157l-393 47l180 -383l-166 -52l-113 406l-258 -344l-116 121l309 284l-373 109l55 154l371 -185l41 400z" />
-<glyph unicode="+" d="M516 651h-389v142h389v391h141v-391h390v-142h-390v-387h-141v387z" />
-<glyph unicode="," horiz-adv-x="492" d="M291 238l8 -23q-113 -235 -270 -479h-129q126 286 204 502h187z" />
-<glyph unicode="-" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" />
-<glyph unicode="." horiz-adv-x="518" d="M43 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77z" />
-<glyph unicode="/" horiz-adv-x="717" d="M893 1462l-813 -1462h-174l813 1462h174z" />
-<glyph unicode="0" d="M1092 1014q0 -295 -78.5 -539t-214 -369.5t-314.5 -125.5q-176 0 -270 127.5t-94 369.5q0 270 82 514.5t216.5 369t307.5 124.5q365 0 365 -471zM717 1341q-113 0 -209 -115.5t-155.5 -323t-59.5 -423.5q0 -172 50 -264t161 -92q115 0 209 114t150.5 328t56.5 453 q0 323 -203 323z" />
-<glyph unicode="1" d="M588 0h-172l196 913q59 261 88 359q-50 -53 -139 -111l-178 -110l-80 127l449 284h149z" />
-<glyph unicode="2" d="M911 0h-899l31 147l465 420q102 93 176.5 163.5t123 133t72 124t23.5 136.5q0 99 -60 157t-163 58q-77 0 -150.5 -28.5t-162.5 -96.5l-82 115q191 154 413 154q176 0 278.5 -88.5t102.5 -243.5q0 -111 -39.5 -204t-131 -197t-294.5 -281l-352 -307v-8h678z" />
-<glyph unicode="3" d="M1073 1159q0 -156 -101 -264.5t-280 -140.5v-9q124 -23 195 -106.5t71 -208.5q0 -133 -62 -234.5t-181 -158.5t-283 -57q-210 0 -385 79v164q94 -49 199 -75.5t190 -26.5q162 0 252 79.5t90 217.5q0 131 -79 198.5t-220 67.5h-131l31 143h139q165 0 274 87t109 227 q0 92 -58 146t-157 54q-80 0 -157 -27t-175 -93l-80 118q195 144 424 144q179 0 277 -87t98 -237z" />
-<glyph unicode="4" d="M1067 334h-233l-72 -334h-164l74 334h-656l29 158l834 978h196l-207 -983h232zM705 487q46 220 78 373t116 445h-8q-17 -29 -66.5 -96.5t-72.5 -96.5l-533 -625h486z" />
-<glyph unicode="5" d="M598 893q182 0 289.5 -104.5t107.5 -282.5q0 -161 -73 -283t-204 -182.5t-308 -60.5q-193 0 -330 79v164q164 -102 334 -102q191 0 298 96t107 268q0 126 -73.5 199.5t-204.5 73.5q-48 0 -97 -6.5t-139 -30.5l-74 57l197 684h668l-33 -153h-522l-127 -439q87 23 184 23z " />
-<glyph unicode="6" d="M133 424q0 209 60.5 415t163.5 351.5t246 219t327 73.5q111 0 184 -23l-35 -145q-68 22 -170 22q-212 0 -356.5 -149t-212.5 -443h8q59 79 146.5 126t193.5 47q154 0 244 -98.5t90 -270.5q0 -161 -66.5 -294.5t-180.5 -204t-261 -70.5q-182 0 -281.5 115t-99.5 329z M532 121q94 0 167.5 54t114 149t40.5 208q0 248 -221 248q-66 0 -128 -28.5t-110 -76t-72 -104.5t-24 -155q0 -137 60.5 -216t172.5 -79z" />
-<glyph unicode="7" d="M174 0l768 1313h-719l31 149h891l-27 -139l-764 -1323h-180z" />
-<glyph unicode="8" d="M741 1485q174 0 271.5 -86.5t97.5 -235.5q0 -129 -78 -225t-266 -176q127 -78 180 -165t53 -202q0 -122 -60 -217.5t-172.5 -146.5t-264.5 -51q-190 0 -298 98.5t-108 267.5q0 148 95 256t296 184q-95 69 -135.5 144.5t-40.5 171.5q0 111 54.5 198.5t153.5 136t222 48.5z M608 700q-185 -60 -261.5 -143.5t-76.5 -202.5q0 -107 69 -170t181 -63q139 0 222 74t83 196q0 99 -52 174t-165 135zM729 1341q-114 0 -182 -65.5t-68 -175.5q0 -82 39 -144t127 -116q161 60 228 131.5t67 173.5q0 90 -57.5 143t-153.5 53z" />
-<glyph unicode="9" d="M1067 1034q0 -194 -56 -406.5t-147.5 -360t-221.5 -217.5t-302 -70q-136 0 -242 34v158q134 -47 246 -47q202 0 327 141t189 441h-10q-51 -75 -132.5 -118.5t-180.5 -43.5q-169 0 -261 98.5t-92 288.5q0 153 64.5 280.5t180 199t259.5 71.5q180 0 279.5 -114.5 t99.5 -334.5zM682 1341q-150 0 -241 -113t-91 -290q0 -124 54.5 -190t162.5 -66q76 0 140 28.5t108.5 81.5t65 114t20.5 151q0 131 -59 207.5t-160 76.5z" />
-<glyph unicode=":" horiz-adv-x="518" d="M43 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77zM203 956q0 77 40 122.5t111 45.5q97 0 97 -104q0 -73 -41.5 -119.5t-106.5 -46.5q-46 0 -73 26.5t-27 75.5z" />
-<glyph unicode=";" horiz-adv-x="518" d="M291 238l8 -23q-113 -235 -270 -479h-129q126 286 204 502h187zM203 956q0 77 40 122.5t111 45.5q97 0 97 -104q0 -73 -41.5 -119.5t-106.5 -46.5q-46 0 -73 26.5t-27 75.5z" />
-<glyph unicode="&#x3c;" d="M1040 242l-919 422v98l919 479v-149l-747 -371l747 -328v-151z" />
-<glyph unicode="=" d="M127 858v139h920v-139h-920zM127 444v142h920v-142h-920z" />
-<glyph unicode="&#x3e;" d="M121 393l745 328l-745 371v149l919 -479v-98l-919 -422v151z" />
-<glyph unicode="?" horiz-adv-x="874" d="M260 403q22 130 72.5 213.5t165.5 174.5q128 100 168 144t63 94t23 112q0 93 -51.5 143.5t-147.5 50.5q-81 0 -155 -25.5t-140 -56.5l-61 129q92 51 192 76t182 25q167 0 259 -84t92 -238q0 -123 -65.5 -226.5t-225.5 -223.5q-125 -91 -169 -147.5t-67 -160.5h-135z M158 74q0 77 40 122.5t111 45.5q44 0 70.5 -26t26.5 -79q0 -73 -41.5 -119.5t-106.5 -46.5q-46 0 -73 26t-27 77z" />
-<glyph unicode="@" horiz-adv-x="1735" d="M1679 852q0 -179 -55 -324t-155 -227t-222 -82q-197 0 -213 184h-8q-111 -184 -291 -184q-115 0 -180.5 75.5t-65.5 209.5q0 157 68 284t188.5 199t260.5 72q65 0 127.5 -12t150.5 -48q-64 -242 -98 -368t-31 -172q0 -117 102 -117q78 0 141.5 67t100.5 183.5t37 243.5 q0 239 -128 367t-370 128q-228 0 -406.5 -107t-277 -295.5t-98.5 -416.5q0 -270 143.5 -418.5t409.5 -148.5q197 0 420 86v-127q-219 -90 -443 -90q-314 0 -494.5 184.5t-180.5 505.5q0 261 126.5 485.5t343.5 347.5t486 123q191 0 329 -75.5t210.5 -213.5t72.5 -319z M985 938q-94 0 -174 -55t-126 -153t-46 -212q0 -93 33 -134.5t98 -41.5q187 0 272 315l70 258q-63 23 -127 23z" />
-<glyph unicode="A" horiz-adv-x="1137" d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394z" />
-<glyph unicode="B" horiz-adv-x="1225" d="M770 1462q432 0 432 -336q0 -141 -87 -238t-245 -126v-10q115 -32 176.5 -110.5t61.5 -188.5q0 -212 -152 -332.5t-407 -120.5h-463l309 1462h375zM434 836h248q156 0 249 73t93 199q0 104 -66.5 155.5t-209.5 51.5h-211zM287 145h266q181 0 278 80.5t97 227.5 q0 116 -74.5 177.5t-214.5 61.5h-236z" />
-<glyph unicode="C" horiz-adv-x="1198" d="M942 1331q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69z" />
-<glyph unicode="D" horiz-adv-x="1364" d="M1300 877q0 -261 -105 -461t-300 -308t-457 -108h-352l309 1462h342q276 0 419.5 -149.5t143.5 -435.5zM449 147q202 0 355 91.5t234.5 258.5t81.5 382t-103 325.5t-302 110.5h-178l-250 -1168h162z" />
-<glyph unicode="E" horiz-adv-x="1047" d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565z" />
-<glyph unicode="F" horiz-adv-x="967" d="M258 0h-172l309 1462h735l-30 -153h-568l-110 -533h528l-32 -153h-529z" />
-<glyph unicode="G" horiz-adv-x="1386" d="M821 766h459l-154 -711q-216 -75 -419 -75q-264 0 -410.5 144.5t-146.5 403.5q0 269 101.5 489.5t281.5 343t399 122.5q117 0 219.5 -20t206.5 -64l-66 -152q-77 34 -165.5 59t-194.5 25q-169 0 -307.5 -101.5t-215.5 -283.5t-77 -407q0 -190 102.5 -299t286.5 -109 q154 0 260 39l96 444h-289z" />
-<glyph unicode="H" horiz-adv-x="1389" d="M1085 0h-167l143 688h-660l-145 -688h-170l309 1462h170l-131 -622h660l133 622h168z" />
-<glyph unicode="I" horiz-adv-x="559" d="M86 0l311 1462h168l-311 -1462h-168z" />
-<glyph unicode="J" horiz-adv-x="547" d="M-166 -385q-105 0 -153 25l6 147q69 -20 145 -20q100 0 165.5 62.5t90.5 182.5l307 1450h170l-309 -1468q-79 -379 -422 -379z" />
-<glyph unicode="K" horiz-adv-x="1141" d="M1034 0h-186q-72 181 -146.5 359.5t-146.5 361.5l-174 -131l-125 -590h-170l309 1462h170l-151 -710l700 710h209l-639 -637z" />
-<glyph unicode="L" horiz-adv-x="971" d="M86 0l309 1462h170l-276 -1308h565l-33 -154h-735z" />
-<glyph unicode="M" horiz-adv-x="1714" d="M676 0l-166 1296h-8q-7 -72 -28.5 -197.5t-37.5 -199.5l-190 -899h-162l309 1462h244l149 -1204h9l659 1204h266l-303 -1462h-174q126 590 193 905.5t94 392.5h-6l-717 -1298h-131z" />
-<glyph unicode="N" horiz-adv-x="1438" d="M1139 0h-181l-460 1223h-6q-32 -221 -74 -418l-172 -805h-162l309 1462h180l459 -1220h6q30 224 72 405l174 815h164z" />
-<glyph unicode="O" horiz-adv-x="1475" d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 q0 199 -94 310.5t-261 111.5z" />
-<glyph unicode="P" horiz-adv-x="1159" d="M1159 1085q0 -248 -164 -379t-481 -131h-135l-123 -575h-170l309 1462h330q214 0 324 -94.5t110 -282.5zM410 721h133q216 0 328 91t112 267q0 125 -69.5 180.5t-213.5 55.5h-163z" />
-<glyph unicode="Q" horiz-adv-x="1475" d="M874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q158 0 279 100t187.5 280.5t66.5 399.5q0 199 -94 310.5t-261 111.5zM725 -18l-17 -2h-16q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424 q0 -333 -139 -576t-375 -321l274 -358h-219z" />
-<glyph unicode="R" horiz-adv-x="1165" d="M385 608l-129 -608h-170l309 1462h320q446 0 446 -366q0 -348 -368 -449l239 -647h-186l-209 608h-252zM532 1313q-102 -494 -116 -559h168q193 0 297 85t104 244q0 121 -67.5 175.5t-219.5 54.5h-166z" />
-<glyph unicode="S" horiz-adv-x="1028" d="M913 424q0 -211 -140.5 -327.5t-395.5 -116.5q-106 0 -186.5 14.5t-151.5 48.5v170q162 -84 340 -84q162 0 257 75.5t95 207.5q0 78 -52.5 137.5t-195.5 140.5q-151 85 -209.5 170t-58.5 201q0 187 132 304.5t347 117.5q99 0 184.5 -19t180.5 -65l-66 -150 q-66 38 -148 60t-151 22q-134 0 -215.5 -69.5t-81.5 -188.5q0 -54 17 -92.5t54 -72.5t142 -95q147 -88 198.5 -138t78 -110.5t26.5 -140.5z" />
-<glyph unicode="T" horiz-adv-x="1020" d="M487 0h-172l277 1311h-406l33 151h985l-30 -151h-408z" />
-<glyph unicode="U" horiz-adv-x="1384" d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170z" />
-<glyph unicode="V" horiz-adv-x="1122" d="M479 197q61 144 162 338l479 927h191l-781 -1462h-180l-162 1462h170l97 -930q20 -196 20 -335h4z" />
-<glyph unicode="W" horiz-adv-x="1745" d="M1257 0h-170l-49 965q-8 136 -8 282h-6q-25 -72 -61 -154.5t-504 -1092.5h-174l-62 1462h170l31 -901l2 -88q0 -98 -10 -258h6q89 243 156 383l405 864h178l43 -860q9 -153 9 -304l-1 -83h9q75 224 131 354l387 893h182z" />
-<glyph unicode="X" horiz-adv-x="1063" d="M956 0h-180l-213 641l-481 -641h-186l596 776l-263 686h172l203 -563l443 563h186l-555 -694z" />
-<glyph unicode="Y" horiz-adv-x="1030" d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170z" />
-<glyph unicode="Z" horiz-adv-x="1087" d="M885 0h-901l28 137l924 1170h-655l32 155h858l-26 -139l-924 -1169h697z" />
-<glyph unicode="[" horiz-adv-x="586" d="M371 -324h-387l381 1786h387l-31 -141h-227l-318 -1503h227z" />
-<glyph unicode="\" horiz-adv-x="717" d="M375 1462l217 -1462h-154l-217 1462h154z" />
-<glyph unicode="]" horiz-adv-x="586" d="M-119 -182h225l320 1503h-227l30 141h389l-380 -1786h-388z" />
-<glyph unicode="^" horiz-adv-x="1059" d="M53 553l598 920h109l266 -920h-145l-201 747l-467 -747h-160z" />
-<glyph unicode="_" horiz-adv-x="807" d="M623 -324h-811l30 140h811z" />
-<glyph unicode="`" horiz-adv-x="1135" d="M903 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" />
-<glyph unicode="a" horiz-adv-x="1157" d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 q0 -114 47 -170.5t132 -56.5z" />
-<glyph unicode="b" horiz-adv-x="1182" d="M545 -20q-97 0 -170.5 51t-110.5 139h-10l-70 -170h-125l330 1556h168q-51 -242 -78.5 -370.5t-75.5 -300.5h9q93 118 183.5 173.5t186.5 55.5q141 0 220 -99t79 -272q0 -209 -68.5 -386.5t-191 -277t-276.5 -99.5zM731 975q-96 0 -195.5 -95t-158 -239t-58.5 -295 q0 -110 55.5 -168.5t160.5 -58.5q99 0 184.5 81t137.5 230.5t52 317.5q0 227 -178 227z" />
-<glyph unicode="c" horiz-adv-x="922" d="M506 -20q-194 0 -301 107t-107 302q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63z" />
-<glyph unicode="d" horiz-adv-x="1182" d="M639 1114q194 0 281 -190h10q17 155 45 274l78 358h166l-330 -1556h-139l22 209h-8q-101 -125 -189 -177t-182 -52q-139 0 -217 98t-78 272q0 214 72 392t194.5 275t274.5 97zM449 119q94 0 194 93.5t158.5 239t58.5 296.5q0 111 -54 169t-157 58q-101 0 -187.5 -82.5 t-139 -232t-52.5 -314.5q0 -227 179 -227z" />
-<glyph unicode="e" horiz-adv-x="1010" d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35z" />
-<glyph unicode="f" horiz-adv-x="641" d="M-104 -492q-69 0 -125 21v141q64 -22 112 -22q76 0 117 62t66 177l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h238l-25 -127h-237l-232 -1098 q-39 -189 -120 -276t-213 -87z" />
-<glyph unicode="g" horiz-adv-x="1026" d="M1100 1096l-25 -107l-211 -24q41 -62 41 -158q0 -191 -116.5 -304.5t-311.5 -113.5q-55 0 -84 8q-139 -53 -139 -131q0 -41 33 -54.5t96 -21.5l117 -14q181 -22 262.5 -88t81.5 -194q0 -184 -146 -285t-411 -101q-194 0 -304 73.5t-110 207.5q0 105 72 182t233 131 q-78 41 -78 121q0 69 51 118.5t142 92.5q-63 32 -103 94.5t-40 145.5q0 194 119.5 318t305.5 124q78 0 154 -20h371zM35 -195q0 -77 65 -122t193 -45q182 0 284.5 63.5t102.5 179.5q0 62 -54 98t-184 50l-159 16q-120 -25 -184 -88t-64 -152zM313 680q0 -85 45 -129.5 t125 -44.5q79 0 138 42t90.5 115.5t31.5 159.5q0 82 -44 125t-126 43q-78 0 -136.5 -40.5t-91 -113t-32.5 -157.5z" />
-<glyph unicode="h" horiz-adv-x="1182" d="M729 0l148 692q18 94 18 135q0 148 -147 148q-89 0 -173.5 -59t-149 -171.5t-97.5 -271.5l-101 -473h-168l330 1556h168q-18 -82 -34.5 -159t-34 -156.5t-38 -166.5t-47.5 -189h11q94 123 185.5 176t191.5 53q131 0 202.5 -72t71.5 -204q0 -62 -23 -166 q-39 -193 -145 -672h-168z" />
-<glyph unicode="i" horiz-adv-x="520" d="M227 0h-168l234 1096h168zM340 1376q0 56 32 91.5t83 35.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-40 0 -66 24.5t-26 69.5z" />
-<glyph unicode="j" horiz-adv-x="520" d="M-135 -492q-69 0 -123 21v141q61 -22 119 -22q125 0 168 205l264 1243h166l-266 -1258q-36 -171 -114.5 -250.5t-213.5 -79.5zM340 1376q0 56 32 91.5t83 35.5q86 0 86 -90q0 -55 -33.5 -93t-77.5 -38q-38 0 -64 24.5t-26 69.5z" />
-<glyph unicode="k" horiz-adv-x="999" d="M330 559l526 537h201l-469 -467l295 -629h-187l-235 524l-152 -123l-82 -401h-170l330 1556h170l-129 -602t-102 -395h4z" />
-<glyph unicode="l" horiz-adv-x="520" d="M225 0h-168l332 1556h168z" />
-<glyph unicode="m" horiz-adv-x="1786" d="M696 0l148 692q18 94 18 135q0 70 -31 109t-106 39q-84 0 -163.5 -60t-140 -171.5t-93.5 -268.5l-101 -475h-168l234 1096h139l-22 -203h10q87 119 173.5 171t178.5 52q113 0 174 -65t72 -181h8q86 125 183 185.5t196 60.5q127 0 196.5 -68t69.5 -198q0 -68 -22 -178 l-144 -672h-170l148 692q20 104 20 146q0 62 -34.5 99.5t-108.5 37.5q-81 0 -160 -58t-138.5 -164.5t-90.5 -252.5l-107 -500h-168z" />
-<glyph unicode="n" horiz-adv-x="1182" d="M729 0l148 692q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-143 -672h-170z" />
-<glyph unicode="o" horiz-adv-x="1149" d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 q104 0 187 73t129.5 207.5t46.5 307.5z" />
-<glyph unicode="p" horiz-adv-x="1182" d="M545 -20q-97 0 -170 50t-113 140h-10l-4 -38q-3 -25 -10.5 -70t-114.5 -554h-166l336 1588h139l-26 -209h8q179 227 372 227q137 0 216 -97.5t79 -273.5q0 -212 -69 -389t-191 -275.5t-276 -98.5zM731 975q-96 0 -195.5 -95t-158 -239t-58.5 -295q0 -110 55.5 -168.5 t160.5 -58.5q99 0 184.5 81t137.5 230.5t52 317.5q0 227 -178 227z" />
-<glyph unicode="q" horiz-adv-x="1182" d="M641 1116q94 0 165.5 -50.5t108.5 -141.5h13l67 172h125l-336 -1588h-166l101 480q9 45 57 221h-8q-95 -121 -185 -175t-186 -54q-140 0 -219.5 97.5t-79.5 272.5q0 212 72.5 392t196 277t274.5 97zM449 119q92 0 190 92t158.5 237t60.5 300q0 105 -54.5 166t-152.5 61 q-101 0 -189 -84.5t-140 -233t-52 -311.5q0 -227 179 -227z" />
-<glyph unicode="r" horiz-adv-x="811" d="M752 1116q69 0 120 -14l-36 -150q-53 13 -105 13q-91 0 -170.5 -60t-139 -166.5t-87.5 -236.5l-107 -502h-168l234 1096h139l-22 -203h10q72 95 119 136.5t98.5 64t114.5 22.5z" />
-<glyph unicode="s" horiz-adv-x="877" d="M735 311q0 -156 -110.5 -243.5t-311.5 -87.5q-169 0 -305 69v158q70 -42 151 -65t150 -23q126 0 190 50t64 128q0 57 -35 96t-151 107q-130 73 -184 143t-54 166q0 138 101 222.5t266 84.5q171 0 330 -74l-54 -137l-56 25q-101 43 -220 43q-93 0 -146 -43.5t-53 -112.5 q0 -56 35.5 -96t146.5 -103q107 -60 153.5 -103t69.5 -92.5t23 -111.5z" />
-<glyph unicode="t" horiz-adv-x="664" d="M395 117q55 0 144 26v-129q-34 -14 -84 -24t-80 -10q-125 0 -191.5 59.5t-66.5 177.5q0 66 18 150l127 602h-172l14 73l185 78l125 228h98l-55 -252h274l-26 -127h-273l-129 -604q-18 -87 -18 -132q0 -56 29 -86t81 -30z" />
-<glyph unicode="u" horiz-adv-x="1182" d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170z" />
-<glyph unicode="v" horiz-adv-x="946" d="M223 0l-125 1096h168l64 -613q24 -258 24 -362h6q127 275 179 371l325 604h178l-591 -1096h-228z" />
-<glyph unicode="w" horiz-adv-x="1468" d="M831 0l-32 602q-4 94 -4 172v156h-9l-50 -118l-83 -189l-291 -623h-202l-43 1096h164l18 -594v-88q0 -147 -8 -269h6q47 124 137 322l295 629h182l37 -594q6 -168 6 -262v-53l-2 -42h6q28 86 83 218.5t323 732.5h178l-506 -1096h-205z" />
-<glyph unicode="x" horiz-adv-x="979" d="M467 434l-346 -434h-195l475 565l-239 531h170l174 -412l330 412h194l-455 -539l252 -557h-168z" />
-<glyph unicode="y" horiz-adv-x="946" d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136z" />
-<glyph unicode="z" horiz-adv-x="909" d="M690 0h-719l23 117l694 854h-479l27 125h657l-29 -140l-680 -831h531z" />
-<glyph unicode="{" horiz-adv-x="715" d="M442 -324q-141 0 -216.5 52.5t-75.5 171.5q0 52 20 141q33 146 51.5 227.5t14.5 102.5q0 143 -209 143l32 143q118 0 189.5 43.5t93.5 147.5l68 326q34 160 117.5 224t254.5 64h33l-31 -141q-105 0 -151 -36.5t-66 -123.5l-71 -321q-28 -123 -91 -184t-167 -78v-5 q151 -41 151 -213q0 -59 -18 -131l-47 -211q-15 -58 -15 -98q0 -53 36.5 -77.5t119.5 -24.5v-142h-23z" />
-<glyph unicode="|" d="M541 1556h139v-2052h-139v2052z" />
-<glyph unicode="}" horiz-adv-x="715" d="M285 1462q144 0 220.5 -52.5t76.5 -170.5q0 -48 -21 -141l-49 -219q-16 -68 -16 -111q0 -143 209 -143l-33 -144q-119 0 -190 -43t-93 -147l-67 -326q-36 -164 -119 -226.5t-264 -62.5h-13v142q115 0 167 36t71 123l72 322q25 117 88 179.5t170 80.5v6q-150 42 -150 211 q0 59 18 131l50 213q14 65 14 99q0 53 -40.5 77.5t-139.5 24.5l28 141h11z" />
-<glyph unicode="~" d="M348 713q-54 0 -118.5 -34.5t-114.5 -86.5v151q98 109 243 109q69 0 127 -14.5t144 -51.5q64 -27 112.5 -41t98.5 -14q55 0 119.5 33t115.5 88v-150q-100 -110 -244 -110q-72 0 -135 16.5t-135 48.5q-75 32 -120 44t-93 12z" />
-<glyph unicode="&#xa2;" d="M582 -20h-125l43 215q-132 34 -203.5 137.5t-71.5 257.5q0 185 63.5 344t178.5 258.5t260 120.5l35 170h123l-37 -168q119 -9 217 -49l-47 -142q-109 52 -219 52q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -125 66 -198t184 -73q72 0 136 20t126 48v-143 q-123 -62 -286 -66z" />
-<glyph unicode="&#xa3;" d="M842 1481q184 0 336 -86l-66 -133q-146 79 -278 79q-213 0 -263 -237l-69 -326h370l-26 -127h-371l-47 -219q-22 -98 -66 -166.5t-124 -111.5h725l-33 -154h-953l27 141q205 46 258 289l47 221h-200l26 127h201l76 350q75 353 430 353z" />
-<glyph unicode="&#xa5;" d="M582 715l491 747h187l-533 -770h231l-28 -133h-297l-33 -160h297l-29 -133h-295l-57 -266h-154l56 266h-291l29 133h290l33 160h-291l29 133h225l-202 770h163z" />
-<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M928 1059q-125 0 -191.5 -87t-66.5 -241q0 -169 65 -249.5t193 -80.5q82 0 211 43v-122q-66 -28 -113 -38t-104 -10q-192 0 -297 119.5t-105 339.5q0 208 110 330.5t300 122.5q130 0 248 -60l-60 -120q-106 53 -190 53zM139 731q0 200 100 375t275 276t377 101 q197 0 370 -97t277 -272t104 -383q0 -204 -100.5 -376.5t-273 -273.5t-377.5 -101q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM244 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5q0 174 -87 323t-235.5 236.5t-324.5 87.5 q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5z" />
-<glyph unicode="&#xad;" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" />
-<glyph unicode="&#xae;" horiz-adv-x="1704" d="M139 731q0 200 100 375t275 276t377 101q197 0 370 -97t277 -272t104 -383q0 -204 -100.5 -376.5t-273 -273.5t-377.5 -101q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM244 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5 q0 174 -87 323t-235.5 236.5t-324.5 87.5q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5zM1194 915q0 -78 -47.5 -141t-132.5 -98l227 -385h-149l-207 352h-113v-352h-127v880h229q163 0 241.5 -63t78.5 -193zM772 762h92q195 0 195 149q0 76 -47.5 107t-149.5 31h-90v-287z " />
-<glyph unicode="&#xb4;" horiz-adv-x="1135" d="M532 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#x2000;" horiz-adv-x="784" />
-<glyph unicode="&#x2001;" horiz-adv-x="1569" />
-<glyph unicode="&#x2002;" horiz-adv-x="784" />
-<glyph unicode="&#x2003;" horiz-adv-x="1569" />
-<glyph unicode="&#x2004;" horiz-adv-x="523" />
-<glyph unicode="&#x2005;" horiz-adv-x="392" />
-<glyph unicode="&#x2006;" horiz-adv-x="261" />
-<glyph unicode="&#x2007;" horiz-adv-x="261" />
-<glyph unicode="&#x2008;" horiz-adv-x="196" />
-<glyph unicode="&#x2009;" horiz-adv-x="313" />
-<glyph unicode="&#x200a;" horiz-adv-x="87" />
-<glyph unicode="&#x2010;" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" />
-<glyph unicode="&#x2011;" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" />
-<glyph unicode="&#x2012;" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" />
-<glyph unicode="&#x2013;" horiz-adv-x="983" d="M55 469l35 160h823l-34 -160h-824z" />
-<glyph unicode="&#x2014;" horiz-adv-x="1966" d="M55 469l35 160h1806l-34 -160h-1807z" />
-<glyph unicode="&#x2018;" horiz-adv-x="348" d="M129 961l-6 22q98 211 270 479h127q-147 -345 -203 -501h-188z" />
-<glyph unicode="&#x2019;" horiz-adv-x="348" d="M516 1462l8 -22q-40 -91 -111 -218.5t-159 -260.5h-129q134 298 203 501h188z" />
-<glyph unicode="&#x201c;" horiz-adv-x="719" d="M500 961l-8 22q80 181 272 479h127q-162 -379 -203 -501h-188zM129 961l-6 22q98 211 270 479h127q-147 -345 -203 -501h-188z" />
-<glyph unicode="&#x201d;" horiz-adv-x="719" d="M516 1462l8 -22q-40 -91 -111 -218.5t-159 -260.5h-129q134 298 203 501h188zM885 1462l10 -22q-94 -206 -274 -479h-127q57 126 115.5 272.5t86.5 228.5h189z" />
-<glyph unicode="&#x2022;" horiz-adv-x="774" d="M199 684q0 145 73.5 231t198.5 86q92 0 139 -49t47 -141q0 -141 -74 -230t-202 -89q-89 0 -135.5 49.5t-46.5 142.5z" />
-<glyph unicode="&#x2026;" horiz-adv-x="1563" d="M43 0zM563 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77zM1085 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77zM43 74q0 77 40.5 122.5 t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77z" />
-<glyph unicode="&#x202f;" horiz-adv-x="313" />
-<glyph unicode="&#x205f;" horiz-adv-x="392" />
-<glyph unicode="&#x20ac;" d="M928 1329q-140 0 -254 -99t-189 -298h426l-26 -133h-441q-21 -65 -32 -164h381l-29 -131h-361q0 -373 297 -373q123 0 256 55v-147q-127 -59 -278 -59q-212 0 -328.5 133.5t-116.5 378.5v12h-170l27 131h154q8 80 30 164h-151l27 133h159q97 267 259.5 408t369.5 141 q89 0 160 -21.5t141 -70.5l-80 -138q-113 78 -231 78z" />
-<glyph unicode="&#x2122;" horiz-adv-x="1534" d="M438 741h-121v617h-196v104h516v-104h-199v-617zM1014 741l-189 551h-6q4 -52 4 -121v-430h-118v721h180l182 -557l193 557h170v-721h-121v430q0 73 4 121h-6l-197 -551h-96z" />
-<glyph unicode="&#xe000;" horiz-adv-x="1095" d="M0 1095h1095v-1095h-1095v1095z" />
-<glyph horiz-adv-x="1182" d="M0 0z" />
-<hkern u1="&#x22;" u2="u" k="61" />
-<hkern u1="&#x22;" u2="s" k="61" />
-<hkern u1="&#x22;" u2="r" k="61" />
-<hkern u1="&#x22;" u2="q" k="123" />
-<hkern u1="&#x22;" u2="p" k="61" />
-<hkern u1="&#x22;" u2="o" k="123" />
-<hkern u1="&#x22;" u2="n" k="61" />
-<hkern u1="&#x22;" u2="m" k="61" />
-<hkern u1="&#x22;" u2="g" k="61" />
-<hkern u1="&#x22;" u2="e" k="123" />
-<hkern u1="&#x22;" u2="d" k="123" />
-<hkern u1="&#x22;" u2="c" k="123" />
-<hkern u1="&#x22;" u2="a" k="82" />
-<hkern u1="&#x22;" u2="Y" k="-20" />
-<hkern u1="&#x22;" u2="W" k="-41" />
-<hkern u1="&#x22;" u2="V" k="-41" />
-<hkern u1="&#x22;" u2="T" k="-41" />
-<hkern u1="&#x22;" u2="A" k="143" />
-<hkern u1="&#x27;" u2="u" k="61" />
-<hkern u1="&#x27;" u2="s" k="61" />
-<hkern u1="&#x27;" u2="r" k="61" />
-<hkern u1="&#x27;" u2="q" k="123" />
-<hkern u1="&#x27;" u2="p" k="61" />
-<hkern u1="&#x27;" u2="o" k="123" />
-<hkern u1="&#x27;" u2="n" k="61" />
-<hkern u1="&#x27;" u2="m" k="61" />
-<hkern u1="&#x27;" u2="g" k="61" />
-<hkern u1="&#x27;" u2="e" k="123" />
-<hkern u1="&#x27;" u2="d" k="123" />
-<hkern u1="&#x27;" u2="c" k="123" />
-<hkern u1="&#x27;" u2="a" k="82" />
-<hkern u1="&#x27;" u2="Y" k="-20" />
-<hkern u1="&#x27;" u2="W" k="-41" />
-<hkern u1="&#x27;" u2="V" k="-41" />
-<hkern u1="&#x27;" u2="T" k="-41" />
-<hkern u1="&#x27;" u2="A" k="143" />
-<hkern u1="&#x28;" u2="J" k="-184" />
-<hkern u1="&#x2c;" u2="Y" k="123" />
-<hkern u1="&#x2c;" u2="W" k="123" />
-<hkern u1="&#x2c;" u2="V" k="123" />
-<hkern u1="&#x2c;" u2="U" k="41" />
-<hkern u1="&#x2c;" u2="T" k="143" />
-<hkern u1="&#x2c;" u2="Q" k="102" />
-<hkern u1="&#x2c;" u2="O" k="102" />
-<hkern u1="&#x2c;" u2="G" k="102" />
-<hkern u1="&#x2c;" u2="C" k="102" />
-<hkern u1="&#x2d;" u2="T" k="82" />
-<hkern u1="&#x2e;" u2="Y" k="123" />
-<hkern u1="&#x2e;" u2="W" k="123" />
-<hkern u1="&#x2e;" u2="V" k="123" />
-<hkern u1="&#x2e;" u2="U" k="41" />
-<hkern u1="&#x2e;" u2="T" k="143" />
-<hkern u1="&#x2e;" u2="Q" k="102" />
-<hkern u1="&#x2e;" u2="O" k="102" />
-<hkern u1="&#x2e;" u2="G" k="102" />
-<hkern u1="&#x2e;" u2="C" k="102" />
-<hkern u1="A" u2="&#x201d;" k="143" />
-<hkern u1="A" u2="&#x2019;" k="143" />
-<hkern u1="A" u2="Y" k="123" />
-<hkern u1="A" u2="W" k="82" />
-<hkern u1="A" u2="V" k="82" />
-<hkern u1="A" u2="T" k="143" />
-<hkern u1="A" u2="Q" k="41" />
-<hkern u1="A" u2="O" k="41" />
-<hkern u1="A" u2="J" k="-266" />
-<hkern u1="A" u2="G" k="41" />
-<hkern u1="A" u2="C" k="41" />
-<hkern u1="A" u2="&#x27;" k="143" />
-<hkern u1="A" u2="&#x22;" k="143" />
-<hkern u1="B" u2="Z" k="20" />
-<hkern u1="B" u2="Y" k="20" />
-<hkern u1="B" u2="X" k="41" />
-<hkern u1="B" u2="W" k="20" />
-<hkern u1="B" u2="V" k="20" />
-<hkern u1="B" u2="T" k="61" />
-<hkern u1="B" u2="A" k="41" />
-<hkern u1="B" u2="&#x2e;" k="82" />
-<hkern u1="B" u2="&#x2c;" k="82" />
-<hkern u1="C" u2="Q" k="41" />
-<hkern u1="C" u2="O" k="41" />
-<hkern u1="C" u2="G" k="41" />
-<hkern u1="C" u2="C" k="41" />
-<hkern u1="D" u2="Z" k="20" />
-<hkern u1="D" u2="Y" k="20" />
-<hkern u1="D" u2="X" k="41" />
-<hkern u1="D" u2="W" k="20" />
-<hkern u1="D" u2="V" k="20" />
-<hkern u1="D" u2="T" k="61" />
-<hkern u1="D" u2="A" k="41" />
-<hkern u1="D" u2="&#x2e;" k="82" />
-<hkern u1="D" u2="&#x2c;" k="82" />
-<hkern u1="E" u2="J" k="-123" />
-<hkern u1="F" u2="A" k="41" />
-<hkern u1="F" u2="&#x3f;" k="-41" />
-<hkern u1="F" u2="&#x2e;" k="123" />
-<hkern u1="F" u2="&#x2c;" k="123" />
-<hkern u1="K" u2="Q" k="41" />
-<hkern u1="K" u2="O" k="41" />
-<hkern u1="K" u2="G" k="41" />
-<hkern u1="K" u2="C" k="41" />
-<hkern u1="L" u2="&#x201d;" k="164" />
-<hkern u1="L" u2="&#x2019;" k="164" />
-<hkern u1="L" u2="Y" k="61" />
-<hkern u1="L" u2="W" k="41" />
-<hkern u1="L" u2="V" k="41" />
-<hkern u1="L" u2="U" k="20" />
-<hkern u1="L" u2="T" k="41" />
-<hkern u1="L" u2="Q" k="41" />
-<hkern u1="L" u2="O" k="41" />
-<hkern u1="L" u2="G" k="41" />
-<hkern u1="L" u2="C" k="41" />
-<hkern u1="L" u2="&#x27;" k="164" />
-<hkern u1="L" u2="&#x22;" k="164" />
-<hkern u1="O" u2="Z" k="20" />
-<hkern u1="O" u2="Y" k="20" />
-<hkern u1="O" u2="X" k="41" />
-<hkern u1="O" u2="W" k="20" />
-<hkern u1="O" u2="V" k="20" />
-<hkern u1="O" u2="T" k="61" />
-<hkern u1="O" u2="A" k="41" />
-<hkern u1="O" u2="&#x2e;" k="82" />
-<hkern u1="O" u2="&#x2c;" k="82" />
-<hkern u1="P" u2="Z" k="20" />
-<hkern u1="P" u2="X" k="41" />
-<hkern u1="P" u2="A" k="102" />
-<hkern u1="P" u2="&#x2e;" k="266" />
-<hkern u1="P" u2="&#x2c;" k="266" />
-<hkern u1="Q" u2="Z" k="20" />
-<hkern u1="Q" u2="Y" k="20" />
-<hkern u1="Q" u2="X" k="41" />
-<hkern u1="Q" u2="W" k="20" />
-<hkern u1="Q" u2="V" k="20" />
-<hkern u1="Q" u2="T" k="61" />
-<hkern u1="Q" u2="A" k="41" />
-<hkern u1="Q" u2="&#x2e;" k="82" />
-<hkern u1="Q" u2="&#x2c;" k="82" />
-<hkern u1="T" u2="&#x2014;" k="82" />
-<hkern u1="T" u2="&#x2013;" k="82" />
-<hkern u1="T" u2="z" k="82" />
-<hkern u1="T" u2="y" k="41" />
-<hkern u1="T" u2="x" k="41" />
-<hkern u1="T" u2="w" k="41" />
-<hkern u1="T" u2="v" k="41" />
-<hkern u1="T" u2="u" k="102" />
-<hkern u1="T" u2="s" k="123" />
-<hkern u1="T" u2="r" k="102" />
-<hkern u1="T" u2="q" k="143" />
-<hkern u1="T" u2="p" k="102" />
-<hkern u1="T" u2="o" k="143" />
-<hkern u1="T" u2="n" k="102" />
-<hkern u1="T" u2="m" k="102" />
-<hkern u1="T" u2="g" k="143" />
-<hkern u1="T" u2="e" k="143" />
-<hkern u1="T" u2="d" k="143" />
-<hkern u1="T" u2="c" k="143" />
-<hkern u1="T" u2="a" k="164" />
-<hkern u1="T" u2="T" k="-41" />
-<hkern u1="T" u2="Q" k="41" />
-<hkern u1="T" u2="O" k="41" />
-<hkern u1="T" u2="G" k="41" />
-<hkern u1="T" u2="C" k="41" />
-<hkern u1="T" u2="A" k="143" />
-<hkern u1="T" u2="&#x3f;" k="-41" />
-<hkern u1="T" u2="&#x2e;" k="123" />
-<hkern u1="T" u2="&#x2d;" k="82" />
-<hkern u1="T" u2="&#x2c;" k="123" />
-<hkern u1="U" u2="A" k="20" />
-<hkern u1="U" u2="&#x2e;" k="41" />
-<hkern u1="U" u2="&#x2c;" k="41" />
-<hkern u1="V" u2="u" k="20" />
-<hkern u1="V" u2="s" k="20" />
-<hkern u1="V" u2="r" k="20" />
-<hkern u1="V" u2="q" k="41" />
-<hkern u1="V" u2="p" k="20" />
-<hkern u1="V" u2="o" k="41" />
-<hkern u1="V" u2="n" k="20" />
-<hkern u1="V" u2="m" k="20" />
-<hkern u1="V" u2="g" k="20" />
-<hkern u1="V" u2="e" k="41" />
-<hkern u1="V" u2="d" k="41" />
-<hkern u1="V" u2="c" k="41" />
-<hkern u1="V" u2="a" k="41" />
-<hkern u1="V" u2="Q" k="20" />
-<hkern u1="V" u2="O" k="20" />
-<hkern u1="V" u2="G" k="20" />
-<hkern u1="V" u2="C" k="20" />
-<hkern u1="V" u2="A" k="82" />
-<hkern u1="V" u2="&#x3f;" k="-41" />
-<hkern u1="V" u2="&#x2e;" k="102" />
-<hkern u1="V" u2="&#x2c;" k="102" />
-<hkern u1="W" u2="u" k="20" />
-<hkern u1="W" u2="s" k="20" />
-<hkern u1="W" u2="r" k="20" />
-<hkern u1="W" u2="q" k="41" />
-<hkern u1="W" u2="p" k="20" />
-<hkern u1="W" u2="o" k="41" />
-<hkern u1="W" u2="n" k="20" />
-<hkern u1="W" u2="m" k="20" />
-<hkern u1="W" u2="g" k="20" />
-<hkern u1="W" u2="e" k="41" />
-<hkern u1="W" u2="d" k="41" />
-<hkern u1="W" u2="c" k="41" />
-<hkern u1="W" u2="a" k="41" />
-<hkern u1="W" u2="Q" k="20" />
-<hkern u1="W" u2="O" k="20" />
-<hkern u1="W" u2="G" k="20" />
-<hkern u1="W" u2="C" k="20" />
-<hkern u1="W" u2="A" k="82" />
-<hkern u1="W" u2="&#x3f;" k="-41" />
-<hkern u1="W" u2="&#x2e;" k="102" />
-<hkern u1="W" u2="&#x2c;" k="102" />
-<hkern u1="X" u2="Q" k="41" />
-<hkern u1="X" u2="O" k="41" />
-<hkern u1="X" u2="G" k="41" />
-<hkern u1="X" u2="C" k="41" />
-<hkern u1="Y" u2="z" k="41" />
-<hkern u1="Y" u2="u" k="61" />
-<hkern u1="Y" u2="s" k="82" />
-<hkern u1="Y" u2="r" k="61" />
-<hkern u1="Y" u2="q" k="102" />
-<hkern u1="Y" u2="p" k="61" />
-<hkern u1="Y" u2="o" k="102" />
-<hkern u1="Y" u2="n" k="61" />
-<hkern u1="Y" u2="m" k="61" />
-<hkern u1="Y" u2="g" k="41" />
-<hkern u1="Y" u2="e" k="102" />
-<hkern u1="Y" u2="d" k="102" />
-<hkern u1="Y" u2="c" k="102" />
-<hkern u1="Y" u2="a" k="102" />
-<hkern u1="Y" u2="Q" k="41" />
-<hkern u1="Y" u2="O" k="41" />
-<hkern u1="Y" u2="G" k="41" />
-<hkern u1="Y" u2="C" k="41" />
-<hkern u1="Y" u2="A" k="123" />
-<hkern u1="Y" u2="&#x3f;" k="-41" />
-<hkern u1="Y" u2="&#x2e;" k="123" />
-<hkern u1="Y" u2="&#x2c;" k="123" />
-<hkern u1="Z" u2="Q" k="20" />
-<hkern u1="Z" u2="O" k="20" />
-<hkern u1="Z" u2="G" k="20" />
-<hkern u1="Z" u2="C" k="20" />
-<hkern u1="[" u2="J" k="-184" />
-<hkern u1="a" u2="&#x201d;" k="20" />
-<hkern u1="a" u2="&#x2019;" k="20" />
-<hkern u1="a" u2="&#x27;" k="20" />
-<hkern u1="a" u2="&#x22;" k="20" />
-<hkern u1="b" u2="&#x201d;" k="20" />
-<hkern u1="b" u2="&#x2019;" k="20" />
-<hkern u1="b" u2="z" k="20" />
-<hkern u1="b" u2="y" k="41" />
-<hkern u1="b" u2="x" k="41" />
-<hkern u1="b" u2="w" k="41" />
-<hkern u1="b" u2="v" k="41" />
-<hkern u1="b" u2="&#x27;" k="20" />
-<hkern u1="b" u2="&#x22;" k="20" />
-<hkern u1="c" u2="&#x201d;" k="-41" />
-<hkern u1="c" u2="&#x2019;" k="-41" />
-<hkern u1="c" u2="&#x27;" k="-41" />
-<hkern u1="c" u2="&#x22;" k="-41" />
-<hkern u1="e" u2="&#x201d;" k="20" />
-<hkern u1="e" u2="&#x2019;" k="20" />
-<hkern u1="e" u2="z" k="20" />
-<hkern u1="e" u2="y" k="41" />
-<hkern u1="e" u2="x" k="41" />
-<hkern u1="e" u2="w" k="41" />
-<hkern u1="e" u2="v" k="41" />
-<hkern u1="e" u2="&#x27;" k="20" />
-<hkern u1="e" u2="&#x22;" k="20" />
-<hkern u1="f" u2="&#x201d;" k="-123" />
-<hkern u1="f" u2="&#x2019;" k="-123" />
-<hkern u1="f" u2="&#x27;" k="-123" />
-<hkern u1="f" u2="&#x22;" k="-123" />
-<hkern u1="h" u2="&#x201d;" k="20" />
-<hkern u1="h" u2="&#x2019;" k="20" />
-<hkern u1="h" u2="&#x27;" k="20" />
-<hkern u1="h" u2="&#x22;" k="20" />
-<hkern u1="k" u2="q" k="41" />
-<hkern u1="k" u2="o" k="41" />
-<hkern u1="k" u2="e" k="41" />
-<hkern u1="k" u2="d" k="41" />
-<hkern u1="k" u2="c" k="41" />
-<hkern u1="m" u2="&#x201d;" k="20" />
-<hkern u1="m" u2="&#x2019;" k="20" />
-<hkern u1="m" u2="&#x27;" k="20" />
-<hkern u1="m" u2="&#x22;" k="20" />
-<hkern u1="n" u2="&#x201d;" k="20" />
-<hkern u1="n" u2="&#x2019;" k="20" />
-<hkern u1="n" u2="&#x27;" k="20" />
-<hkern u1="n" u2="&#x22;" k="20" />
-<hkern u1="o" u2="&#x201d;" k="20" />
-<hkern u1="o" u2="&#x2019;" k="20" />
-<hkern u1="o" u2="z" k="20" />
-<hkern u1="o" u2="y" k="41" />
-<hkern u1="o" u2="x" k="41" />
-<hkern u1="o" u2="w" k="41" />
-<hkern u1="o" u2="v" k="41" />
-<hkern u1="o" u2="&#x27;" k="20" />
-<hkern u1="o" u2="&#x22;" k="20" />
-<hkern u1="p" u2="&#x201d;" k="20" />
-<hkern u1="p" u2="&#x2019;" k="20" />
-<hkern u1="p" u2="z" k="20" />
-<hkern u1="p" u2="y" k="41" />
-<hkern u1="p" u2="x" k="41" />
-<hkern u1="p" u2="w" k="41" />
-<hkern u1="p" u2="v" k="41" />
-<hkern u1="p" u2="&#x27;" k="20" />
-<hkern u1="p" u2="&#x22;" k="20" />
-<hkern u1="r" u2="&#x201d;" k="-82" />
-<hkern u1="r" u2="&#x2019;" k="-82" />
-<hkern u1="r" u2="q" k="41" />
-<hkern u1="r" u2="o" k="41" />
-<hkern u1="r" u2="g" k="20" />
-<hkern u1="r" u2="e" k="41" />
-<hkern u1="r" u2="d" k="41" />
-<hkern u1="r" u2="c" k="41" />
-<hkern u1="r" u2="a" k="41" />
-<hkern u1="r" u2="&#x27;" k="-82" />
-<hkern u1="r" u2="&#x22;" k="-82" />
-<hkern u1="t" u2="&#x201d;" k="-41" />
-<hkern u1="t" u2="&#x2019;" k="-41" />
-<hkern u1="t" u2="&#x27;" k="-41" />
-<hkern u1="t" u2="&#x22;" k="-41" />
-<hkern u1="v" u2="&#x201d;" k="-82" />
-<hkern u1="v" u2="&#x2019;" k="-82" />
-<hkern u1="v" u2="&#x3f;" k="-41" />
-<hkern u1="v" u2="&#x2e;" k="82" />
-<hkern u1="v" u2="&#x2c;" k="82" />
-<hkern u1="v" u2="&#x27;" k="-82" />
-<hkern u1="v" u2="&#x22;" k="-82" />
-<hkern u1="w" u2="&#x201d;" k="-82" />
-<hkern u1="w" u2="&#x2019;" k="-82" />
-<hkern u1="w" u2="&#x3f;" k="-41" />
-<hkern u1="w" u2="&#x2e;" k="82" />
-<hkern u1="w" u2="&#x2c;" k="82" />
-<hkern u1="w" u2="&#x27;" k="-82" />
-<hkern u1="w" u2="&#x22;" k="-82" />
-<hkern u1="x" u2="q" k="41" />
-<hkern u1="x" u2="o" k="41" />
-<hkern u1="x" u2="e" k="41" />
-<hkern u1="x" u2="d" k="41" />
-<hkern u1="x" u2="c" k="41" />
-<hkern u1="y" u2="&#x201d;" k="-82" />
-<hkern u1="y" u2="&#x2019;" k="-82" />
-<hkern u1="y" u2="&#x3f;" k="-41" />
-<hkern u1="y" u2="&#x2e;" k="82" />
-<hkern u1="y" u2="&#x2c;" k="82" />
-<hkern u1="y" u2="&#x27;" k="-82" />
-<hkern u1="y" u2="&#x22;" k="-82" />
-<hkern u1="&#x7b;" u2="J" k="-184" />
-<hkern u1="&#x2013;" u2="T" k="82" />
-<hkern u1="&#x2014;" u2="T" k="82" />
-<hkern u1="&#x2018;" u2="u" k="61" />
-<hkern u1="&#x2018;" u2="s" k="61" />
-<hkern u1="&#x2018;" u2="r" k="61" />
-<hkern u1="&#x2018;" u2="q" k="123" />
-<hkern u1="&#x2018;" u2="p" k="61" />
-<hkern u1="&#x2018;" u2="o" k="123" />
-<hkern u1="&#x2018;" u2="n" k="61" />
-<hkern u1="&#x2018;" u2="m" k="61" />
-<hkern u1="&#x2018;" u2="g" k="61" />
-<hkern u1="&#x2018;" u2="e" k="123" />
-<hkern u1="&#x2018;" u2="d" k="123" />
-<hkern u1="&#x2018;" u2="c" k="123" />
-<hkern u1="&#x2018;" u2="a" k="82" />
-<hkern u1="&#x2018;" u2="Y" k="-20" />
-<hkern u1="&#x2018;" u2="W" k="-41" />
-<hkern u1="&#x2018;" u2="V" k="-41" />
-<hkern u1="&#x2018;" u2="T" k="-41" />
-<hkern u1="&#x2018;" u2="A" k="143" />
-<hkern u1="&#x2019;" u2="u" k="61" />
-<hkern u1="&#x2019;" u2="s" k="61" />
-<hkern u1="&#x2019;" u2="r" k="61" />
-<hkern u1="&#x2019;" u2="q" k="123" />
-<hkern u1="&#x2019;" u2="p" k="61" />
-<hkern u1="&#x2019;" u2="o" k="123" />
-<hkern u1="&#x2019;" u2="n" k="61" />
-<hkern u1="&#x2019;" u2="m" k="61" />
-<hkern u1="&#x2019;" u2="g" k="61" />
-<hkern u1="&#x2019;" u2="e" k="123" />
-<hkern u1="&#x2019;" u2="d" k="123" />
-<hkern u1="&#x2019;" u2="c" k="123" />
-<hkern u1="&#x2019;" u2="a" k="82" />
-<hkern u1="&#x2019;" u2="Y" k="-20" />
-<hkern u1="&#x2019;" u2="W" k="-41" />
-<hkern u1="&#x2019;" u2="V" k="-41" />
-<hkern u1="&#x2019;" u2="T" k="-41" />
-<hkern u1="&#x2019;" u2="A" k="143" />
-<hkern u1="&#x201c;" u2="u" k="61" />
-<hkern u1="&#x201c;" u2="s" k="61" />
-<hkern u1="&#x201c;" u2="r" k="61" />
-<hkern u1="&#x201c;" u2="q" k="123" />
-<hkern u1="&#x201c;" u2="p" k="61" />
-<hkern u1="&#x201c;" u2="o" k="123" />
-<hkern u1="&#x201c;" u2="n" k="61" />
-<hkern u1="&#x201c;" u2="m" k="61" />
-<hkern u1="&#x201c;" u2="g" k="61" />
-<hkern u1="&#x201c;" u2="e" k="123" />
-<hkern u1="&#x201c;" u2="d" k="123" />
-<hkern u1="&#x201c;" u2="c" k="123" />
-<hkern u1="&#x201c;" u2="a" k="82" />
-<hkern u1="&#x201c;" u2="Y" k="-20" />
-<hkern u1="&#x201c;" u2="W" k="-41" />
-<hkern u1="&#x201c;" u2="V" k="-41" />
-<hkern u1="&#x201c;" u2="T" k="-41" />
-<hkern u1="&#x201c;" u2="A" k="143" />
-</font>
-</defs></svg> \ No newline at end of file
diff --git a/fonts/opensans-italic.ttf b/fonts/opensans-italic.ttf
deleted file mode 100644
index a935094..0000000
--- a/fonts/opensans-italic.ttf
+++ /dev/null
Binary files differ
diff --git a/fonts/opensans-italic.woff b/fonts/opensans-italic.woff
deleted file mode 100644
index ef90b2f..0000000
--- a/fonts/opensans-italic.woff
+++ /dev/null
Binary files differ
diff --git a/fonts/opensans-regular.eot b/fonts/opensans-regular.eot
deleted file mode 100644
index b38e314..0000000
--- a/fonts/opensans-regular.eot
+++ /dev/null
Binary files differ
diff --git a/fonts/opensans-regular.svg b/fonts/opensans-regular.svg
deleted file mode 100644
index db43238..0000000
--- a/fonts/opensans-regular.svg
+++ /dev/null
@@ -1,550 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="open_sansregular" horiz-adv-x="1171" >
-<font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="532" />
-<glyph horiz-adv-x="2048" />
-<glyph horiz-adv-x="2048" />
-<glyph unicode="&#xd;" horiz-adv-x="1044" />
-<glyph unicode=" " horiz-adv-x="532" />
-<glyph unicode="&#x09;" horiz-adv-x="532" />
-<glyph unicode="&#xa0;" horiz-adv-x="532" />
-<glyph unicode="!" horiz-adv-x="547" d="M326 403h-105l-51 1059h207zM152 106q0 136 120 136q58 0 89.5 -35t31.5 -101q0 -64 -32 -99.5t-89 -35.5q-52 0 -86 31.5t-34 103.5z" />
-<glyph unicode="&#x22;" horiz-adv-x="821" d="M319 1462l-40 -528h-105l-41 528h186zM688 1462l-41 -528h-104l-41 528h186z" />
-<glyph unicode="#" horiz-adv-x="1323" d="M981 899l-66 -340h283v-129h-307l-84 -430h-137l84 430h-303l-82 -430h-136l80 430h-262v129h287l68 340h-277v127h299l82 436h139l-82 -436h305l84 436h134l-84 -436h264v-127h-289zM475 559h303l66 340h-303z" />
-<glyph unicode="$" d="M1036 449q0 -136 -102 -224.5t-285 -111.5v-232h-129v223q-112 0 -217 17.5t-172 48.5v156q83 -37 191.5 -60.5t197.5 -23.5v440q-205 65 -287.5 151t-82.5 222q0 131 101.5 215t268.5 102v182h129v-180q184 -5 355 -74l-52 -131q-149 59 -303 70v-434q157 -50 235 -97.5 t115 -109t37 -149.5zM866 436q0 72 -44.5 116.5t-172.5 88.5v-389q217 30 217 184zM319 1057q0 -76 45 -122t156 -87v387q-99 -16 -150 -62.5t-51 -115.5z" />
-<glyph unicode="%" horiz-adv-x="1686" d="M242 1026q0 -170 37 -255t120 -85q164 0 164 340q0 338 -164 338q-83 0 -120 -84t-37 -254zM700 1026q0 -228 -76.5 -344.5t-224.5 -116.5q-140 0 -217.5 119t-77.5 342q0 227 74.5 342t220.5 115q145 0 223 -119t78 -338zM1122 440q0 -171 37 -255.5t121 -84.5t124 83.5 t40 256.5q0 171 -40 253.5t-124 82.5t-121 -82.5t-37 -253.5zM1581 440q0 -227 -76.5 -343.5t-224.5 -116.5q-142 0 -218.5 119t-76.5 341q0 227 74.5 342t220.5 115q142 0 221.5 -117.5t79.5 -339.5zM1323 1462l-811 -1462h-147l811 1462h147z" />
-<glyph unicode="&#x26;" horiz-adv-x="1495" d="M414 1171q0 -69 36 -131.5t123 -150.5q129 75 179.5 138.5t50.5 146.5q0 77 -51.5 125.5t-137.5 48.5q-89 0 -144.5 -48t-55.5 -129zM569 129q241 0 400 154l-437 424q-111 -68 -157 -112.5t-68 -95.5t-22 -116q0 -117 77.5 -185.5t206.5 -68.5zM113 379q0 130 69.5 230 t249.5 202q-85 95 -115.5 144t-48.5 102t-18 110q0 150 98 234t273 84q162 0 255 -83.5t93 -232.5q0 -107 -68 -197.5t-225 -183.5l407 -391q56 62 89.5 145.5t56.5 182.5h168q-68 -286 -205 -434l299 -291h-229l-185 178q-118 -106 -240 -152t-272 -46q-215 0 -333.5 106 t-118.5 293z" />
-<glyph unicode="'" horiz-adv-x="453" d="M319 1462l-40 -528h-105l-41 528h186z" />
-<glyph unicode="(" horiz-adv-x="606" d="M82 561q0 265 77.5 496t223.5 405h162q-144 -193 -216.5 -424t-72.5 -475q0 -240 74 -469t213 -418h-160q-147 170 -224 397t-77 488z" />
-<glyph unicode=")" horiz-adv-x="606" d="M524 561q0 -263 -77.5 -490t-223.5 -395h-160q139 188 213 417.5t74 469.5q0 244 -72.5 475t-216.5 424h162q147 -175 224 -406.5t77 -494.5z" />
-<glyph unicode="*" horiz-adv-x="1130" d="M657 1556l-43 -395l398 111l26 -182l-381 -31l248 -326l-172 -94l-176 362l-160 -362l-176 94l242 326l-377 31l29 182l391 -111l-43 395h194z" />
-<glyph unicode="+" d="M653 791h412v-138h-412v-426h-139v426h-410v138h410v428h139v-428z" />
-<glyph unicode="," horiz-adv-x="502" d="M350 238l15 -23q-26 -100 -75 -232.5t-102 -246.5h-125q27 104 59.5 257t45.5 245h182z" />
-<glyph unicode="-" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" />
-<glyph unicode="." horiz-adv-x="545" d="M152 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" />
-<glyph unicode="/" horiz-adv-x="752" d="M731 1462l-545 -1462h-166l545 1462h166z" />
-<glyph unicode="0" d="M1069 733q0 -379 -119.5 -566t-365.5 -187q-236 0 -359 191.5t-123 561.5q0 382 119 567t363 185q238 0 361.5 -193t123.5 -559zM270 733q0 -319 75 -464.5t239 -145.5q166 0 240.5 147.5t74.5 462.5t-74.5 461.5t-240.5 146.5q-164 0 -239 -144.5t-75 -463.5z" />
-<glyph unicode="1" d="M715 0h-162v1042q0 130 8 246q-21 -21 -47 -44t-238 -195l-88 114l387 299h140v-1462z" />
-<glyph unicode="2" d="M1061 0h-961v143l385 387q176 178 232 254t84 148t28 155q0 117 -71 185.5t-197 68.5q-91 0 -172.5 -30t-181.5 -109l-88 113q202 168 440 168q206 0 323 -105.5t117 -283.5q0 -139 -78 -275t-292 -344l-320 -313v-8h752v-154z" />
-<glyph unicode="3" d="M1006 1118q0 -140 -78.5 -229t-222.5 -119v-8q176 -22 261 -112t85 -236q0 -209 -145 -321.5t-412 -112.5q-116 0 -212.5 17.5t-187.5 61.5v158q95 -47 202.5 -71.5t203.5 -24.5q379 0 379 297q0 266 -418 266h-144v143h146q171 0 271 75.5t100 209.5q0 107 -73.5 168 t-199.5 61q-96 0 -181 -26t-194 -96l-84 112q90 71 207.5 111.5t247.5 40.5q213 0 331 -97.5t118 -267.5z" />
-<glyph unicode="4" d="M1130 336h-217v-336h-159v336h-711v145l694 989h176v-983h217v-151zM754 487v486q0 143 10 323h-8q-48 -96 -90 -159l-457 -650h545z" />
-<glyph unicode="5" d="M557 893q231 0 363.5 -114.5t132.5 -313.5q0 -227 -144.5 -356t-398.5 -129q-247 0 -377 79v160q70 -45 174 -70.5t205 -25.5q176 0 273.5 83t97.5 240q0 306 -375 306q-95 0 -254 -29l-86 55l55 684h727v-153h-585l-37 -439q115 23 229 23z" />
-<glyph unicode="6" d="M117 625q0 431 167.5 644.5t495.5 213.5q113 0 178 -19v-143q-77 25 -176 25q-235 0 -359 -146.5t-136 -460.5h12q110 172 348 172q197 0 310.5 -119t113.5 -323q0 -228 -124.5 -358.5t-336.5 -130.5q-227 0 -360 170.5t-133 474.5zM608 121q142 0 220.5 89.5t78.5 258.5 q0 145 -73 228t-218 83q-90 0 -165 -37t-119.5 -102t-44.5 -135q0 -103 40 -192t113.5 -141t167.5 -52z" />
-<glyph unicode="7" d="M285 0l606 1309h-797v153h973v-133l-598 -1329h-184z" />
-<glyph unicode="8" d="M584 1483q200 0 317 -93t117 -257q0 -108 -67 -197t-214 -162q178 -85 253 -178.5t75 -216.5q0 -182 -127 -290.5t-348 -108.5q-234 0 -360 102.5t-126 290.5q0 251 306 391q-138 78 -198 168.5t-60 202.5q0 159 117.5 253.5t314.5 94.5zM268 369q0 -120 83.5 -187 t234.5 -67q149 0 232 70t83 192q0 97 -78 172.5t-272 146.5q-149 -64 -216 -141.5t-67 -185.5zM582 1348q-125 0 -196 -60t-71 -160q0 -92 59 -158t218 -132q143 60 202.5 129t59.5 161q0 101 -72.5 160.5t-199.5 59.5z" />
-<glyph unicode="9" d="M1061 838q0 -858 -664 -858q-116 0 -184 20v143q80 -26 182 -26q240 0 362.5 148.5t133.5 455.5h-12q-55 -83 -146 -126.5t-205 -43.5q-194 0 -308 116t-114 324q0 228 127.5 360t335.5 132q149 0 260.5 -76.5t171.5 -223t60 -345.5zM569 1341q-143 0 -221 -92t-78 -256 q0 -144 72 -226.5t219 -82.5q91 0 167.5 37t120.5 101t44 134q0 105 -41 194t-114.5 140t-168.5 51z" />
-<glyph unicode=":" horiz-adv-x="545" d="M152 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5zM152 989q0 135 118 135q123 0 123 -135q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" />
-<glyph unicode=";" horiz-adv-x="545" d="M350 238l15 -23q-26 -100 -75 -232.5t-102 -246.5h-125q27 104 59.5 257t45.5 245h182zM147 989q0 135 119 135q123 0 123 -135q0 -65 -33 -100t-90 -35q-58 0 -88.5 35t-30.5 100z" />
-<glyph unicode="&#x3c;" d="M1065 242l-961 422v98l961 479v-149l-782 -371l782 -328v-151z" />
-<glyph unicode="=" d="M119 858v137h930v-137h-930zM119 449v137h930v-137h-930z" />
-<glyph unicode="&#x3e;" d="M104 393l783 326l-783 373v149l961 -479v-98l-961 -422v151z" />
-<glyph unicode="?" horiz-adv-x="879" d="M289 403v54q0 117 36 192.5t134 159.5q136 115 171.5 173t35.5 140q0 102 -65.5 157.5t-188.5 55.5q-79 0 -154 -18.5t-172 -67.5l-59 135q189 99 395 99q191 0 297 -94t106 -265q0 -73 -19.5 -128.5t-57.5 -105t-164 -159.5q-101 -86 -133.5 -143t-32.5 -152v-33h-129z M240 106q0 136 120 136q58 0 89.5 -35t31.5 -101q0 -64 -32 -99.5t-89 -35.5q-52 0 -86 31.5t-34 103.5z" />
-<glyph unicode="@" horiz-adv-x="1841" d="M1720 729q0 -142 -44 -260t-124 -183t-184 -65q-86 0 -145 52t-70 133h-8q-40 -87 -114.5 -136t-176.5 -49q-150 0 -234.5 102.5t-84.5 278.5q0 204 118 331.5t310 127.5q68 0 154 -12.5t155 -34.5l-25 -470v-22q0 -178 133 -178q91 0 148 107.5t57 279.5q0 181 -74 317 t-210.5 209.5t-313.5 73.5q-223 0 -388 -92.5t-252 -264t-87 -396.5q0 -305 161 -469t464 -164q210 0 436 86v-133q-192 -84 -436 -84q-363 0 -563.5 199.5t-200.5 557.5q0 260 107 463t305 314.5t454 111.5q215 0 382.5 -90.5t259 -257t91.5 -383.5zM686 598 q0 -254 195 -254q207 0 225 313l14 261q-72 20 -157 20q-130 0 -203.5 -90t-73.5 -250z" />
-<glyph unicode="A" horiz-adv-x="1296" d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473z" />
-<glyph unicode="B" horiz-adv-x="1327" d="M201 1462h413q291 0 421 -87t130 -275q0 -130 -72.5 -214.5t-211.5 -109.5v-10q333 -57 333 -350q0 -196 -132.5 -306t-370.5 -110h-510v1462zM371 836h280q180 0 259 56.5t79 190.5q0 123 -88 177.5t-280 54.5h-250v-479zM371 692v-547h305q177 0 266.5 68.5t89.5 214.5 q0 136 -91.5 200t-278.5 64h-291z" />
-<glyph unicode="C" horiz-adv-x="1292" d="M827 1331q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78z" />
-<glyph unicode="D" horiz-adv-x="1493" d="M1368 745q0 -362 -196.5 -553.5t-565.5 -191.5h-405v1462h448q341 0 530 -189t189 -528zM1188 739q0 286 -143.5 431t-426.5 145h-247v-1168h207q304 0 457 149.5t153 442.5z" />
-<glyph unicode="E" horiz-adv-x="1139" d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152z" />
-<glyph unicode="F" horiz-adv-x="1057" d="M371 0h-170v1462h815v-151h-645v-535h606v-151h-606v-625z" />
-<glyph unicode="G" horiz-adv-x="1491" d="M844 766h497v-711q-116 -37 -236 -56t-278 -19q-332 0 -517 197.5t-185 553.5q0 228 91.5 399.5t263.5 262t403 90.5q234 0 436 -86l-66 -150q-198 84 -381 84q-267 0 -417 -159t-150 -441q0 -296 144.5 -449t424.5 -153q152 0 297 35v450h-327v152z" />
-<glyph unicode="H" horiz-adv-x="1511" d="M1311 0h-170v688h-770v-688h-170v1462h170v-622h770v622h170v-1462z" />
-<glyph unicode="I" horiz-adv-x="571" d="M201 0v1462h170v-1462h-170z" />
-<glyph unicode="J" horiz-adv-x="547" d="M-12 -385q-94 0 -148 27v145q71 -20 148 -20q99 0 150.5 60t51.5 173v1462h170v-1448q0 -190 -96 -294.5t-276 -104.5z" />
-<glyph unicode="K" horiz-adv-x="1257" d="M1257 0h-200l-533 709l-153 -136v-573h-170v1462h170v-725l663 725h201l-588 -635z" />
-<glyph unicode="L" horiz-adv-x="1063" d="M201 0v1462h170v-1308h645v-154h-815z" />
-<glyph unicode="M" horiz-adv-x="1849" d="M848 0l-496 1296h-8q14 -154 14 -366v-930h-157v1462h256l463 -1206h8l467 1206h254v-1462h-170v942q0 162 14 352h-8l-500 -1294h-137z" />
-<glyph unicode="N" horiz-adv-x="1544" d="M1343 0h-194l-799 1227h-8q16 -216 16 -396v-831h-157v1462h192l797 -1222h8q-2 27 -9 173.5t-5 209.5v839h159v-1462z" />
-<glyph unicode="O" horiz-adv-x="1595" d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5z" />
-<glyph unicode="P" horiz-adv-x="1233" d="M1128 1036q0 -222 -151.5 -341.5t-433.5 -119.5h-172v-575h-170v1462h379q548 0 548 -426zM371 721h153q226 0 327 73t101 234q0 145 -95 216t-296 71h-190v-594z" />
-<glyph unicode="Q" horiz-adv-x="1595" d="M1470 733q0 -281 -113 -467t-319 -252l348 -362h-247l-285 330l-55 -2q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5 q-243 0 -369.5 -153.5t-126.5 -446.5z" />
-<glyph unicode="R" horiz-adv-x="1266" d="M371 608v-608h-170v1462h401q269 0 397.5 -103t128.5 -310q0 -290 -294 -392l397 -657h-201l-354 608h-305zM371 754h233q180 0 264 71.5t84 214.5q0 145 -85.5 209t-274.5 64h-221v-559z" />
-<glyph unicode="S" horiz-adv-x="1124" d="M1026 389q0 -193 -140 -301t-380 -108q-260 0 -400 67v164q90 -38 196 -60t210 -22q170 0 256 64.5t86 179.5q0 76 -30.5 124.5t-102 89.5t-217.5 93q-204 73 -291.5 173t-87.5 261q0 169 127 269t336 100q218 0 401 -80l-53 -148q-181 76 -352 76q-135 0 -211 -58 t-76 -161q0 -76 28 -124.5t94.5 -89t203.5 -89.5q230 -82 316.5 -176t86.5 -244z" />
-<glyph unicode="T" horiz-adv-x="1133" d="M651 0h-170v1311h-463v151h1096v-151h-463v-1311z" />
-<glyph unicode="U" horiz-adv-x="1491" d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170z" />
-<glyph unicode="V" horiz-adv-x="1219" d="M1036 1462h183l-527 -1462h-168l-524 1462h180l336 -946q58 -163 92 -317q36 162 94 323z" />
-<glyph unicode="W" horiz-adv-x="1896" d="M1477 0h-168l-295 979q-21 65 -47 164t-27 119q-22 -132 -70 -289l-286 -973h-168l-389 1462h180l231 -903q48 -190 70 -344q27 183 80 358l262 889h180l275 -897q48 -155 81 -350q19 142 72 346l230 901h180z" />
-<glyph unicode="X" horiz-adv-x="1182" d="M1174 0h-193l-393 643l-400 -643h-180l486 764l-453 698h188l363 -579l366 579h181l-453 -692z" />
-<glyph unicode="Y" horiz-adv-x="1147" d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186z" />
-<glyph unicode="Z" horiz-adv-x="1169" d="M1087 0h-1005v133l776 1176h-752v153h959v-133l-776 -1175h798v-154z" />
-<glyph unicode="[" horiz-adv-x="674" d="M623 -324h-457v1786h457v-141h-289v-1503h289v-142z" />
-<glyph unicode="\" horiz-adv-x="752" d="M186 1462l547 -1462h-166l-544 1462h163z" />
-<glyph unicode="]" horiz-adv-x="674" d="M51 -182h289v1503h-289v141h457v-1786h-457v142z" />
-<glyph unicode="^" horiz-adv-x="1110" d="M49 551l434 922h99l477 -922h-152l-372 745l-334 -745h-152z" />
-<glyph unicode="_" horiz-adv-x="918" d="M922 -315h-926v131h926v-131z" />
-<glyph unicode="`" horiz-adv-x="1182" d="M786 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" />
-<glyph unicode="a" horiz-adv-x="1139" d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47z" />
-<glyph unicode="b" horiz-adv-x="1255" d="M686 1114q216 0 335.5 -147.5t119.5 -417.5t-120.5 -419.5t-334.5 -149.5q-107 0 -195.5 39.5t-148.5 121.5h-12l-35 -141h-119v1556h166v-378q0 -127 -8 -228h8q116 164 344 164zM662 975q-170 0 -245 -97.5t-75 -328.5t77 -330.5t247 -99.5q153 0 228 111.5t75 320.5 q0 214 -75 319t-232 105z" />
-<glyph unicode="c" horiz-adv-x="975" d="M614 -20q-238 0 -368.5 146.5t-130.5 414.5q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57z" />
-<glyph unicode="d" horiz-adv-x="1255" d="M922 147h-9q-115 -167 -344 -167q-215 0 -334.5 147t-119.5 418t120 421t334 150q223 0 342 -162h13l-7 79l-4 77v446h166v-1556h-135zM590 119q170 0 246.5 92.5t76.5 298.5v35q0 233 -77.5 332.5t-247.5 99.5q-146 0 -223.5 -113.5t-77.5 -320.5q0 -210 77 -317 t226 -107z" />
-<glyph unicode="e" horiz-adv-x="1149" d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z " />
-<glyph unicode="f" horiz-adv-x="694" d="M670 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129z" />
-<glyph unicode="g" horiz-adv-x="1122" d="M1073 1096v-105l-203 -24q28 -35 50 -91.5t22 -127.5q0 -161 -110 -257t-302 -96q-49 0 -92 8q-106 -56 -106 -141q0 -45 37 -66.5t127 -21.5h194q178 0 273.5 -75t95.5 -218q0 -182 -146 -277.5t-426 -95.5q-215 0 -331.5 80t-116.5 226q0 100 64 173t180 99 q-42 19 -70.5 59t-28.5 93q0 60 32 105t101 87q-85 35 -138.5 119t-53.5 192q0 180 108 277.5t306 97.5q86 0 155 -20h379zM199 -184q0 -89 75 -135t215 -46q209 0 309.5 62.5t100.5 169.5q0 89 -55 123.5t-207 34.5h-199q-113 0 -176 -54t-63 -155zM289 745q0 -115 65 -174 t181 -59q243 0 243 236q0 247 -246 247q-117 0 -180 -63t-63 -187z" />
-<glyph unicode="h" horiz-adv-x="1257" d="M926 0v709q0 134 -61 200t-191 66q-173 0 -252.5 -94t-79.5 -308v-573h-166v1556h166v-471q0 -85 -8 -141h10q49 79 139.5 124.5t206.5 45.5q201 0 301.5 -95.5t100.5 -303.5v-715h-166z" />
-<glyph unicode="i" horiz-adv-x="518" d="M342 0h-166v1096h166v-1096zM162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" />
-<glyph unicode="j" horiz-adv-x="518" d="M43 -492q-95 0 -154 25v135q69 -20 136 -20q78 0 114.5 42.5t36.5 129.5v1276h166v-1264q0 -324 -299 -324zM162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" />
-<glyph unicode="k" horiz-adv-x="1075" d="M340 561q43 61 131 160l354 375h197l-444 -467l475 -629h-201l-387 518l-125 -108v-410h-164v1556h164v-825q0 -55 -8 -170h8z" />
-<glyph unicode="l" horiz-adv-x="518" d="M342 0h-166v1556h166v-1556z" />
-<glyph unicode="m" horiz-adv-x="1905" d="M1573 0v713q0 131 -56 196.5t-174 65.5q-155 0 -229 -89t-74 -274v-612h-166v713q0 131 -56 196.5t-175 65.5q-156 0 -228.5 -93.5t-72.5 -306.5v-575h-166v1096h135l27 -150h8q47 80 132.5 125t191.5 45q257 0 336 -186h8q49 86 142 136t212 50q186 0 278.5 -95.5 t92.5 -305.5v-715h-166z" />
-<glyph unicode="n" horiz-adv-x="1257" d="M926 0v709q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-715h-166z" />
-<glyph unicode="o" horiz-adv-x="1237" d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319z" />
-<glyph unicode="p" horiz-adv-x="1255" d="M686 -20q-107 0 -195.5 39.5t-148.5 121.5h-12q12 -96 12 -182v-451h-166v1588h135l23 -150h8q64 90 149 130t195 40q218 0 336.5 -149t118.5 -418q0 -270 -120.5 -419.5t-334.5 -149.5zM662 975q-168 0 -243 -93t-77 -296v-37q0 -231 77 -330.5t247 -99.5 q142 0 222.5 115t80.5 317q0 205 -80.5 314.5t-226.5 109.5z" />
-<glyph unicode="q" horiz-adv-x="1255" d="M590 119q166 0 242 89t81 300v37q0 230 -78 331t-247 101q-146 0 -223.5 -113.5t-77.5 -320.5t76.5 -315.5t226.5 -108.5zM565 -20q-212 0 -331 149t-119 416q0 269 120 420t334 151q225 0 346 -170h9l24 150h131v-1588h-166v469q0 100 11 170h-13q-115 -167 -346 -167z " />
-<glyph unicode="r" horiz-adv-x="836" d="M676 1116q73 0 131 -12l-23 -154q-68 15 -120 15q-133 0 -227.5 -108t-94.5 -269v-588h-166v1096h137l19 -203h8q61 107 147 165t189 58z" />
-<glyph unicode="s" horiz-adv-x="977" d="M883 299q0 -153 -114 -236t-320 -83q-218 0 -340 69v154q79 -40 169.5 -63t174.5 -23q130 0 200 41.5t70 126.5q0 64 -55.5 109.5t-216.5 107.5q-153 57 -217.5 99.5t-96 96.5t-31.5 129q0 134 109 211.5t299 77.5q177 0 346 -72l-59 -135q-165 68 -299 68 q-118 0 -178 -37t-60 -102q0 -44 22.5 -75t72.5 -59t192 -81q195 -71 263.5 -143t68.5 -181z" />
-<glyph unicode="t" horiz-adv-x="723" d="M530 117q44 0 85 6.5t65 13.5v-127q-27 -13 -79.5 -21.5t-94.5 -8.5q-318 0 -318 335v652h-157v80l157 69l70 234h96v-254h318v-129h-318v-645q0 -99 47 -152t129 -53z" />
-<glyph unicode="u" horiz-adv-x="1257" d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168z" />
-<glyph unicode="v" horiz-adv-x="1026" d="M416 0l-416 1096h178l236 -650q80 -228 94 -296h8q11 53 69.5 219.5t262.5 726.5h178l-416 -1096h-194z" />
-<glyph unicode="w" horiz-adv-x="1593" d="M1071 0l-201 643q-19 59 -71 268h-8q-40 -175 -70 -270l-207 -641h-192l-299 1096h174q106 -413 161.5 -629t63.5 -291h8q11 57 35.5 147.5t42.5 143.5l201 629h180l196 -629q56 -172 76 -289h8q4 36 21.5 111t208.5 807h172l-303 -1096h-197z" />
-<glyph unicode="x" horiz-adv-x="1073" d="M440 561l-381 535h189l289 -420l288 420h187l-381 -535l401 -561h-188l-307 444l-310 -444h-188z" />
-<glyph unicode="y" horiz-adv-x="1032" d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156z" />
-<glyph unicode="z" horiz-adv-x="958" d="M877 0h-795v113l598 854h-561v129h743v-129l-590 -838h605v-129z" />
-<glyph unicode="{" horiz-adv-x="776" d="M475 12q0 -102 58.5 -148t171.5 -48v-140q-190 2 -294 87t-104 239v303q0 104 -63 148.5t-183 44.5v141q130 2 188 48t58 142v306q0 155 108 241t290 86v-139q-230 -6 -230 -199v-295q0 -215 -223 -254v-12q223 -39 223 -254v-297z" />
-<glyph unicode="|" horiz-adv-x="1128" d="M494 1556h141v-2052h-141v2052z" />
-<glyph unicode="}" horiz-adv-x="776" d="M522 575q-223 39 -223 254v295q0 193 -227 199v139q184 0 289.5 -87t105.5 -240v-306q0 -97 59 -142.5t189 -47.5v-141q-122 0 -185 -44.5t-63 -148.5v-303q0 -153 -102.5 -238.5t-292.5 -87.5v140q111 2 169 48t58 148v297q0 114 55 174t168 80v12z" />
-<glyph unicode="~" d="M338 713q-53 0 -116.5 -33.5t-117.5 -87.5v151q100 109 244 109q68 0 124.5 -14t145.5 -52q66 -28 115 -41.5t96 -13.5q54 0 118 32t118 89v-150q-102 -110 -244 -110q-72 0 -135 16.5t-135 48.5q-75 32 -120 44t-93 12z" />
-<glyph unicode="&#xa2;" d="M971 240q-105 -54 -252 -60v-200h-133v206q-203 32 -299.5 168.5t-96.5 386.5q0 508 396 570v172h135v-164q75 -3 146 -19.5t120 -39.5l-49 -140q-133 51 -242 51q-172 0 -253 -105.5t-81 -322.5q0 -212 79.5 -313.5t246.5 -101.5q141 0 283 59v-147z" />
-<glyph unicode="&#xa3;" d="M682 1481q190 0 360 -84l-61 -133q-154 77 -297 77q-123 0 -185.5 -62t-62.5 -202v-295h422v-127h-422v-221q0 -100 -32.5 -168t-106.5 -112h795v-154h-1029v141q205 47 205 291v223h-198v127h198v316q0 178 112 280.5t302 102.5z" />
-<glyph unicode="&#xa5;" d="M584 735l379 727h174l-416 -770h262v-127h-317v-170h317v-127h-317v-268h-164v268h-316v127h316v170h-316v127h256l-411 770h178z" />
-<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M893 1059q-125 0 -192.5 -87t-67.5 -241q0 -168 63.5 -249t194.5 -81q86 0 211 45v-124q-48 -20 -98.5 -34t-120.5 -14q-194 0 -298 120.5t-104 336.5q0 209 110.5 332t301.5 123q128 0 246 -60l-58 -118q-108 51 -188 51zM100 731q0 200 100 375t275 276t377 101 q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM205 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5q0 174 -87 323t-235.5 236.5t-324.5 87.5q-174 0 -323 -87 t-236.5 -235.5t-87.5 -324.5z" />
-<glyph unicode="&#xad;" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" />
-<glyph unicode="&#xae;" horiz-adv-x="1704" d="M723 762h108q80 0 128.5 41.5t48.5 105.5q0 75 -43 107.5t-136 32.5h-106v-287zM1157 913q0 -80 -42.5 -141.5t-119.5 -91.5l238 -395h-168l-207 354h-135v-354h-148v891h261q166 0 243.5 -65t77.5 -198zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275 t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM205 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5q0 174 -87 323t-235.5 236.5t-324.5 87.5q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5z " />
-<glyph unicode="&#xb4;" horiz-adv-x="1182" d="M393 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#x2000;" horiz-adv-x="784" />
-<glyph unicode="&#x2001;" horiz-adv-x="1569" />
-<glyph unicode="&#x2002;" horiz-adv-x="784" />
-<glyph unicode="&#x2003;" horiz-adv-x="1569" />
-<glyph unicode="&#x2004;" horiz-adv-x="523" />
-<glyph unicode="&#x2005;" horiz-adv-x="392" />
-<glyph unicode="&#x2006;" horiz-adv-x="261" />
-<glyph unicode="&#x2007;" horiz-adv-x="261" />
-<glyph unicode="&#x2008;" horiz-adv-x="196" />
-<glyph unicode="&#x2009;" horiz-adv-x="313" />
-<glyph unicode="&#x200a;" horiz-adv-x="87" />
-<glyph unicode="&#x2010;" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" />
-<glyph unicode="&#x2011;" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" />
-<glyph unicode="&#x2012;" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" />
-<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M82 473v152h860v-152h-860z" />
-<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M82 473v152h1884v-152h-1884z" />
-<glyph unicode="&#x2018;" horiz-adv-x="348" d="M37 961l-12 22q22 90 71 224t105 255h123q-66 -254 -103 -501h-184z" />
-<glyph unicode="&#x2019;" horiz-adv-x="348" d="M309 1462l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122q70 285 102 501h182z" />
-<glyph unicode="&#x201c;" horiz-adv-x="717" d="M406 961l-15 22q56 215 178 479h123q-30 -115 -59.5 -259.5t-42.5 -241.5h-184zM37 961l-12 22q22 90 71 224t105 255h123q-66 -254 -103 -501h-184z" />
-<glyph unicode="&#x201d;" horiz-adv-x="717" d="M309 1462l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122q70 285 102 501h182zM678 1462l14 -22q-24 -91 -72 -224t-104 -255h-125q26 100 59 254t46 247h182z" />
-<glyph unicode="&#x2022;" horiz-adv-x="770" d="M164 748q0 121 56.5 184t164.5 63q105 0 163 -62t58 -185q0 -119 -57.5 -183.5t-163.5 -64.5q-107 0 -164 65.5t-57 182.5z" />
-<glyph unicode="&#x2026;" horiz-adv-x="1606" d="M152 0zM152 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5zM682 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5zM1213 106 q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" />
-<glyph unicode="&#x202f;" horiz-adv-x="313" />
-<glyph unicode="&#x205f;" horiz-adv-x="392" />
-<glyph unicode="&#x20ac;" horiz-adv-x="1208" d="M795 1333q-319 0 -398 -403h510v-129h-524l-2 -57v-64l2 -45h463v-129h-447q37 -180 138.5 -278.5t271.5 -98.5q156 0 309 66v-150q-146 -65 -317 -65q-237 0 -381.5 134.5t-190.5 391.5h-166v129h152l-2 42v44l2 80h-152v129h164q39 261 185 407t383 146q201 0 366 -97 l-71 -139q-166 86 -295 86z" />
-<glyph unicode="&#x2122;" horiz-adv-x="1589" d="M369 741h-123v615h-209v106h543v-106h-211v-615zM969 741l-201 559h-8l6 -129v-430h-119v721h187l196 -559l203 559h180v-721h-127v420l6 137h-8l-211 -557h-104z" />
-<glyph unicode="&#xe000;" horiz-adv-x="1095" d="M0 1095h1095v-1095h-1095v1095z" />
-<glyph horiz-adv-x="1255" d="M0 0z" />
-<hkern u1="&#x22;" u2="u" k="61" />
-<hkern u1="&#x22;" u2="s" k="61" />
-<hkern u1="&#x22;" u2="r" k="61" />
-<hkern u1="&#x22;" u2="q" k="123" />
-<hkern u1="&#x22;" u2="p" k="61" />
-<hkern u1="&#x22;" u2="o" k="123" />
-<hkern u1="&#x22;" u2="n" k="61" />
-<hkern u1="&#x22;" u2="m" k="61" />
-<hkern u1="&#x22;" u2="g" k="61" />
-<hkern u1="&#x22;" u2="e" k="123" />
-<hkern u1="&#x22;" u2="d" k="123" />
-<hkern u1="&#x22;" u2="c" k="123" />
-<hkern u1="&#x22;" u2="a" k="82" />
-<hkern u1="&#x22;" u2="Y" k="-20" />
-<hkern u1="&#x22;" u2="W" k="-41" />
-<hkern u1="&#x22;" u2="V" k="-41" />
-<hkern u1="&#x22;" u2="T" k="-41" />
-<hkern u1="&#x22;" u2="A" k="143" />
-<hkern u1="&#x27;" u2="u" k="61" />
-<hkern u1="&#x27;" u2="s" k="61" />
-<hkern u1="&#x27;" u2="r" k="61" />
-<hkern u1="&#x27;" u2="q" k="123" />
-<hkern u1="&#x27;" u2="p" k="61" />
-<hkern u1="&#x27;" u2="o" k="123" />
-<hkern u1="&#x27;" u2="n" k="61" />
-<hkern u1="&#x27;" u2="m" k="61" />
-<hkern u1="&#x27;" u2="g" k="61" />
-<hkern u1="&#x27;" u2="e" k="123" />
-<hkern u1="&#x27;" u2="d" k="123" />
-<hkern u1="&#x27;" u2="c" k="123" />
-<hkern u1="&#x27;" u2="a" k="82" />
-<hkern u1="&#x27;" u2="Y" k="-20" />
-<hkern u1="&#x27;" u2="W" k="-41" />
-<hkern u1="&#x27;" u2="V" k="-41" />
-<hkern u1="&#x27;" u2="T" k="-41" />
-<hkern u1="&#x27;" u2="A" k="143" />
-<hkern u1="&#x28;" u2="J" k="-184" />
-<hkern u1="&#x2c;" u2="Y" k="123" />
-<hkern u1="&#x2c;" u2="W" k="123" />
-<hkern u1="&#x2c;" u2="V" k="123" />
-<hkern u1="&#x2c;" u2="U" k="41" />
-<hkern u1="&#x2c;" u2="T" k="143" />
-<hkern u1="&#x2c;" u2="Q" k="102" />
-<hkern u1="&#x2c;" u2="O" k="102" />
-<hkern u1="&#x2c;" u2="G" k="102" />
-<hkern u1="&#x2c;" u2="C" k="102" />
-<hkern u1="&#x2d;" u2="T" k="82" />
-<hkern u1="&#x2e;" u2="Y" k="123" />
-<hkern u1="&#x2e;" u2="W" k="123" />
-<hkern u1="&#x2e;" u2="V" k="123" />
-<hkern u1="&#x2e;" u2="U" k="41" />
-<hkern u1="&#x2e;" u2="T" k="143" />
-<hkern u1="&#x2e;" u2="Q" k="102" />
-<hkern u1="&#x2e;" u2="O" k="102" />
-<hkern u1="&#x2e;" u2="G" k="102" />
-<hkern u1="&#x2e;" u2="C" k="102" />
-<hkern u1="A" u2="&#x201d;" k="143" />
-<hkern u1="A" u2="&#x2019;" k="143" />
-<hkern u1="A" u2="Y" k="123" />
-<hkern u1="A" u2="W" k="82" />
-<hkern u1="A" u2="V" k="82" />
-<hkern u1="A" u2="T" k="143" />
-<hkern u1="A" u2="Q" k="41" />
-<hkern u1="A" u2="O" k="41" />
-<hkern u1="A" u2="J" k="-266" />
-<hkern u1="A" u2="G" k="41" />
-<hkern u1="A" u2="C" k="41" />
-<hkern u1="A" u2="&#x27;" k="143" />
-<hkern u1="A" u2="&#x22;" k="143" />
-<hkern u1="B" u2="Z" k="20" />
-<hkern u1="B" u2="Y" k="20" />
-<hkern u1="B" u2="X" k="41" />
-<hkern u1="B" u2="W" k="20" />
-<hkern u1="B" u2="V" k="20" />
-<hkern u1="B" u2="T" k="61" />
-<hkern u1="B" u2="A" k="41" />
-<hkern u1="B" u2="&#x2e;" k="82" />
-<hkern u1="B" u2="&#x2c;" k="82" />
-<hkern u1="C" u2="Q" k="41" />
-<hkern u1="C" u2="O" k="41" />
-<hkern u1="C" u2="G" k="41" />
-<hkern u1="C" u2="C" k="41" />
-<hkern u1="D" u2="Z" k="20" />
-<hkern u1="D" u2="Y" k="20" />
-<hkern u1="D" u2="X" k="41" />
-<hkern u1="D" u2="W" k="20" />
-<hkern u1="D" u2="V" k="20" />
-<hkern u1="D" u2="T" k="61" />
-<hkern u1="D" u2="A" k="41" />
-<hkern u1="D" u2="&#x2e;" k="82" />
-<hkern u1="D" u2="&#x2c;" k="82" />
-<hkern u1="E" u2="J" k="-123" />
-<hkern u1="F" u2="A" k="41" />
-<hkern u1="F" u2="&#x3f;" k="-41" />
-<hkern u1="F" u2="&#x2e;" k="123" />
-<hkern u1="F" u2="&#x2c;" k="123" />
-<hkern u1="K" u2="Q" k="41" />
-<hkern u1="K" u2="O" k="41" />
-<hkern u1="K" u2="G" k="41" />
-<hkern u1="K" u2="C" k="41" />
-<hkern u1="L" u2="&#x201d;" k="164" />
-<hkern u1="L" u2="&#x2019;" k="164" />
-<hkern u1="L" u2="Y" k="61" />
-<hkern u1="L" u2="W" k="41" />
-<hkern u1="L" u2="V" k="41" />
-<hkern u1="L" u2="U" k="20" />
-<hkern u1="L" u2="T" k="41" />
-<hkern u1="L" u2="Q" k="41" />
-<hkern u1="L" u2="O" k="41" />
-<hkern u1="L" u2="G" k="41" />
-<hkern u1="L" u2="C" k="41" />
-<hkern u1="L" u2="&#x27;" k="164" />
-<hkern u1="L" u2="&#x22;" k="164" />
-<hkern u1="O" u2="Z" k="20" />
-<hkern u1="O" u2="Y" k="20" />
-<hkern u1="O" u2="X" k="41" />
-<hkern u1="O" u2="W" k="20" />
-<hkern u1="O" u2="V" k="20" />
-<hkern u1="O" u2="T" k="61" />
-<hkern u1="O" u2="A" k="41" />
-<hkern u1="O" u2="&#x2e;" k="82" />
-<hkern u1="O" u2="&#x2c;" k="82" />
-<hkern u1="P" u2="Z" k="20" />
-<hkern u1="P" u2="X" k="41" />
-<hkern u1="P" u2="A" k="102" />
-<hkern u1="P" u2="&#x2e;" k="266" />
-<hkern u1="P" u2="&#x2c;" k="266" />
-<hkern u1="Q" u2="Z" k="20" />
-<hkern u1="Q" u2="Y" k="20" />
-<hkern u1="Q" u2="X" k="41" />
-<hkern u1="Q" u2="W" k="20" />
-<hkern u1="Q" u2="V" k="20" />
-<hkern u1="Q" u2="T" k="61" />
-<hkern u1="Q" u2="A" k="41" />
-<hkern u1="Q" u2="&#x2e;" k="82" />
-<hkern u1="Q" u2="&#x2c;" k="82" />
-<hkern u1="T" u2="&#x2014;" k="82" />
-<hkern u1="T" u2="&#x2013;" k="82" />
-<hkern u1="T" u2="z" k="82" />
-<hkern u1="T" u2="y" k="41" />
-<hkern u1="T" u2="x" k="41" />
-<hkern u1="T" u2="w" k="41" />
-<hkern u1="T" u2="v" k="41" />
-<hkern u1="T" u2="u" k="102" />
-<hkern u1="T" u2="s" k="123" />
-<hkern u1="T" u2="r" k="102" />
-<hkern u1="T" u2="q" k="143" />
-<hkern u1="T" u2="p" k="102" />
-<hkern u1="T" u2="o" k="143" />
-<hkern u1="T" u2="n" k="102" />
-<hkern u1="T" u2="m" k="102" />
-<hkern u1="T" u2="g" k="143" />
-<hkern u1="T" u2="e" k="143" />
-<hkern u1="T" u2="d" k="143" />
-<hkern u1="T" u2="c" k="143" />
-<hkern u1="T" u2="a" k="164" />
-<hkern u1="T" u2="T" k="-41" />
-<hkern u1="T" u2="Q" k="41" />
-<hkern u1="T" u2="O" k="41" />
-<hkern u1="T" u2="G" k="41" />
-<hkern u1="T" u2="C" k="41" />
-<hkern u1="T" u2="A" k="143" />
-<hkern u1="T" u2="&#x3f;" k="-41" />
-<hkern u1="T" u2="&#x2e;" k="123" />
-<hkern u1="T" u2="&#x2d;" k="82" />
-<hkern u1="T" u2="&#x2c;" k="123" />
-<hkern u1="U" u2="A" k="20" />
-<hkern u1="U" u2="&#x2e;" k="41" />
-<hkern u1="U" u2="&#x2c;" k="41" />
-<hkern u1="V" u2="u" k="20" />
-<hkern u1="V" u2="s" k="20" />
-<hkern u1="V" u2="r" k="20" />
-<hkern u1="V" u2="q" k="41" />
-<hkern u1="V" u2="p" k="20" />
-<hkern u1="V" u2="o" k="41" />
-<hkern u1="V" u2="n" k="20" />
-<hkern u1="V" u2="m" k="20" />
-<hkern u1="V" u2="g" k="20" />
-<hkern u1="V" u2="e" k="41" />
-<hkern u1="V" u2="d" k="41" />
-<hkern u1="V" u2="c" k="41" />
-<hkern u1="V" u2="a" k="41" />
-<hkern u1="V" u2="Q" k="20" />
-<hkern u1="V" u2="O" k="20" />
-<hkern u1="V" u2="G" k="20" />
-<hkern u1="V" u2="C" k="20" />
-<hkern u1="V" u2="A" k="82" />
-<hkern u1="V" u2="&#x3f;" k="-41" />
-<hkern u1="V" u2="&#x2e;" k="102" />
-<hkern u1="V" u2="&#x2c;" k="102" />
-<hkern u1="W" u2="u" k="20" />
-<hkern u1="W" u2="s" k="20" />
-<hkern u1="W" u2="r" k="20" />
-<hkern u1="W" u2="q" k="41" />
-<hkern u1="W" u2="p" k="20" />
-<hkern u1="W" u2="o" k="41" />
-<hkern u1="W" u2="n" k="20" />
-<hkern u1="W" u2="m" k="20" />
-<hkern u1="W" u2="g" k="20" />
-<hkern u1="W" u2="e" k="41" />
-<hkern u1="W" u2="d" k="41" />
-<hkern u1="W" u2="c" k="41" />
-<hkern u1="W" u2="a" k="41" />
-<hkern u1="W" u2="Q" k="20" />
-<hkern u1="W" u2="O" k="20" />
-<hkern u1="W" u2="G" k="20" />
-<hkern u1="W" u2="C" k="20" />
-<hkern u1="W" u2="A" k="82" />
-<hkern u1="W" u2="&#x3f;" k="-41" />
-<hkern u1="W" u2="&#x2e;" k="102" />
-<hkern u1="W" u2="&#x2c;" k="102" />
-<hkern u1="X" u2="Q" k="41" />
-<hkern u1="X" u2="O" k="41" />
-<hkern u1="X" u2="G" k="41" />
-<hkern u1="X" u2="C" k="41" />
-<hkern u1="Y" u2="z" k="41" />
-<hkern u1="Y" u2="u" k="61" />
-<hkern u1="Y" u2="s" k="82" />
-<hkern u1="Y" u2="r" k="61" />
-<hkern u1="Y" u2="q" k="102" />
-<hkern u1="Y" u2="p" k="61" />
-<hkern u1="Y" u2="o" k="102" />
-<hkern u1="Y" u2="n" k="61" />
-<hkern u1="Y" u2="m" k="61" />
-<hkern u1="Y" u2="g" k="41" />
-<hkern u1="Y" u2="e" k="102" />
-<hkern u1="Y" u2="d" k="102" />
-<hkern u1="Y" u2="c" k="102" />
-<hkern u1="Y" u2="a" k="102" />
-<hkern u1="Y" u2="Q" k="41" />
-<hkern u1="Y" u2="O" k="41" />
-<hkern u1="Y" u2="G" k="41" />
-<hkern u1="Y" u2="C" k="41" />
-<hkern u1="Y" u2="A" k="123" />
-<hkern u1="Y" u2="&#x3f;" k="-41" />
-<hkern u1="Y" u2="&#x2e;" k="123" />
-<hkern u1="Y" u2="&#x2c;" k="123" />
-<hkern u1="Z" u2="Q" k="20" />
-<hkern u1="Z" u2="O" k="20" />
-<hkern u1="Z" u2="G" k="20" />
-<hkern u1="Z" u2="C" k="20" />
-<hkern u1="[" u2="J" k="-184" />
-<hkern u1="a" u2="&#x201d;" k="20" />
-<hkern u1="a" u2="&#x2019;" k="20" />
-<hkern u1="a" u2="&#x27;" k="20" />
-<hkern u1="a" u2="&#x22;" k="20" />
-<hkern u1="b" u2="&#x201d;" k="20" />
-<hkern u1="b" u2="&#x2019;" k="20" />
-<hkern u1="b" u2="z" k="20" />
-<hkern u1="b" u2="y" k="41" />
-<hkern u1="b" u2="x" k="41" />
-<hkern u1="b" u2="w" k="41" />
-<hkern u1="b" u2="v" k="41" />
-<hkern u1="b" u2="&#x27;" k="20" />
-<hkern u1="b" u2="&#x22;" k="20" />
-<hkern u1="c" u2="&#x201d;" k="-41" />
-<hkern u1="c" u2="&#x2019;" k="-41" />
-<hkern u1="c" u2="&#x27;" k="-41" />
-<hkern u1="c" u2="&#x22;" k="-41" />
-<hkern u1="e" u2="&#x201d;" k="20" />
-<hkern u1="e" u2="&#x2019;" k="20" />
-<hkern u1="e" u2="z" k="20" />
-<hkern u1="e" u2="y" k="41" />
-<hkern u1="e" u2="x" k="41" />
-<hkern u1="e" u2="w" k="41" />
-<hkern u1="e" u2="v" k="41" />
-<hkern u1="e" u2="&#x27;" k="20" />
-<hkern u1="e" u2="&#x22;" k="20" />
-<hkern u1="f" u2="&#x201d;" k="-123" />
-<hkern u1="f" u2="&#x2019;" k="-123" />
-<hkern u1="f" u2="&#x27;" k="-123" />
-<hkern u1="f" u2="&#x22;" k="-123" />
-<hkern u1="h" u2="&#x201d;" k="20" />
-<hkern u1="h" u2="&#x2019;" k="20" />
-<hkern u1="h" u2="&#x27;" k="20" />
-<hkern u1="h" u2="&#x22;" k="20" />
-<hkern u1="k" u2="q" k="41" />
-<hkern u1="k" u2="o" k="41" />
-<hkern u1="k" u2="e" k="41" />
-<hkern u1="k" u2="d" k="41" />
-<hkern u1="k" u2="c" k="41" />
-<hkern u1="m" u2="&#x201d;" k="20" />
-<hkern u1="m" u2="&#x2019;" k="20" />
-<hkern u1="m" u2="&#x27;" k="20" />
-<hkern u1="m" u2="&#x22;" k="20" />
-<hkern u1="n" u2="&#x201d;" k="20" />
-<hkern u1="n" u2="&#x2019;" k="20" />
-<hkern u1="n" u2="&#x27;" k="20" />
-<hkern u1="n" u2="&#x22;" k="20" />
-<hkern u1="o" u2="&#x201d;" k="20" />
-<hkern u1="o" u2="&#x2019;" k="20" />
-<hkern u1="o" u2="z" k="20" />
-<hkern u1="o" u2="y" k="41" />
-<hkern u1="o" u2="x" k="41" />
-<hkern u1="o" u2="w" k="41" />
-<hkern u1="o" u2="v" k="41" />
-<hkern u1="o" u2="&#x27;" k="20" />
-<hkern u1="o" u2="&#x22;" k="20" />
-<hkern u1="p" u2="&#x201d;" k="20" />
-<hkern u1="p" u2="&#x2019;" k="20" />
-<hkern u1="p" u2="z" k="20" />
-<hkern u1="p" u2="y" k="41" />
-<hkern u1="p" u2="x" k="41" />
-<hkern u1="p" u2="w" k="41" />
-<hkern u1="p" u2="v" k="41" />
-<hkern u1="p" u2="&#x27;" k="20" />
-<hkern u1="p" u2="&#x22;" k="20" />
-<hkern u1="r" u2="&#x201d;" k="-82" />
-<hkern u1="r" u2="&#x2019;" k="-82" />
-<hkern u1="r" u2="q" k="41" />
-<hkern u1="r" u2="o" k="41" />
-<hkern u1="r" u2="g" k="20" />
-<hkern u1="r" u2="e" k="41" />
-<hkern u1="r" u2="d" k="41" />
-<hkern u1="r" u2="c" k="41" />
-<hkern u1="r" u2="a" k="41" />
-<hkern u1="r" u2="&#x27;" k="-82" />
-<hkern u1="r" u2="&#x22;" k="-82" />
-<hkern u1="t" u2="&#x201d;" k="-41" />
-<hkern u1="t" u2="&#x2019;" k="-41" />
-<hkern u1="t" u2="&#x27;" k="-41" />
-<hkern u1="t" u2="&#x22;" k="-41" />
-<hkern u1="v" u2="&#x201d;" k="-82" />
-<hkern u1="v" u2="&#x2019;" k="-82" />
-<hkern u1="v" u2="&#x3f;" k="-41" />
-<hkern u1="v" u2="&#x2e;" k="82" />
-<hkern u1="v" u2="&#x2c;" k="82" />
-<hkern u1="v" u2="&#x27;" k="-82" />
-<hkern u1="v" u2="&#x22;" k="-82" />
-<hkern u1="w" u2="&#x201d;" k="-82" />
-<hkern u1="w" u2="&#x2019;" k="-82" />
-<hkern u1="w" u2="&#x3f;" k="-41" />
-<hkern u1="w" u2="&#x2e;" k="82" />
-<hkern u1="w" u2="&#x2c;" k="82" />
-<hkern u1="w" u2="&#x27;" k="-82" />
-<hkern u1="w" u2="&#x22;" k="-82" />
-<hkern u1="x" u2="q" k="41" />
-<hkern u1="x" u2="o" k="41" />
-<hkern u1="x" u2="e" k="41" />
-<hkern u1="x" u2="d" k="41" />
-<hkern u1="x" u2="c" k="41" />
-<hkern u1="y" u2="&#x201d;" k="-82" />
-<hkern u1="y" u2="&#x2019;" k="-82" />
-<hkern u1="y" u2="&#x3f;" k="-41" />
-<hkern u1="y" u2="&#x2e;" k="82" />
-<hkern u1="y" u2="&#x2c;" k="82" />
-<hkern u1="y" u2="&#x27;" k="-82" />
-<hkern u1="y" u2="&#x22;" k="-82" />
-<hkern u1="&#x7b;" u2="J" k="-184" />
-<hkern u1="&#x2013;" u2="T" k="82" />
-<hkern u1="&#x2014;" u2="T" k="82" />
-<hkern u1="&#x2018;" u2="u" k="61" />
-<hkern u1="&#x2018;" u2="s" k="61" />
-<hkern u1="&#x2018;" u2="r" k="61" />
-<hkern u1="&#x2018;" u2="q" k="123" />
-<hkern u1="&#x2018;" u2="p" k="61" />
-<hkern u1="&#x2018;" u2="o" k="123" />
-<hkern u1="&#x2018;" u2="n" k="61" />
-<hkern u1="&#x2018;" u2="m" k="61" />
-<hkern u1="&#x2018;" u2="g" k="61" />
-<hkern u1="&#x2018;" u2="e" k="123" />
-<hkern u1="&#x2018;" u2="d" k="123" />
-<hkern u1="&#x2018;" u2="c" k="123" />
-<hkern u1="&#x2018;" u2="a" k="82" />
-<hkern u1="&#x2018;" u2="Y" k="-20" />
-<hkern u1="&#x2018;" u2="W" k="-41" />
-<hkern u1="&#x2018;" u2="V" k="-41" />
-<hkern u1="&#x2018;" u2="T" k="-41" />
-<hkern u1="&#x2018;" u2="A" k="143" />
-<hkern u1="&#x2019;" u2="u" k="61" />
-<hkern u1="&#x2019;" u2="s" k="61" />
-<hkern u1="&#x2019;" u2="r" k="61" />
-<hkern u1="&#x2019;" u2="q" k="123" />
-<hkern u1="&#x2019;" u2="p" k="61" />
-<hkern u1="&#x2019;" u2="o" k="123" />
-<hkern u1="&#x2019;" u2="n" k="61" />
-<hkern u1="&#x2019;" u2="m" k="61" />
-<hkern u1="&#x2019;" u2="g" k="61" />
-<hkern u1="&#x2019;" u2="e" k="123" />
-<hkern u1="&#x2019;" u2="d" k="123" />
-<hkern u1="&#x2019;" u2="c" k="123" />
-<hkern u1="&#x2019;" u2="a" k="82" />
-<hkern u1="&#x2019;" u2="Y" k="-20" />
-<hkern u1="&#x2019;" u2="W" k="-41" />
-<hkern u1="&#x2019;" u2="V" k="-41" />
-<hkern u1="&#x2019;" u2="T" k="-41" />
-<hkern u1="&#x2019;" u2="A" k="143" />
-<hkern u1="&#x201c;" u2="u" k="61" />
-<hkern u1="&#x201c;" u2="s" k="61" />
-<hkern u1="&#x201c;" u2="r" k="61" />
-<hkern u1="&#x201c;" u2="q" k="123" />
-<hkern u1="&#x201c;" u2="p" k="61" />
-<hkern u1="&#x201c;" u2="o" k="123" />
-<hkern u1="&#x201c;" u2="n" k="61" />
-<hkern u1="&#x201c;" u2="m" k="61" />
-<hkern u1="&#x201c;" u2="g" k="61" />
-<hkern u1="&#x201c;" u2="e" k="123" />
-<hkern u1="&#x201c;" u2="d" k="123" />
-<hkern u1="&#x201c;" u2="c" k="123" />
-<hkern u1="&#x201c;" u2="a" k="82" />
-<hkern u1="&#x201c;" u2="Y" k="-20" />
-<hkern u1="&#x201c;" u2="W" k="-41" />
-<hkern u1="&#x201c;" u2="V" k="-41" />
-<hkern u1="&#x201c;" u2="T" k="-41" />
-<hkern u1="&#x201c;" u2="A" k="143" />
-</font>
-</defs></svg> \ No newline at end of file
diff --git a/fonts/opensans-regular.ttf b/fonts/opensans-regular.ttf
deleted file mode 100644
index bd1db8d..0000000
--- a/fonts/opensans-regular.ttf
+++ /dev/null
Binary files differ
diff --git a/fonts/opensans-regular.woff b/fonts/opensans-regular.woff
deleted file mode 100644
index e8db609..0000000
--- a/fonts/opensans-regular.woff
+++ /dev/null
Binary files differ
diff --git a/fonts/opensans-semibold.eot b/fonts/opensans-semibold.eot
deleted file mode 100644
index 7e0aeac..0000000
--- a/fonts/opensans-semibold.eot
+++ /dev/null
Binary files differ
diff --git a/fonts/opensans-semibold.svg b/fonts/opensans-semibold.svg
deleted file mode 100644
index cc94650..0000000
--- a/fonts/opensans-semibold.svg
+++ /dev/null
@@ -1,549 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="open_sanssemibold" horiz-adv-x="1169" >
-<font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="532" />
-<glyph horiz-adv-x="2048" />
-<glyph horiz-adv-x="2048" />
-<glyph unicode="&#xd;" horiz-adv-x="1044" />
-<glyph unicode=" " horiz-adv-x="532" />
-<glyph unicode="&#x09;" horiz-adv-x="532" />
-<glyph unicode="&#xa0;" horiz-adv-x="532" />
-<glyph unicode="!" horiz-adv-x="565" d="M371 444h-174l-52 1018h277zM133 125q0 74 39 112.5t111 38.5q71 0 109 -40t38 -111t-38.5 -112.5t-108.5 -41.5q-71 0 -110.5 40t-39.5 114z" />
-<glyph unicode="&#x22;" horiz-adv-x="893" d="M365 1462l-41 -528h-150l-41 528h232zM760 1462l-41 -528h-150l-41 528h232z" />
-<glyph unicode="#" horiz-adv-x="1323" d="M989 870l-55 -284h270v-168h-303l-80 -418h-178l80 418h-248l-80 -418h-174l76 418h-250v168h283l57 284h-264v168h293l80 422h180l-80 -422h252l80 422h174l-80 -422h252v-168h-285zM506 586h250l57 284h-250z" />
-<glyph unicode="$" d="M1063 453q0 -145 -106 -239t-306 -116v-217h-133v211q-248 4 -407 76v211q86 -42 201 -70.5t206 -29.5v374l-84 31q-164 63 -239.5 150.5t-75.5 216.5q0 138 107.5 227t291.5 108v168h133v-165q203 -7 385 -82l-73 -183q-157 62 -312 74v-364l76 -29q190 -73 263 -154 t73 -198zM827 438q0 58 -40.5 95.5t-135.5 72.5v-319q176 27 176 151zM354 1053q0 -57 35.5 -95t128.5 -75v311q-80 -12 -122 -49t-42 -92z" />
-<glyph unicode="%" horiz-adv-x="1765" d="M279 1024q0 -149 29 -222t95 -73q132 0 132 295t-132 295q-66 0 -95 -73t-29 -222zM729 1026q0 -230 -82.5 -345.5t-243.5 -115.5q-152 0 -235.5 119.5t-83.5 341.5q0 457 319 457q157 0 241.5 -118.5t84.5 -338.5zM1231 440q0 -149 29.5 -223t95.5 -74q131 0 131 297 q0 293 -131 293q-66 0 -95.5 -72t-29.5 -221zM1681 440q0 -230 -83 -345t-242 -115q-152 0 -236 118.5t-84 341.5q0 457 320 457q154 0 239.5 -118t85.5 -339zM1384 1462l-811 -1462h-194l811 1462h194z" />
-<glyph unicode="&#x26;" horiz-adv-x="1516" d="M451 1147q0 -63 33.5 -119t93.5 -119q113 64 158.5 119.5t45.5 124.5q0 65 -43.5 104t-115.5 39q-79 0 -125.5 -40.5t-46.5 -108.5zM600 182q183 0 313 107l-383 377q-106 -68 -146 -127.5t-40 -135.5q0 -98 69.5 -159.5t186.5 -61.5zM96 387q0 131 64 228.5t231 193.5 q-95 111 -129.5 187.5t-34.5 158.5q0 152 108.5 240t291.5 88q177 0 278 -85.5t101 -230.5q0 -114 -67.5 -207t-225.5 -186l346 -334q81 107 135 314h242q-70 -284 -224 -463l301 -291h-303l-149 145q-102 -82 -217.5 -123.5t-255.5 -41.5q-230 0 -361 109t-131 298z" />
-<glyph unicode="'" horiz-adv-x="498" d="M365 1462l-41 -528h-150l-41 528h232z" />
-<glyph unicode="(" horiz-adv-x="649" d="M82 561q0 265 77.5 496t223.5 405h205q-139 -188 -213 -421.5t-74 -477.5t74 -473t211 -414h-203q-147 170 -224 397t-77 488z" />
-<glyph unicode=")" horiz-adv-x="649" d="M567 561q0 -263 -77.5 -490t-223.5 -395h-203q138 187 211.5 415t73.5 472q0 245 -74 477.5t-213 421.5h205q147 -175 224 -406.5t77 -494.5z" />
-<glyph unicode="*" horiz-adv-x="1122" d="M672 1556l-41 -382l385 108l28 -217l-360 -29l236 -311l-199 -107l-166 338l-149 -338l-205 107l231 311l-358 29l35 217l376 -108l-41 382h228z" />
-<glyph unicode="+" d="M494 633h-398v178h398v408h180v-408h399v-178h-399v-406h-180v406z" />
-<glyph unicode="," horiz-adv-x="547" d="M412 215q-48 -186 -176 -479h-173q69 270 103 502h231z" />
-<glyph unicode="-" horiz-adv-x="659" d="M72 449v200h514v-200h-514z" />
-<glyph unicode="." horiz-adv-x="563" d="M133 125q0 73 38 112t110 39q73 0 111 -40.5t38 -110.5q0 -71 -38.5 -112.5t-110.5 -41.5t-110 41t-38 113z" />
-<glyph unicode="/" horiz-adv-x="799" d="M782 1462l-544 -1462h-222l545 1462h221z" />
-<glyph unicode="0" d="M1081 731q0 -381 -122.5 -566t-374.5 -185q-244 0 -370 191t-126 560q0 387 122.5 570.5t373.5 183.5q245 0 371 -192t126 -562zM326 731q0 -299 61.5 -427t196.5 -128t197.5 130t62.5 425q0 294 -62.5 425.5t-197.5 131.5t-196.5 -129t-61.5 -428z" />
-<glyph unicode="1" d="M780 0h-235v944q0 169 8 268q-23 -24 -56.5 -53t-224.5 -184l-118 149l430 338h196v-1462z" />
-<glyph unicode="2" d="M1081 0h-991v178l377 379q167 171 221.5 242.5t79.5 134.5t25 135q0 99 -59.5 156t-164.5 57q-84 0 -162.5 -31t-181.5 -112l-127 155q122 103 237 146t245 43q204 0 327 -106.5t123 -286.5q0 -99 -35.5 -188t-109 -183.5t-244.5 -255.5l-254 -246v-10h694v-207z" />
-<glyph unicode="3" d="M1026 1126q0 -139 -81 -231.5t-228 -124.5v-8q176 -22 264 -109.5t88 -232.5q0 -211 -149 -325.5t-424 -114.5q-243 0 -410 79v209q93 -46 197 -71t200 -25q170 0 254 63t84 195q0 117 -93 172t-292 55h-127v191h129q350 0 350 242q0 94 -61 145t-180 51 q-83 0 -160 -23.5t-182 -91.5l-115 164q201 148 467 148q221 0 345 -95t124 -262z" />
-<glyph unicode="4" d="M1133 319h-197v-319h-229v319h-668v181l668 966h229v-952h197v-195zM707 514v367q0 196 10 321h-8q-28 -66 -88 -160l-363 -528h449z" />
-<glyph unicode="5" d="M586 913q221 0 350 -117t129 -319q0 -234 -146.5 -365.5t-416.5 -131.5q-245 0 -385 79v213q81 -46 186 -71t195 -25q159 0 242 71t83 208q0 262 -334 262q-47 0 -116 -9.5t-121 -21.5l-105 62l56 714h760v-209h-553l-33 -362q35 6 85.5 14t123.5 8z" />
-<glyph unicode="6" d="M94 623q0 858 699 858q110 0 186 -17v-196q-76 22 -176 22q-235 0 -353 -126t-128 -404h12q47 81 132 125.5t200 44.5q199 0 310 -122t111 -331q0 -230 -128.5 -363.5t-350.5 -133.5q-157 0 -273 75.5t-178.5 220t-62.5 347.5zM604 174q121 0 186.5 78t65.5 223 q0 126 -61.5 198t-184.5 72q-76 0 -140 -32.5t-101 -89t-37 -115.5q0 -141 76.5 -237.5t195.5 -96.5z" />
-<glyph unicode="7" d="M256 0l578 1253h-760v207h1011v-164l-575 -1296h-254z" />
-<glyph unicode="8" d="M584 1481q208 0 329 -95.5t121 -255.5q0 -225 -270 -358q172 -86 244.5 -181t72.5 -212q0 -181 -133 -290t-360 -109q-238 0 -369 102t-131 289q0 122 68.5 219.5t224.5 173.5q-134 80 -191 169t-57 200q0 159 125 253.5t326 94.5zM313 379q0 -104 73 -161.5t198 -57.5 q129 0 200.5 59.5t71.5 161.5q0 81 -66 148t-200 124l-29 13q-132 -58 -190 -127.5t-58 -159.5zM582 1300q-100 0 -161 -49.5t-61 -134.5q0 -52 22 -93t64 -74.5t142 -80.5q120 53 169.5 111.5t49.5 136.5q0 85 -61.5 134.5t-163.5 49.5z" />
-<glyph unicode="9" d="M1079 838q0 -432 -174 -645t-524 -213q-133 0 -191 16v197q89 -25 179 -25q238 0 355 128t128 402h-12q-59 -90 -142.5 -130t-195.5 -40q-194 0 -305 121t-111 332q0 229 128.5 364.5t350.5 135.5q156 0 272 -76t179 -220.5t63 -346.5zM569 1286q-122 0 -187 -79.5 t-65 -223.5q0 -125 60.5 -196.5t183.5 -71.5q119 0 200 71t81 166q0 89 -34.5 166.5t-96.5 122.5t-142 45z" />
-<glyph unicode=":" horiz-adv-x="563" d="M133 125q0 73 38 112t110 39q73 0 111 -40.5t38 -110.5q0 -71 -38.5 -112.5t-110.5 -41.5t-110 41t-38 113zM133 979q0 151 148 151q75 0 112 -40t37 -111t-38.5 -112.5t-110.5 -41.5t-110 41t-38 113z" />
-<glyph unicode=";" horiz-adv-x="569" d="M397 238l15 -23q-48 -186 -176 -479h-173q69 270 103 502h231zM131 979q0 151 148 151q75 0 112 -40t37 -111t-38.5 -112.5t-110.5 -41.5t-110 41t-38 113z" />
-<glyph unicode="&#x3c;" d="M1073 221l-977 430v121l977 488v-195l-733 -344l733 -303v-197z" />
-<glyph unicode="=" d="M102 831v179h963v-179h-963zM102 432v178h963v-178h-963z" />
-<glyph unicode="&#x3e;" d="M96 418l733 303l-733 344v195l977 -488v-121l-977 -430v197z" />
-<glyph unicode="?" horiz-adv-x="928" d="M283 444v64q0 110 40 183t140 151q119 94 153.5 146t34.5 124q0 84 -56 129t-161 45q-95 0 -176 -27t-158 -65l-84 176q203 113 435 113q196 0 311 -96t115 -265q0 -75 -22 -133.5t-66.5 -111.5t-153.5 -138q-93 -73 -124.5 -121t-31.5 -129v-45h-196zM242 125 q0 151 147 151q72 0 110 -39.5t38 -111.5q0 -71 -38.5 -112.5t-109.5 -41.5t-109 40.5t-38 113.5z" />
-<glyph unicode="@" horiz-adv-x="1839" d="M1726 739q0 -143 -45 -261.5t-126.5 -184.5t-188.5 -66q-79 0 -137 42t-78 114h-12q-49 -78 -121 -117t-162 -39q-163 0 -256.5 105t-93.5 284q0 206 124 334.5t333 128.5q76 0 168.5 -13.5t164.5 -37.5l-22 -465v-24q0 -160 104 -160q79 0 125.5 102t46.5 260 q0 171 -70 300.5t-199 199.5t-296 70q-213 0 -370.5 -88t-240.5 -251.5t-83 -379.5q0 -290 155 -446t445 -156q221 0 461 90v-164q-210 -86 -457 -86q-370 0 -577 199.5t-207 556.5q0 261 112 464.5t310.5 311.5t449.5 108q217 0 386.5 -90t263 -256.5t93.5 -384.5zM698 612 q0 -233 183 -233q193 0 211 293l12 239q-63 17 -135 17q-128 0 -199.5 -85t-71.5 -231z" />
-<glyph unicode="A" horiz-adv-x="1354" d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426z" />
-<glyph unicode="B" horiz-adv-x="1352" d="M193 1462h434q302 0 436.5 -88t134.5 -278q0 -128 -66 -213t-190 -107v-10q154 -29 226.5 -114.5t72.5 -231.5q0 -197 -137.5 -308.5t-382.5 -111.5h-528v1462zM432 858h230q150 0 219 47.5t69 161.5q0 103 -74.5 149t-236.5 46h-207v-404zM432 664v-463h254 q150 0 226.5 57.5t76.5 181.5q0 114 -78 169t-237 55h-242z" />
-<glyph unicode="C" horiz-adv-x="1298" d="M815 1278q-206 0 -324 -146t-118 -403q0 -269 113.5 -407t328.5 -138q93 0 180 18.5t181 47.5v-205q-172 -65 -390 -65q-321 0 -493 194.5t-172 556.5q0 228 83.5 399t241.5 262t371 91q224 0 414 -94l-86 -199q-74 35 -156.5 61.5t-173.5 26.5z" />
-<glyph unicode="D" horiz-adv-x="1503" d="M1382 745q0 -362 -201 -553.5t-579 -191.5h-409v1462h452q349 0 543 -188t194 -529zM1130 737q0 525 -491 525h-207v-1061h170q528 0 528 536z" />
-<glyph unicode="E" horiz-adv-x="1143" d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203z" />
-<glyph unicode="F" horiz-adv-x="1090" d="M430 0h-237v1462h825v-202h-588v-457h551v-203h-551v-600z" />
-<glyph unicode="G" horiz-adv-x="1487" d="M791 793h538v-734q-132 -43 -253.5 -61t-262.5 -18q-332 0 -512 196.5t-180 554.5q0 353 203 552.5t559 199.5q229 0 434 -88l-84 -199q-178 82 -356 82q-234 0 -370 -147t-136 -402q0 -268 122.5 -407.5t352.5 -139.5q116 0 248 29v377h-303v205z" />
-<glyph unicode="H" horiz-adv-x="1538" d="M1346 0h-240v659h-674v-659h-239v1462h239v-598h674v598h240v-1462z" />
-<glyph unicode="I" horiz-adv-x="625" d="M193 0v1462h239v-1462h-239z" />
-<glyph unicode="J" horiz-adv-x="612" d="M8 -408q-98 0 -164 25v201q84 -21 146 -21q196 0 196 248v1417h240v-1409q0 -224 -106.5 -342.5t-311.5 -118.5z" />
-<glyph unicode="K" horiz-adv-x="1309" d="M1309 0h-277l-459 662l-141 -115v-547h-239v1462h239v-698q98 120 195 231l395 467h272q-383 -450 -549 -641z" />
-<glyph unicode="L" horiz-adv-x="1110" d="M193 0v1462h239v-1257h619v-205h-858z" />
-<glyph unicode="M" horiz-adv-x="1890" d="M825 0l-424 1221h-8q17 -272 17 -510v-711h-217v1462h337l406 -1163h6l418 1163h338v-1462h-230v723q0 109 5.5 284t9.5 212h-8l-439 -1219h-211z" />
-<glyph unicode="N" horiz-adv-x="1604" d="M1411 0h-293l-719 1165h-8l5 -65q14 -186 14 -340v-760h-217v1462h290l717 -1159h6q-2 23 -8 167.5t-6 225.5v766h219v-1462z" />
-<glyph unicode="O" horiz-adv-x="1612" d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408z" />
-<glyph unicode="P" horiz-adv-x="1260" d="M1161 1020q0 -229 -150 -351t-427 -122h-152v-547h-239v1462h421q274 0 410.5 -112t136.5 -330zM432 748h127q184 0 270 64t86 200q0 126 -77 188t-240 62h-166v-514z" />
-<glyph unicode="Q" horiz-adv-x="1612" d="M1491 733q0 -266 -101.5 -448t-295.5 -256l350 -377h-322l-276 328h-39q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139 q-215 0 -324.5 -139t-109.5 -408z" />
-<glyph unicode="R" horiz-adv-x="1309" d="M432 782h166q167 0 242 62t75 184q0 124 -81 178t-244 54h-158v-478zM432 584v-584h-239v1462h413q283 0 419 -106t136 -320q0 -273 -284 -389l413 -647h-272l-350 584h-236z" />
-<glyph unicode="S" horiz-adv-x="1126" d="M1036 397q0 -195 -141 -306t-389 -111t-406 77v226q100 -47 212.5 -74t209.5 -27q142 0 209.5 54t67.5 145q0 82 -62 139t-256 135q-200 81 -282 185t-82 250q0 183 130 288t349 105q210 0 418 -92l-76 -195q-195 82 -348 82q-116 0 -176 -50.5t-60 -133.5 q0 -57 24 -97.5t79 -76.5t198 -95q161 -67 236 -125t110 -131t35 -172z" />
-<glyph unicode="T" horiz-adv-x="1159" d="M698 0h-239v1257h-430v205h1099v-205h-430v-1257z" />
-<glyph unicode="U" horiz-adv-x="1520" d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239z" />
-<glyph unicode="V" horiz-adv-x="1274" d="M1026 1462h248l-512 -1462h-252l-510 1462h246l305 -909q24 -65 51 -167.5t35 -152.5q13 76 40 176t44 148z" />
-<glyph unicode="W" horiz-adv-x="1937" d="M1542 0h-260l-248 872q-16 57 -40 164.5t-29 149.5q-10 -64 -32.5 -166t-37.5 -152l-242 -868h-260l-189 732l-192 730h244l209 -852q49 -205 70 -362q11 85 33 190t40 170l238 854h237l244 -858q35 -119 74 -356q15 143 72 364l208 850h242z" />
-<glyph unicode="X" horiz-adv-x="1274" d="M1270 0h-275l-366 598l-369 -598h-256l485 758l-454 704h266l338 -553l338 553h258l-457 -708z" />
-<glyph unicode="Y" horiz-adv-x="1212" d="M606 795l346 667h260l-487 -895v-567h-240v559l-485 903h260z" />
-<glyph unicode="Z" horiz-adv-x="1178" d="M1112 0h-1046v166l737 1091h-717v205h1006v-168l-740 -1089h760v-205z" />
-<glyph unicode="[" horiz-adv-x="676" d="M625 -324h-471v1786h471v-176h-256v-1433h256v-177z" />
-<glyph unicode="\" horiz-adv-x="799" d="M238 1462l544 -1462h-221l-545 1462h222z" />
-<glyph unicode="]" horiz-adv-x="676" d="M51 -147h256v1433h-256v176h469v-1786h-469v177z" />
-<glyph unicode="^" horiz-adv-x="1100" d="M29 535l436 935h121l485 -935h-194l-349 694l-307 -694h-192z" />
-<glyph unicode="_" horiz-adv-x="879" d="M883 -319h-887v135h887v-135z" />
-<glyph unicode="`" horiz-adv-x="1212" d="M690 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" />
-<glyph unicode="a" horiz-adv-x="1188" d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5z" />
-<glyph unicode="b" horiz-adv-x="1276" d="M733 1126q207 0 322.5 -150t115.5 -421q0 -272 -117 -423.5t-325 -151.5q-210 0 -326 151h-16l-43 -131h-176v1556h235v-370q0 -41 -4 -122t-6 -103h10q112 165 330 165zM672 934q-142 0 -204.5 -83.5t-64.5 -279.5v-16q0 -202 64 -292.5t209 -90.5q125 0 189.5 99 t64.5 286q0 377 -258 377z" />
-<glyph unicode="c" horiz-adv-x="1014" d="M614 -20q-251 0 -381.5 146.5t-130.5 420.5q0 279 136.5 429t394.5 150q175 0 315 -65l-71 -189q-149 58 -246 58q-287 0 -287 -381q0 -186 71.5 -279.5t209.5 -93.5q157 0 297 78v-205q-63 -37 -134.5 -53t-173.5 -16z" />
-<glyph unicode="d" horiz-adv-x="1276" d="M541 -20q-207 0 -323 150t-116 421q0 272 117.5 423.5t325.5 151.5q218 0 332 -161h12q-17 119 -17 188v403h236v-1556h-184l-41 145h-11q-113 -165 -331 -165zM604 170q145 0 211 81.5t68 264.5v33q0 209 -68 297t-213 88q-124 0 -191 -100.5t-67 -286.5 q0 -184 65 -280.5t195 -96.5z" />
-<glyph unicode="e" horiz-adv-x="1180" d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 z" />
-<glyph unicode="f" horiz-adv-x="743" d="M723 928h-270v-928h-236v928h-182v110l182 72v72q0 196 92 290.5t281 94.5q124 0 244 -41l-62 -178q-87 28 -166 28q-80 0 -116.5 -49.5t-36.5 -148.5v-72h270v-178z" />
-<glyph unicode="g" horiz-adv-x="1139" d="M1102 1106v-129l-189 -35q26 -35 43 -86t17 -108q0 -171 -118 -269t-325 -98q-53 0 -96 8q-76 -47 -76 -110q0 -38 35.5 -57t130.5 -19h193q183 0 278 -78t95 -225q0 -188 -155 -290t-448 -102q-226 0 -345 80t-119 228q0 102 64.5 171.5t180.5 96.5q-47 20 -77.5 64.5 t-30.5 93.5q0 62 35 105t104 85q-86 37 -139.5 120.5t-53.5 195.5q0 180 113.5 279t323.5 99q47 0 98.5 -6.5t77.5 -13.5h383zM233 -172q0 -76 68.5 -117t192.5 -41q192 0 286 55t94 146q0 72 -51.5 102.5t-191.5 30.5h-178q-101 0 -160.5 -47.5t-59.5 -128.5zM334 748 q0 -104 53.5 -160t153.5 -56q204 0 204 218q0 108 -50.5 166.5t-153.5 58.5q-102 0 -154.5 -58t-52.5 -169z" />
-<glyph unicode="h" horiz-adv-x="1300" d="M1141 0h-236v680q0 128 -51.5 191t-163.5 63q-148 0 -217.5 -88.5t-69.5 -296.5v-549h-235v1556h235v-395q0 -95 -12 -203h15q48 80 133.5 124t199.5 44q402 0 402 -405v-721z" />
-<glyph unicode="i" horiz-adv-x="571" d="M403 0h-235v1106h235v-1106zM154 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" />
-<glyph unicode="j" horiz-adv-x="571" d="M55 -492q-106 0 -176 25v186q68 -18 139 -18q150 0 150 170v1235h235v-1251q0 -171 -89.5 -259t-258.5 -88zM154 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" />
-<glyph unicode="k" horiz-adv-x="1171" d="M395 584l133 166l334 356h271l-445 -475l473 -631h-276l-355 485l-129 -106v-379h-233v1556h233v-759l-12 -213h6z" />
-<glyph unicode="l" horiz-adv-x="571" d="M403 0h-235v1556h235v-1556z" />
-<glyph unicode="m" horiz-adv-x="1958" d="M1100 0h-236v682q0 127 -48 189.5t-150 62.5q-136 0 -199.5 -88.5t-63.5 -294.5v-551h-235v1106h184l33 -145h12q46 79 133.5 122t192.5 43q255 0 338 -174h16q49 82 138 128t204 46q198 0 288.5 -100t90.5 -305v-721h-235v682q0 127 -48.5 189.5t-150.5 62.5 q-137 0 -200.5 -85.5t-63.5 -262.5v-586z" />
-<glyph unicode="n" horiz-adv-x="1300" d="M1141 0h-236v680q0 128 -51.5 191t-163.5 63q-149 0 -218 -88t-69 -295v-551h-235v1106h184l33 -145h12q50 79 142 122t204 43q398 0 398 -405v-721z" />
-<glyph unicode="o" horiz-adv-x="1251" d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281z" />
-<glyph unicode="p" horiz-adv-x="1276" d="M729 -20q-210 0 -326 151h-14q14 -140 14 -170v-453h-235v1598h190q8 -31 33 -148h12q110 168 330 168q207 0 322.5 -150t115.5 -421t-117.5 -423t-324.5 -152zM672 934q-140 0 -204.5 -82t-64.5 -262v-35q0 -202 64 -292.5t209 -90.5q122 0 188 100t66 285 q0 186 -65.5 281.5t-192.5 95.5z" />
-<glyph unicode="q" horiz-adv-x="1276" d="M606 168q148 0 212.5 85.5t64.5 258.5v37q0 205 -66.5 295t-214.5 90q-126 0 -192 -100t-66 -287q0 -379 262 -379zM539 -20q-205 0 -321 150.5t-116 420.5t118 422.5t325 152.5q104 0 186.5 -38.5t147.5 -126.5h8l26 145h195v-1598h-236v469q0 44 4 93t7 75h-13 q-104 -165 -331 -165z" />
-<glyph unicode="r" horiz-adv-x="883" d="M729 1126q71 0 117 -10l-23 -219q-50 12 -104 12q-141 0 -228.5 -92t-87.5 -239v-578h-235v1106h184l31 -195h12q55 99 143.5 157t190.5 58z" />
-<glyph unicode="s" horiz-adv-x="997" d="M911 315q0 -162 -118 -248.5t-338 -86.5q-221 0 -355 67v203q195 -90 363 -90q217 0 217 131q0 42 -24 70t-79 58t-153 68q-191 74 -258.5 148t-67.5 192q0 142 114.5 220.5t311.5 78.5q195 0 369 -79l-76 -177q-179 74 -301 74q-186 0 -186 -106q0 -52 48.5 -88 t211.5 -99q137 -53 199 -97t92 -101.5t30 -137.5z" />
-<glyph unicode="t" horiz-adv-x="805" d="M580 170q86 0 172 27v-177q-39 -17 -100.5 -28.5t-127.5 -11.5q-334 0 -334 352v596h-151v104l162 86l80 234h145v-246h315v-178h-315v-592q0 -85 42.5 -125.5t111.5 -40.5z" />
-<glyph unicode="u" horiz-adv-x="1300" d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185z" />
-<glyph unicode="v" horiz-adv-x="1096" d="M420 0l-420 1106h248l225 -643q58 -162 70 -262h8q9 72 70 262l225 643h250l-422 -1106h-254z" />
-<glyph unicode="w" horiz-adv-x="1673" d="M1075 0l-143 516q-26 82 -94 381h-9q-58 -270 -92 -383l-147 -514h-260l-310 1106h240l141 -545q48 -202 68 -346h6q10 73 30.5 167.5t35.5 141.5l168 582h258l163 -582q15 -49 37.5 -150t26.5 -157h8q15 123 70 344l143 545h236l-312 -1106h-264z" />
-<glyph unicode="x" horiz-adv-x="1128" d="M414 565l-371 541h268l252 -387l254 387h266l-372 -541l391 -565h-266l-273 414l-272 -414h-266z" />
-<glyph unicode="y" horiz-adv-x="1098" d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104z" />
-<glyph unicode="z" horiz-adv-x="979" d="M907 0h-839v145l559 781h-525v180h789v-164l-547 -762h563v-180z" />
-<glyph unicode="{" horiz-adv-x="791" d="M311 287q0 186 -266 186v191q135 0 200.5 45.5t65.5 138.5v311q0 156 108.5 229.5t325.5 73.5v-182q-114 -5 -165.5 -46.5t-51.5 -123.5v-297q0 -199 -229 -238v-12q229 -36 229 -237v-299q0 -82 51 -124t166 -44v-183q-231 2 -332.5 78.5t-101.5 247.5v285z" />
-<glyph unicode="|" horiz-adv-x="1128" d="M473 1552h180v-2033h-180v2033z" />
-<glyph unicode="}" horiz-adv-x="760" d="M463 -20q0 -156 -99.5 -229t-318.5 -75v183q95 1 148 38.5t53 129.5v262q0 121 53 187t176 87v12q-229 39 -229 238v297q0 82 -45.5 123.5t-155.5 46.5v182q223 0 320.5 -76.5t97.5 -250.5v-287q0 -100 63.5 -142t188.5 -42v-191q-123 0 -187.5 -42.5t-64.5 -143.5v-307z " />
-<glyph unicode="~" d="M330 692q-50 0 -111.5 -30t-122.5 -91v191q99 108 250 108q66 0 125 -13t147 -50q131 -55 220 -55q52 0 114.5 31t120.5 89v-190q-105 -111 -250 -111q-65 0 -127.5 15.5t-146.5 50.5q-127 55 -219 55z" />
-<glyph unicode="&#xa2;" d="M987 238q-119 -59 -258 -64v-194h-156v200q-207 31 -307 171t-100 390q0 254 100.5 397t306.5 175v170h158v-162q152 -5 283 -66l-70 -188q-146 59 -250 59q-146 0 -216 -95t-70 -288q0 -194 72 -283t210 -89q75 0 142.5 15t154.5 52v-200z" />
-<glyph unicode="&#xa3;" d="M690 1481q194 0 375 -82l-76 -182q-162 71 -284 71q-205 0 -205 -219v-244h397v-172h-397v-182q0 -91 -33 -155t-113 -109h756v-207h-1038v195q98 30 145 96t47 178v184h-188v172h188v256q0 188 113.5 294t312.5 106z" />
-<glyph unicode="&#xa5;" d="M584 797l321 665h244l-399 -760h227v-151h-281v-154h281v-153h-281v-244h-225v244h-283v153h283v154h-283v151h224l-394 760h246z" />
-<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M893 1034q-111 0 -171 -80.5t-60 -222.5q0 -147 54 -226t177 -79q55 0 118 15t109 36v-158q-115 -51 -235 -51q-197 0 -305.5 120.5t-108.5 342.5q0 214 110 337.5t306 123.5q138 0 274 -70l-65 -143q-106 55 -203 55zM100 731q0 200 100 375t275 276t377 101 q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM223 731q0 -170 84.5 -315.5t230.5 -229.5t314 -84q170 0 316 85.5t229.5 230t83.5 313.5q0 168 -84.5 314.5t-231 230.5t-313.5 84q-168 0 -312.5 -83 t-230.5 -229t-86 -317z" />
-<glyph unicode="&#xad;" horiz-adv-x="659" d="M72 449v200h514v-200h-514z" />
-<glyph unicode="&#xae;" horiz-adv-x="1704" d="M748 770h69q74 0 112 35t38 100q0 72 -36.5 100.5t-115.5 28.5h-67v-264zM1157 909q0 -171 -153 -233l237 -397h-211l-192 346h-90v-346h-189v903h262q174 0 255 -68t81 -205zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370 t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM223 731q0 -170 84.5 -315.5t230.5 -229.5t314 -84q170 0 316 85.5t229.5 230t83.5 313.5q0 168 -84.5 314.5t-231 230.5t-313.5 84q-168 0 -312.5 -83t-230.5 -229t-86 -317z" />
-<glyph unicode="&#xb4;" horiz-adv-x="1212" d="M362 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" />
-<glyph unicode="&#x2000;" horiz-adv-x="784" />
-<glyph unicode="&#x2001;" horiz-adv-x="1569" />
-<glyph unicode="&#x2002;" horiz-adv-x="784" />
-<glyph unicode="&#x2003;" horiz-adv-x="1569" />
-<glyph unicode="&#x2004;" horiz-adv-x="523" />
-<glyph unicode="&#x2005;" horiz-adv-x="392" />
-<glyph unicode="&#x2006;" horiz-adv-x="261" />
-<glyph unicode="&#x2007;" horiz-adv-x="261" />
-<glyph unicode="&#x2008;" horiz-adv-x="196" />
-<glyph unicode="&#x2009;" horiz-adv-x="313" />
-<glyph unicode="&#x200a;" horiz-adv-x="87" />
-<glyph unicode="&#x2010;" horiz-adv-x="659" d="M72 449v200h514v-200h-514z" />
-<glyph unicode="&#x2011;" horiz-adv-x="659" d="M72 449v200h514v-200h-514z" />
-<glyph unicode="&#x2012;" horiz-adv-x="659" d="M72 449v200h514v-200h-514z" />
-<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M82 455v190h860v-190h-860z" />
-<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M82 455v190h1884v-190h-1884z" />
-<glyph unicode="&#x2018;" horiz-adv-x="395" d="M37 961l-12 22q20 83 71 224t105 255h170q-64 -256 -101 -501h-233z" />
-<glyph unicode="&#x2019;" horiz-adv-x="395" d="M356 1462l15 -22q-53 -209 -176 -479h-170q69 289 100 501h231z" />
-<glyph unicode="&#x201c;" horiz-adv-x="813" d="M440 983q53 203 178 479h170q-69 -296 -100 -501h-233zM25 983q20 83 71 224t105 255h170q-64 -256 -101 -501h-233z" />
-<glyph unicode="&#x201d;" horiz-adv-x="813" d="M371 1440q-53 -209 -176 -479h-170q69 289 100 501h231zM788 1440q-53 -209 -176 -479h-172q69 271 103 501h231z" />
-<glyph unicode="&#x2022;" horiz-adv-x="770" d="M131 748q0 138 66 210t188 72q121 0 187.5 -72.5t66.5 -209.5q0 -135 -67 -209t-187 -74t-187 72.5t-67 210.5z" />
-<glyph unicode="&#x2026;" horiz-adv-x="1677" d="M133 125q0 73 38 112t110 39q73 0 111 -40.5t38 -110.5q0 -71 -38.5 -112.5t-110.5 -41.5t-110 41t-38 113zM690 125q0 73 38 112t110 39q73 0 111 -40.5t38 -110.5q0 -71 -38.5 -112.5t-110.5 -41.5t-110 41t-38 113zM1247 125q0 73 38 112t110 39q73 0 111 -40.5 t38 -110.5q0 -71 -38.5 -112.5t-110.5 -41.5t-110 41t-38 113z" />
-<glyph unicode="&#x202f;" horiz-adv-x="313" />
-<glyph unicode="&#x205f;" horiz-adv-x="392" />
-<glyph unicode="&#x20ac;" horiz-adv-x="1188" d="M799 1278q-141 0 -230.5 -84t-119.5 -254h456v-154h-471l-2 -45v-55l2 -39h408v-153h-391q64 -312 364 -312q143 0 293 62v-203q-131 -61 -305 -61q-241 0 -391.5 132t-196.5 382h-152v153h136l-2 37v37l2 65h-136v154h150q38 251 191 394t395 143q200 0 358 -88 l-84 -187q-154 76 -274 76z" />
-<glyph unicode="&#x2122;" horiz-adv-x="1561" d="M375 741h-146v592h-202v129h553v-129h-205v-592zM963 741l-185 543h-6l4 -119v-424h-141v721h217l178 -534l187 534h210v-721h-147v414l4 129h-6l-193 -543h-122z" />
-<glyph unicode="&#xe000;" horiz-adv-x="1105" d="M0 1105h1105v-1105h-1105v1105z" />
-<hkern u1="&#x22;" u2="u" k="61" />
-<hkern u1="&#x22;" u2="s" k="61" />
-<hkern u1="&#x22;" u2="r" k="61" />
-<hkern u1="&#x22;" u2="q" k="123" />
-<hkern u1="&#x22;" u2="p" k="61" />
-<hkern u1="&#x22;" u2="o" k="123" />
-<hkern u1="&#x22;" u2="n" k="61" />
-<hkern u1="&#x22;" u2="m" k="61" />
-<hkern u1="&#x22;" u2="g" k="61" />
-<hkern u1="&#x22;" u2="e" k="123" />
-<hkern u1="&#x22;" u2="d" k="123" />
-<hkern u1="&#x22;" u2="c" k="123" />
-<hkern u1="&#x22;" u2="a" k="82" />
-<hkern u1="&#x22;" u2="Y" k="-20" />
-<hkern u1="&#x22;" u2="W" k="-41" />
-<hkern u1="&#x22;" u2="V" k="-41" />
-<hkern u1="&#x22;" u2="T" k="-41" />
-<hkern u1="&#x22;" u2="A" k="143" />
-<hkern u1="&#x27;" u2="u" k="61" />
-<hkern u1="&#x27;" u2="s" k="61" />
-<hkern u1="&#x27;" u2="r" k="61" />
-<hkern u1="&#x27;" u2="q" k="123" />
-<hkern u1="&#x27;" u2="p" k="61" />
-<hkern u1="&#x27;" u2="o" k="123" />
-<hkern u1="&#x27;" u2="n" k="61" />
-<hkern u1="&#x27;" u2="m" k="61" />
-<hkern u1="&#x27;" u2="g" k="61" />
-<hkern u1="&#x27;" u2="e" k="123" />
-<hkern u1="&#x27;" u2="d" k="123" />
-<hkern u1="&#x27;" u2="c" k="123" />
-<hkern u1="&#x27;" u2="a" k="82" />
-<hkern u1="&#x27;" u2="Y" k="-20" />
-<hkern u1="&#x27;" u2="W" k="-41" />
-<hkern u1="&#x27;" u2="V" k="-41" />
-<hkern u1="&#x27;" u2="T" k="-41" />
-<hkern u1="&#x27;" u2="A" k="143" />
-<hkern u1="&#x28;" u2="J" k="-184" />
-<hkern u1="&#x2c;" u2="Y" k="123" />
-<hkern u1="&#x2c;" u2="W" k="123" />
-<hkern u1="&#x2c;" u2="V" k="123" />
-<hkern u1="&#x2c;" u2="U" k="41" />
-<hkern u1="&#x2c;" u2="T" k="143" />
-<hkern u1="&#x2c;" u2="Q" k="102" />
-<hkern u1="&#x2c;" u2="O" k="102" />
-<hkern u1="&#x2c;" u2="G" k="102" />
-<hkern u1="&#x2c;" u2="C" k="102" />
-<hkern u1="&#x2d;" u2="T" k="82" />
-<hkern u1="&#x2e;" u2="Y" k="123" />
-<hkern u1="&#x2e;" u2="W" k="123" />
-<hkern u1="&#x2e;" u2="V" k="123" />
-<hkern u1="&#x2e;" u2="U" k="41" />
-<hkern u1="&#x2e;" u2="T" k="143" />
-<hkern u1="&#x2e;" u2="Q" k="102" />
-<hkern u1="&#x2e;" u2="O" k="102" />
-<hkern u1="&#x2e;" u2="G" k="102" />
-<hkern u1="&#x2e;" u2="C" k="102" />
-<hkern u1="A" u2="&#x201d;" k="143" />
-<hkern u1="A" u2="&#x2019;" k="143" />
-<hkern u1="A" u2="Y" k="123" />
-<hkern u1="A" u2="W" k="82" />
-<hkern u1="A" u2="V" k="82" />
-<hkern u1="A" u2="T" k="143" />
-<hkern u1="A" u2="Q" k="41" />
-<hkern u1="A" u2="O" k="41" />
-<hkern u1="A" u2="J" k="-266" />
-<hkern u1="A" u2="G" k="41" />
-<hkern u1="A" u2="C" k="41" />
-<hkern u1="A" u2="&#x27;" k="143" />
-<hkern u1="A" u2="&#x22;" k="143" />
-<hkern u1="B" u2="Z" k="20" />
-<hkern u1="B" u2="Y" k="20" />
-<hkern u1="B" u2="X" k="41" />
-<hkern u1="B" u2="W" k="20" />
-<hkern u1="B" u2="V" k="20" />
-<hkern u1="B" u2="T" k="61" />
-<hkern u1="B" u2="A" k="41" />
-<hkern u1="B" u2="&#x2e;" k="82" />
-<hkern u1="B" u2="&#x2c;" k="82" />
-<hkern u1="C" u2="Q" k="41" />
-<hkern u1="C" u2="O" k="41" />
-<hkern u1="C" u2="G" k="41" />
-<hkern u1="C" u2="C" k="41" />
-<hkern u1="D" u2="Z" k="20" />
-<hkern u1="D" u2="Y" k="20" />
-<hkern u1="D" u2="X" k="41" />
-<hkern u1="D" u2="W" k="20" />
-<hkern u1="D" u2="V" k="20" />
-<hkern u1="D" u2="T" k="61" />
-<hkern u1="D" u2="A" k="41" />
-<hkern u1="D" u2="&#x2e;" k="82" />
-<hkern u1="D" u2="&#x2c;" k="82" />
-<hkern u1="E" u2="J" k="-123" />
-<hkern u1="F" u2="A" k="41" />
-<hkern u1="F" u2="&#x3f;" k="-41" />
-<hkern u1="F" u2="&#x2e;" k="123" />
-<hkern u1="F" u2="&#x2c;" k="123" />
-<hkern u1="K" u2="Q" k="41" />
-<hkern u1="K" u2="O" k="41" />
-<hkern u1="K" u2="G" k="41" />
-<hkern u1="K" u2="C" k="41" />
-<hkern u1="L" u2="&#x201d;" k="164" />
-<hkern u1="L" u2="&#x2019;" k="164" />
-<hkern u1="L" u2="Y" k="61" />
-<hkern u1="L" u2="W" k="41" />
-<hkern u1="L" u2="V" k="41" />
-<hkern u1="L" u2="U" k="20" />
-<hkern u1="L" u2="T" k="41" />
-<hkern u1="L" u2="Q" k="41" />
-<hkern u1="L" u2="O" k="41" />
-<hkern u1="L" u2="G" k="41" />
-<hkern u1="L" u2="C" k="41" />
-<hkern u1="L" u2="&#x27;" k="164" />
-<hkern u1="L" u2="&#x22;" k="164" />
-<hkern u1="O" u2="Z" k="20" />
-<hkern u1="O" u2="Y" k="20" />
-<hkern u1="O" u2="X" k="41" />
-<hkern u1="O" u2="W" k="20" />
-<hkern u1="O" u2="V" k="20" />
-<hkern u1="O" u2="T" k="61" />
-<hkern u1="O" u2="A" k="41" />
-<hkern u1="O" u2="&#x2e;" k="82" />
-<hkern u1="O" u2="&#x2c;" k="82" />
-<hkern u1="P" u2="Z" k="20" />
-<hkern u1="P" u2="X" k="41" />
-<hkern u1="P" u2="A" k="102" />
-<hkern u1="P" u2="&#x2e;" k="266" />
-<hkern u1="P" u2="&#x2c;" k="266" />
-<hkern u1="Q" u2="Z" k="20" />
-<hkern u1="Q" u2="Y" k="20" />
-<hkern u1="Q" u2="X" k="41" />
-<hkern u1="Q" u2="W" k="20" />
-<hkern u1="Q" u2="V" k="20" />
-<hkern u1="Q" u2="T" k="61" />
-<hkern u1="Q" u2="A" k="41" />
-<hkern u1="Q" u2="&#x2e;" k="82" />
-<hkern u1="Q" u2="&#x2c;" k="82" />
-<hkern u1="T" u2="&#x2014;" k="82" />
-<hkern u1="T" u2="&#x2013;" k="82" />
-<hkern u1="T" u2="z" k="82" />
-<hkern u1="T" u2="y" k="41" />
-<hkern u1="T" u2="x" k="41" />
-<hkern u1="T" u2="w" k="41" />
-<hkern u1="T" u2="v" k="41" />
-<hkern u1="T" u2="u" k="102" />
-<hkern u1="T" u2="s" k="123" />
-<hkern u1="T" u2="r" k="102" />
-<hkern u1="T" u2="q" k="143" />
-<hkern u1="T" u2="p" k="102" />
-<hkern u1="T" u2="o" k="143" />
-<hkern u1="T" u2="n" k="102" />
-<hkern u1="T" u2="m" k="102" />
-<hkern u1="T" u2="g" k="143" />
-<hkern u1="T" u2="e" k="143" />
-<hkern u1="T" u2="d" k="143" />
-<hkern u1="T" u2="c" k="143" />
-<hkern u1="T" u2="a" k="164" />
-<hkern u1="T" u2="T" k="-41" />
-<hkern u1="T" u2="Q" k="41" />
-<hkern u1="T" u2="O" k="41" />
-<hkern u1="T" u2="G" k="41" />
-<hkern u1="T" u2="C" k="41" />
-<hkern u1="T" u2="A" k="143" />
-<hkern u1="T" u2="&#x3f;" k="-41" />
-<hkern u1="T" u2="&#x2e;" k="123" />
-<hkern u1="T" u2="&#x2d;" k="82" />
-<hkern u1="T" u2="&#x2c;" k="123" />
-<hkern u1="U" u2="A" k="20" />
-<hkern u1="U" u2="&#x2e;" k="41" />
-<hkern u1="U" u2="&#x2c;" k="41" />
-<hkern u1="V" u2="u" k="20" />
-<hkern u1="V" u2="s" k="20" />
-<hkern u1="V" u2="r" k="20" />
-<hkern u1="V" u2="q" k="41" />
-<hkern u1="V" u2="p" k="20" />
-<hkern u1="V" u2="o" k="41" />
-<hkern u1="V" u2="n" k="20" />
-<hkern u1="V" u2="m" k="20" />
-<hkern u1="V" u2="g" k="20" />
-<hkern u1="V" u2="e" k="41" />
-<hkern u1="V" u2="d" k="41" />
-<hkern u1="V" u2="c" k="41" />
-<hkern u1="V" u2="a" k="41" />
-<hkern u1="V" u2="Q" k="20" />
-<hkern u1="V" u2="O" k="20" />
-<hkern u1="V" u2="G" k="20" />
-<hkern u1="V" u2="C" k="20" />
-<hkern u1="V" u2="A" k="82" />
-<hkern u1="V" u2="&#x3f;" k="-41" />
-<hkern u1="V" u2="&#x2e;" k="102" />
-<hkern u1="V" u2="&#x2c;" k="102" />
-<hkern u1="W" u2="u" k="20" />
-<hkern u1="W" u2="s" k="20" />
-<hkern u1="W" u2="r" k="20" />
-<hkern u1="W" u2="q" k="41" />
-<hkern u1="W" u2="p" k="20" />
-<hkern u1="W" u2="o" k="41" />
-<hkern u1="W" u2="n" k="20" />
-<hkern u1="W" u2="m" k="20" />
-<hkern u1="W" u2="g" k="20" />
-<hkern u1="W" u2="e" k="41" />
-<hkern u1="W" u2="d" k="41" />
-<hkern u1="W" u2="c" k="41" />
-<hkern u1="W" u2="a" k="41" />
-<hkern u1="W" u2="Q" k="20" />
-<hkern u1="W" u2="O" k="20" />
-<hkern u1="W" u2="G" k="20" />
-<hkern u1="W" u2="C" k="20" />
-<hkern u1="W" u2="A" k="82" />
-<hkern u1="W" u2="&#x3f;" k="-41" />
-<hkern u1="W" u2="&#x2e;" k="102" />
-<hkern u1="W" u2="&#x2c;" k="102" />
-<hkern u1="X" u2="Q" k="41" />
-<hkern u1="X" u2="O" k="41" />
-<hkern u1="X" u2="G" k="41" />
-<hkern u1="X" u2="C" k="41" />
-<hkern u1="Y" u2="z" k="41" />
-<hkern u1="Y" u2="u" k="61" />
-<hkern u1="Y" u2="s" k="82" />
-<hkern u1="Y" u2="r" k="61" />
-<hkern u1="Y" u2="q" k="102" />
-<hkern u1="Y" u2="p" k="61" />
-<hkern u1="Y" u2="o" k="102" />
-<hkern u1="Y" u2="n" k="61" />
-<hkern u1="Y" u2="m" k="61" />
-<hkern u1="Y" u2="g" k="41" />
-<hkern u1="Y" u2="e" k="102" />
-<hkern u1="Y" u2="d" k="102" />
-<hkern u1="Y" u2="c" k="102" />
-<hkern u1="Y" u2="a" k="102" />
-<hkern u1="Y" u2="Q" k="41" />
-<hkern u1="Y" u2="O" k="41" />
-<hkern u1="Y" u2="G" k="41" />
-<hkern u1="Y" u2="C" k="41" />
-<hkern u1="Y" u2="A" k="123" />
-<hkern u1="Y" u2="&#x3f;" k="-41" />
-<hkern u1="Y" u2="&#x2e;" k="123" />
-<hkern u1="Y" u2="&#x2c;" k="123" />
-<hkern u1="Z" u2="Q" k="20" />
-<hkern u1="Z" u2="O" k="20" />
-<hkern u1="Z" u2="G" k="20" />
-<hkern u1="Z" u2="C" k="20" />
-<hkern u1="[" u2="J" k="-184" />
-<hkern u1="a" u2="&#x201d;" k="20" />
-<hkern u1="a" u2="&#x2019;" k="20" />
-<hkern u1="a" u2="&#x27;" k="20" />
-<hkern u1="a" u2="&#x22;" k="20" />
-<hkern u1="b" u2="&#x201d;" k="20" />
-<hkern u1="b" u2="&#x2019;" k="20" />
-<hkern u1="b" u2="z" k="20" />
-<hkern u1="b" u2="y" k="41" />
-<hkern u1="b" u2="x" k="41" />
-<hkern u1="b" u2="w" k="41" />
-<hkern u1="b" u2="v" k="41" />
-<hkern u1="b" u2="&#x27;" k="20" />
-<hkern u1="b" u2="&#x22;" k="20" />
-<hkern u1="c" u2="&#x201d;" k="-41" />
-<hkern u1="c" u2="&#x2019;" k="-41" />
-<hkern u1="c" u2="&#x27;" k="-41" />
-<hkern u1="c" u2="&#x22;" k="-41" />
-<hkern u1="e" u2="&#x201d;" k="20" />
-<hkern u1="e" u2="&#x2019;" k="20" />
-<hkern u1="e" u2="z" k="20" />
-<hkern u1="e" u2="y" k="41" />
-<hkern u1="e" u2="x" k="41" />
-<hkern u1="e" u2="w" k="41" />
-<hkern u1="e" u2="v" k="41" />
-<hkern u1="e" u2="&#x27;" k="20" />
-<hkern u1="e" u2="&#x22;" k="20" />
-<hkern u1="f" u2="&#x201d;" k="-123" />
-<hkern u1="f" u2="&#x2019;" k="-123" />
-<hkern u1="f" u2="&#x27;" k="-123" />
-<hkern u1="f" u2="&#x22;" k="-123" />
-<hkern u1="h" u2="&#x201d;" k="20" />
-<hkern u1="h" u2="&#x2019;" k="20" />
-<hkern u1="h" u2="&#x27;" k="20" />
-<hkern u1="h" u2="&#x22;" k="20" />
-<hkern u1="k" u2="q" k="41" />
-<hkern u1="k" u2="o" k="41" />
-<hkern u1="k" u2="e" k="41" />
-<hkern u1="k" u2="d" k="41" />
-<hkern u1="k" u2="c" k="41" />
-<hkern u1="m" u2="&#x201d;" k="20" />
-<hkern u1="m" u2="&#x2019;" k="20" />
-<hkern u1="m" u2="&#x27;" k="20" />
-<hkern u1="m" u2="&#x22;" k="20" />
-<hkern u1="n" u2="&#x201d;" k="20" />
-<hkern u1="n" u2="&#x2019;" k="20" />
-<hkern u1="n" u2="&#x27;" k="20" />
-<hkern u1="n" u2="&#x22;" k="20" />
-<hkern u1="o" u2="&#x201d;" k="20" />
-<hkern u1="o" u2="&#x2019;" k="20" />
-<hkern u1="o" u2="z" k="20" />
-<hkern u1="o" u2="y" k="41" />
-<hkern u1="o" u2="x" k="41" />
-<hkern u1="o" u2="w" k="41" />
-<hkern u1="o" u2="v" k="41" />
-<hkern u1="o" u2="&#x27;" k="20" />
-<hkern u1="o" u2="&#x22;" k="20" />
-<hkern u1="p" u2="&#x201d;" k="20" />
-<hkern u1="p" u2="&#x2019;" k="20" />
-<hkern u1="p" u2="z" k="20" />
-<hkern u1="p" u2="y" k="41" />
-<hkern u1="p" u2="x" k="41" />
-<hkern u1="p" u2="w" k="41" />
-<hkern u1="p" u2="v" k="41" />
-<hkern u1="p" u2="&#x27;" k="20" />
-<hkern u1="p" u2="&#x22;" k="20" />
-<hkern u1="r" u2="&#x201d;" k="-82" />
-<hkern u1="r" u2="&#x2019;" k="-82" />
-<hkern u1="r" u2="q" k="41" />
-<hkern u1="r" u2="o" k="41" />
-<hkern u1="r" u2="g" k="20" />
-<hkern u1="r" u2="e" k="41" />
-<hkern u1="r" u2="d" k="41" />
-<hkern u1="r" u2="c" k="41" />
-<hkern u1="r" u2="a" k="41" />
-<hkern u1="r" u2="&#x27;" k="-82" />
-<hkern u1="r" u2="&#x22;" k="-82" />
-<hkern u1="t" u2="&#x201d;" k="-41" />
-<hkern u1="t" u2="&#x2019;" k="-41" />
-<hkern u1="t" u2="&#x27;" k="-41" />
-<hkern u1="t" u2="&#x22;" k="-41" />
-<hkern u1="v" u2="&#x201d;" k="-82" />
-<hkern u1="v" u2="&#x2019;" k="-82" />
-<hkern u1="v" u2="&#x3f;" k="-41" />
-<hkern u1="v" u2="&#x2e;" k="82" />
-<hkern u1="v" u2="&#x2c;" k="82" />
-<hkern u1="v" u2="&#x27;" k="-82" />
-<hkern u1="v" u2="&#x22;" k="-82" />
-<hkern u1="w" u2="&#x201d;" k="-82" />
-<hkern u1="w" u2="&#x2019;" k="-82" />
-<hkern u1="w" u2="&#x3f;" k="-41" />
-<hkern u1="w" u2="&#x2e;" k="82" />
-<hkern u1="w" u2="&#x2c;" k="82" />
-<hkern u1="w" u2="&#x27;" k="-82" />
-<hkern u1="w" u2="&#x22;" k="-82" />
-<hkern u1="x" u2="q" k="41" />
-<hkern u1="x" u2="o" k="41" />
-<hkern u1="x" u2="e" k="41" />
-<hkern u1="x" u2="d" k="41" />
-<hkern u1="x" u2="c" k="41" />
-<hkern u1="y" u2="&#x201d;" k="-82" />
-<hkern u1="y" u2="&#x2019;" k="-82" />
-<hkern u1="y" u2="&#x3f;" k="-41" />
-<hkern u1="y" u2="&#x2e;" k="82" />
-<hkern u1="y" u2="&#x2c;" k="82" />
-<hkern u1="y" u2="&#x27;" k="-82" />
-<hkern u1="y" u2="&#x22;" k="-82" />
-<hkern u1="&#x7b;" u2="J" k="-184" />
-<hkern u1="&#x2013;" u2="T" k="82" />
-<hkern u1="&#x2014;" u2="T" k="82" />
-<hkern u1="&#x2018;" u2="u" k="61" />
-<hkern u1="&#x2018;" u2="s" k="61" />
-<hkern u1="&#x2018;" u2="r" k="61" />
-<hkern u1="&#x2018;" u2="q" k="123" />
-<hkern u1="&#x2018;" u2="p" k="61" />
-<hkern u1="&#x2018;" u2="o" k="123" />
-<hkern u1="&#x2018;" u2="n" k="61" />
-<hkern u1="&#x2018;" u2="m" k="61" />
-<hkern u1="&#x2018;" u2="g" k="61" />
-<hkern u1="&#x2018;" u2="e" k="123" />
-<hkern u1="&#x2018;" u2="d" k="123" />
-<hkern u1="&#x2018;" u2="c" k="123" />
-<hkern u1="&#x2018;" u2="a" k="82" />
-<hkern u1="&#x2018;" u2="Y" k="-20" />
-<hkern u1="&#x2018;" u2="W" k="-41" />
-<hkern u1="&#x2018;" u2="V" k="-41" />
-<hkern u1="&#x2018;" u2="T" k="-41" />
-<hkern u1="&#x2018;" u2="A" k="143" />
-<hkern u1="&#x2019;" u2="u" k="61" />
-<hkern u1="&#x2019;" u2="s" k="61" />
-<hkern u1="&#x2019;" u2="r" k="61" />
-<hkern u1="&#x2019;" u2="q" k="123" />
-<hkern u1="&#x2019;" u2="p" k="61" />
-<hkern u1="&#x2019;" u2="o" k="123" />
-<hkern u1="&#x2019;" u2="n" k="61" />
-<hkern u1="&#x2019;" u2="m" k="61" />
-<hkern u1="&#x2019;" u2="g" k="61" />
-<hkern u1="&#x2019;" u2="e" k="123" />
-<hkern u1="&#x2019;" u2="d" k="123" />
-<hkern u1="&#x2019;" u2="c" k="123" />
-<hkern u1="&#x2019;" u2="a" k="82" />
-<hkern u1="&#x2019;" u2="Y" k="-20" />
-<hkern u1="&#x2019;" u2="W" k="-41" />
-<hkern u1="&#x2019;" u2="V" k="-41" />
-<hkern u1="&#x2019;" u2="T" k="-41" />
-<hkern u1="&#x2019;" u2="A" k="143" />
-<hkern u1="&#x201c;" u2="u" k="61" />
-<hkern u1="&#x201c;" u2="s" k="61" />
-<hkern u1="&#x201c;" u2="r" k="61" />
-<hkern u1="&#x201c;" u2="q" k="123" />
-<hkern u1="&#x201c;" u2="p" k="61" />
-<hkern u1="&#x201c;" u2="o" k="123" />
-<hkern u1="&#x201c;" u2="n" k="61" />
-<hkern u1="&#x201c;" u2="m" k="61" />
-<hkern u1="&#x201c;" u2="g" k="61" />
-<hkern u1="&#x201c;" u2="e" k="123" />
-<hkern u1="&#x201c;" u2="d" k="123" />
-<hkern u1="&#x201c;" u2="c" k="123" />
-<hkern u1="&#x201c;" u2="a" k="82" />
-<hkern u1="&#x201c;" u2="Y" k="-20" />
-<hkern u1="&#x201c;" u2="W" k="-41" />
-<hkern u1="&#x201c;" u2="V" k="-41" />
-<hkern u1="&#x201c;" u2="T" k="-41" />
-<hkern u1="&#x201c;" u2="A" k="143" />
-</font>
-</defs></svg> \ No newline at end of file
diff --git a/fonts/opensans-semibold.ttf b/fonts/opensans-semibold.ttf
deleted file mode 100644
index 6689cea..0000000
--- a/fonts/opensans-semibold.ttf
+++ /dev/null
Binary files differ
diff --git a/fonts/opensans-semibold.woff b/fonts/opensans-semibold.woff
deleted file mode 100644
index 165d05a..0000000
--- a/fonts/opensans-semibold.woff
+++ /dev/null
Binary files differ
diff --git a/index.html b/index.html
deleted file mode 100644
index 7fee8b5..0000000
--- a/index.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/" id="current">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section id="home">
- <p>DPDK is a Linux Foundation Project,
- developed by hundreds of contributors,
- supported by strong leading <a href="/about#members">members</a>,
- and used in a growing <a href="/about/ecosystem">ecosystem</a>.</p>
-
- <a href="about/Venky" style="display:block; margin:2em -1.5em 0 -1.5em;
- padding:1em; background:linear-gradient(to right,white,black); text-align:right;">
- in memoriam<img src="https://fast.dpdk.org/events/images/Venky-Venkatesan-.jpg"
- style="display: inline-block; border-radius:50%; margin-left:1em;"></a>
-
- <h2>What it is</h2>
- <p>DPDK is a set of libraries and drivers
- for <strong>fast packet processing</strong>.
- <p>It is designed to run on <strong>any processors</strong>.
- The first supported CPU was Intel x86 and it is now extended to
- IBM POWER and ARM.
- <p>It runs mostly in Linux <strong>userland</strong>.
- A FreeBSD port is available for a subset of DPDK features.</p>
- <p>DPDK is an <a href="http://opensource.org/licenses/BSD-3-Clause">Open Source BSD licensed</a> project.
- The most recent patches and enhancements, provided by the community,
- are available in <a href="/browse/dpdk/log/">master branch</a>.</p>
- <h3>Main libraries</h3>
- <ul>
- <li>multicore framework</li>
- <li>huge page memory</li>
- <li>ring buffers</li>
- <li>poll-mode drivers
- for <a href="/doc/nics">networking</a>
- , <a href="/doc/guides/cryptodevs/">crypto</a>
- and <a href="/doc/guides/eventdevs/">eventdev</a></li>
- </ul>
- <h3>Usage</h3>
- <p>These libraries can be used to:</p>
- <ul>
- <li>receive and send packets within the minimum number of CPU cycles (usually less than 80 cycles)</li>
- <li>develop fast packet capture algorithms (tcpdump-like)</li>
- <li>run third-party fast path stacks</li>
- </ul>
- <p>Some packet processing functions have been benchmarked up to
- hundreds million frames per second, using 64-byte packets with a PCIe NIC.</p>
- <h2>What it is not</h2>
- <p>DPDK is not a networking stack and does not provide functions such as
- Layer-3 forwarding, IPsec, firewalling, etc.
- Within the tree, however, various
- <a href="/browse/dpdk/tree/examples/">application examples are included</a>
- to help developing such features.</p>
- <p>Some support and services are provided by <a href="/about">several companies</a>.</p>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/layout.css b/layout.css
deleted file mode 100644
index 4371e37..0000000
--- a/layout.css
+++ /dev/null
@@ -1,110 +0,0 @@
-@import url(//dpdk.org/fonts.css);
-
-html {
- margin: 0 1em;
-}
-body {
- font-family: 'opensans', sans-serif;
- background-color: #eef0f3;
- max-width: 60em;
- margin: 0.5em auto;
-}
-
-header h1 {
- margin: 0 auto 0.75em;
- padding-top: 0.25em;
- text-align: center;
- font: italic bold 2em 'exo2', sans-serif;
-}
-header h1 a {
- color: #333;
-}
-header h1 a:hover {
- text-shadow: 1px 1px 1px #cc2;
-}
-header h1 a img {
- height: 86px;
-}
-
-header nav {
- border-radius: 0.4em 0.4em 0 0;
- background-color: #00233b;
- max-height: 4em;
- overflow: hidden;
- box-shadow: 0.2em 0.2em 0.7em black;
-}
-header nav ul {
- list-style: none;
-}
-header nav li {
- float: left;
-}
-header nav li a {
- display: inline-block;
- padding: 0.8em 0.7em;
- font: normal 0.7em/1 'exo2', sans-serif;
- font-size-adjust: 0.50;
- color: #ccc;
-}
-header nav li a#current {
- color: #fff;
- background-color: #782a90;
- box-shadow: inset 0 -1em 1em #580a70;
-}
-header nav li:first-child a {
- border-radius: 0.4em 0 0 0;
-}
-@media (min-width: 700px) {
- header nav li a {
- font-size: 0.9em;
- }
-}
-@media (min-width: 1000px) {
- header nav li a {
- padding: 0.8em 1.5em;
- font-size: 1em;
- }
-}
-@media only screen {
- header nav li a {
- -webkit-transition: background-color .1s linear;
- -moz-transition: background-color .1s linear;
- -o-transition: background-color .1s linear;
- transition: background-color .1s linear;
- }
- header nav li a#current:hover,
- header nav li a:hover {
- color: #fff;
- background-color: #ef4e22;
- box-shadow: inset 0 -1em 1em #CF2E02;
- -webkit-transition: background-color .08s linear;
- -moz-transition: background-color .08s linear;
- -o-transition: background-color .08s linear;
- transition: background-color .08s linear;
- }
-}
-
-section {
- clear: both;
- background-color: #fff;
- border-radius: 0 0 0.5em 0.5em;
- box-shadow: 0.2em 0.2em 0.7em black;
- padding: 1.5em;
-}
-
-section .banner-right {
- float: right;
- text-align: right;
- margin: 0 -1.5em 2em 0;
- padding: 0.7em 1.5em 0.7em 2em;
- border-radius: 2em 0 0 2em / 50% 0 0 50%;
- background: #00233b;
-}
-section .banner-right + * {
- clear: both;
-}
-
-footer {
- background: url("/logos/lfp.png") no-repeat center bottom / 331px;
- height: 50px;
-}
diff --git a/layouts/404.html b/layouts/404.html
new file mode 100644
index 0000000..e4e4a83
--- /dev/null
+++ b/layouts/404.html
@@ -0,0 +1,2 @@
+{{ define "main" }}
+{{ end }}
diff --git a/layouts/partials/custom-head.html b/layouts/partials/custom-head.html
new file mode 100644
index 0000000..210e52b
--- /dev/null
+++ b/layouts/partials/custom-head.html
@@ -0,0 +1,6 @@
+<head>
+ <link rel="shortcut icon" href="/favicon.ico">
+ <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.css">
+ <link rel="stylesheet" href="{{ .Site.BaseURL }}/css/dpdk.css">
+ <link href='//fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
+</head>
diff --git a/layouts/partials/menu-footer.html b/layouts/partials/menu-footer.html
new file mode 100644
index 0000000..d5b080c
--- /dev/null
+++ b/layouts/partials/menu-footer.html
@@ -0,0 +1,16 @@
+<div class="footer-container">
+ <div class="lf-footer">
+ <div>
+ © DPDK Project. LF Projects, LLC uses various trademarks.
+ For our trademark, privacy and antitrust policies, code of conduct and terms of use,
+ please click the applicable link below or see www.lfprojects.org.
+ </div>
+ <div style="margin-top: 5%">
+ <a href="//lfprojects.org/policies/terms-of-use/">Terms of Use</a> |
+ <a href="//lfprojects.org/policies/privacy-policy/">Privacy Policy</a> |
+ <a href="//lfprojects.org/policies/code-of-conduct/">Code of Conduct</a> |
+ <a href="//lfprojects.org/policies/trademark-policy/">Trademark Policy</a> |
+ <a href="//lfprojects.org/policies/antitrust-policy/">Antitrust Policy</a>
+ </div>
+ </div>
+</div>
diff --git a/logos/6wind.png b/logos/6wind.png
deleted file mode 100644
index 2b7b4a1..0000000
--- a/logos/6wind.png
+++ /dev/null
Binary files differ
diff --git a/logos/arm.png b/logos/arm.png
deleted file mode 100644
index 4cdd848..0000000
--- a/logos/arm.png
+++ /dev/null
Binary files differ
diff --git a/logos/atomicrules.png b/logos/atomicrules.png
deleted file mode 100644
index 0da7f03..0000000
--- a/logos/atomicrules.png
+++ /dev/null
Binary files differ
diff --git a/logos/att.png b/logos/att.png
deleted file mode 100644
index 205f923..0000000
--- a/logos/att.png
+++ /dev/null
Binary files differ
diff --git a/logos/broadcom.png b/logos/broadcom.png
deleted file mode 100644
index 10008aa..0000000
--- a/logos/broadcom.png
+++ /dev/null
Binary files differ
diff --git a/logos/cavium.png b/logos/cavium.png
deleted file mode 100644
index ff8af50..0000000
--- a/logos/cavium.png
+++ /dev/null
Binary files differ
diff --git a/logos/clearlinux.png b/logos/clearlinux.png
deleted file mode 100644
index 72cee85..0000000
--- a/logos/clearlinux.png
+++ /dev/null
Binary files differ
diff --git a/logos/debian.png b/logos/debian.png
deleted file mode 100644
index a3b5be6..0000000
--- a/logos/debian.png
+++ /dev/null
Binary files differ
diff --git a/logos/dpdk.png b/logos/dpdk.png
deleted file mode 100644
index 1f6fd03..0000000
--- a/logos/dpdk.png
+++ /dev/null
Binary files differ
diff --git a/logos/dpvs.png b/logos/dpvs.png
deleted file mode 100644
index 61ea5d0..0000000
--- a/logos/dpvs.png
+++ /dev/null
Binary files differ
diff --git a/logos/elte.png b/logos/elte.png
deleted file mode 100644
index d049ea0..0000000
--- a/logos/elte.png
+++ /dev/null
Binary files differ
diff --git a/logos/ericsson.png b/logos/ericsson.png
deleted file mode 100644
index 656ca6f..0000000
--- a/logos/ericsson.png
+++ /dev/null
Binary files differ
diff --git a/logos/f5.png b/logos/f5.png
deleted file mode 100644
index 8d96db3..0000000
--- a/logos/f5.png
+++ /dev/null
Binary files differ
diff --git a/logos/fastly.png b/logos/fastly.png
deleted file mode 100644
index 3d83596..0000000
--- a/logos/fastly.png
+++ /dev/null
Binary files differ
diff --git a/logos/fdio.png b/logos/fdio.png
deleted file mode 100644
index 58e683b..0000000
--- a/logos/fdio.png
+++ /dev/null
Binary files differ
diff --git a/logos/fedora.png b/logos/fedora.png
deleted file mode 100644
index 5bd161f..0000000
--- a/logos/fedora.png
+++ /dev/null
Binary files differ
diff --git a/logos/freebsd.png b/logos/freebsd.png
deleted file mode 100644
index 05bac7a..0000000
--- a/logos/freebsd.png
+++ /dev/null
Binary files differ
diff --git a/logos/gandi.png b/logos/gandi.png
deleted file mode 100644
index cc0e910..0000000
--- a/logos/gandi.png
+++ /dev/null
Binary files differ
diff --git a/logos/huawei.png b/logos/huawei.png
deleted file mode 100644
index c12e295..0000000
--- a/logos/huawei.png
+++ /dev/null
Binary files differ
diff --git a/logos/intel.png b/logos/intel.png
deleted file mode 100644
index 730f804..0000000
--- a/logos/intel.png
+++ /dev/null
Binary files differ
diff --git a/logos/kaist.png b/logos/kaist.png
deleted file mode 100644
index 1909fa0..0000000
--- a/logos/kaist.png
+++ /dev/null
Binary files differ
diff --git a/logos/lagopus.png b/logos/lagopus.png
deleted file mode 100644
index 568376c..0000000
--- a/logos/lagopus.png
+++ /dev/null
Binary files differ
diff --git a/logos/lfp.png b/logos/lfp.png
deleted file mode 100644
index 1029d1f..0000000
--- a/logos/lfp.png
+++ /dev/null
Binary files differ
diff --git a/logos/mellanox.png b/logos/mellanox.png
deleted file mode 100644
index ecd5bc8..0000000
--- a/logos/mellanox.png
+++ /dev/null
Binary files differ
diff --git a/logos/mirantis.png b/logos/mirantis.png
deleted file mode 100644
index 7b25d7b..0000000
--- a/logos/mirantis.png
+++ /dev/null
Binary files differ
diff --git a/logos/nxp.png b/logos/nxp.png
deleted file mode 100644
index 3cbb8a7..0000000
--- a/logos/nxp.png
+++ /dev/null
Binary files differ
diff --git a/logos/opnfv.png b/logos/opnfv.png
deleted file mode 100644
index 78a6d21..0000000
--- a/logos/opnfv.png
+++ /dev/null
Binary files differ
diff --git a/logos/ovs.png b/logos/ovs.png
deleted file mode 100644
index 880c87a..0000000
--- a/logos/ovs.png
+++ /dev/null
Binary files differ
diff --git a/logos/redhat.png b/logos/redhat.png
deleted file mode 100644
index 41c0d66..0000000
--- a/logos/redhat.png
+++ /dev/null
Binary files differ
diff --git a/logos/scylla.png b/logos/scylla.png
deleted file mode 100644
index 38bbc3a..0000000
--- a/logos/scylla.png
+++ /dev/null
Binary files differ
diff --git a/logos/spirent.png b/logos/spirent.png
deleted file mode 100644
index a96f7ca..0000000
--- a/logos/spirent.png
+++ /dev/null
Binary files differ
diff --git a/logos/suse.png b/logos/suse.png
deleted file mode 100644
index d696643..0000000
--- a/logos/suse.png
+++ /dev/null
Binary files differ
diff --git a/logos/trex.png b/logos/trex.png
deleted file mode 100644
index 7ee2c5d..0000000
--- a/logos/trex.png
+++ /dev/null
Binary files differ
diff --git a/logos/tsinghua.png b/logos/tsinghua.png
deleted file mode 100644
index ee9cbdb..0000000
--- a/logos/tsinghua.png
+++ /dev/null
Binary files differ
diff --git a/logos/ubuntu.png b/logos/ubuntu.png
deleted file mode 100644
index 2d5073e..0000000
--- a/logos/ubuntu.png
+++ /dev/null
Binary files differ
diff --git a/logos/umass.png b/logos/umass.png
deleted file mode 100644
index 1da9eaa..0000000
--- a/logos/umass.png
+++ /dev/null
Binary files differ
diff --git a/logos/univlimerick.png b/logos/univlimerick.png
deleted file mode 100644
index 8691dde..0000000
--- a/logos/univlimerick.png
+++ /dev/null
Binary files differ
diff --git a/logos/warp17.png b/logos/warp17.png
deleted file mode 100644
index d459ad1..0000000
--- a/logos/warp17.png
+++ /dev/null
Binary files differ
diff --git a/logos/windriver.png b/logos/windriver.png
deleted file mode 100644
index ff6f55c..0000000
--- a/logos/windriver.png
+++ /dev/null
Binary files differ
diff --git a/logos/zte.png b/logos/zte.png
deleted file mode 100644
index bcb5e7b..0000000
--- a/logos/zte.png
+++ /dev/null
Binary files differ
diff --git a/ml.html b/ml.html
deleted file mode 100644
index b8974d0..0000000
--- a/ml.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK ML</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml" id="current">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section id="ml">
- <h2>Mailing Lists</h2>
- <table>
- <tr>
- <th><a href="mailto:users@dpdk.org">users@dpdk.org</a></th>
- <td>usage discussions</td>
- <td>| <a href="https://dpdk.org/ml/listinfo/users">register</a>
- | <a href="/ml/archives/users">archives</a>
- |</td>
- </tr>
- <tr>
- <th></th>
- <td>
- <form action="https://mail-archive.com/search">
- <input type="hidden" name="a" value="1">
- <input type="hidden" name="l" value="users@dpdk.org">
- <input type="hidden" name="o" value="newest">
- <input type="text" name="haswords" size="40"
- placeholder="search in users@dpdk.org archives">
- </form>
- </td>
- <td></td>
- </tr>
- <tr>
- <th><a href="mailto:announce@dpdk.org">announce@dpdk.org</a></th>
- <td>release announcements (forwarded to dev list)</td>
- <td>| <a href="https://dpdk.org/ml/listinfo/announce">register</a>
- | <a href="/ml/archives/announce">archives</a>
- |</td>
- </tr>
- <tr>
- <th><a href="mailto:dev@dpdk.org">dev@dpdk.org</a></th>
- <td>patches reviews and development discussions</td>
- <td>| <a href="https://dpdk.org/ml/listinfo/dev">register</a>
- | <a href="/ml/archives/dev">archives</a>
- |</td>
- </tr>
- <tr>
- <th></th>
- <td>
- <form action="https://mail-archive.com/search">
- <input type="hidden" name="a" value="1">
- <input type="hidden" name="l" value="dev@dpdk.org">
- <input type="hidden" name="o" value="newest">
- <input type="text" name="haswords" size="40"
- placeholder="search in dev@dpdk.org archives">
- </form>
- </td>
- <td></td>
- </tr>
- <tr>
- <th><a href="mailto:stable@dpdk.org">stable@dpdk.org</a></th>
- <td>backports on stable branches</td>
- <td>| <a href="https://dpdk.org/ml/listinfo/stable">register</a>
- | <a href="/ml/archives/stable">archives</a>
- |</td>
- </tr>
- <tr>
- <th><a href="mailto:ci@dpdk.org">ci@dpdk.org</a></th>
- <td>continuous integration support</td>
- <td>| <a href="https://dpdk.org/ml/listinfo/ci">register</a>
- | <a href="/ml/archives/ci">archives</a>
- |</td>
- </tr>
- <tr>
- <th><a href="mailto:dts@dpdk.org">dts@dpdk.org</a></th>
- <td>test suite reviews and discussions</td>
- <td>| <a href="https://dpdk.org/ml/listinfo/dts">register</a>
- | <a href="/ml/archives/dts">archives</a>
- |</td>
- </tr>
- <tr>
- <th><a href="/ml/archives/test-report">test-report@dpdk.org</a></th>
- <td>automatic test reports</td>
- <td>| <a href="https://dpdk.org/ml/listinfo/test-report">register</a>
- | <a href="/ml/archives/test-report">archives</a>
- |</td>
- </tr>
- <tr>
- <th><a href="/ml/archives/spp">spp@dpdk.org</a></th>
- <td>app: soft patch panel</td>
- <td>| <a href="https://dpdk.org/ml/listinfo/spp">register</a>
- | <a href="/ml/archives/spp">archives</a>
- |</td>
- </tr>
- <tr>
- <th><a href="mailto:web@dpdk.org">web@dpdk.org</a></th>
- <td>website maintenance</td>
- <td>| <a href="https://dpdk.org/ml/listinfo/web">register</a>
- | <a href="/ml/archives/web">archives</a>
- |</td>
- </tr>
- <tr>
- <th><a href="mailto:moving@dpdk.org">moving@dpdk.org</a></th>
- <td>community structure changes</td>
- <td>| <a href="https://dpdk.org/ml/listinfo/moving">register</a>
- | <a href="/ml/archives/moving">archives</a>
- |</td>
- </tr>
- </table>
- <p>You must be registered to post on these mailing lists. It is a spam countermeasure.</p>
- <p>If you are having trouble using the lists, please contact <a href="mailto:admin@dpdk.org">admin@dpdk.org</a>.</p>
- <h3>Best practices</h3>
- <p>As advised by Eric S. Raymond in "<a href="http://www.catb.org/~esr/faqs/smart-questions.html">How To Ask Questions The Smart Way</a>", a good title convey what you're asking while not being too long. Then try to be descriptive in the email body.</p>
- <p>In-line replies are preferred because it's easier to read. See <a href=http://en.wikipedia.org/wiki/Posting_style>posting styles</a> for more details.</p>
- <p>HTML emails are forbidden because they are difficult to view in the archives.</p>
- <p>As this is a public mailing list, confidential disclaimers are not allowed.</p>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/news.html b/news.html
deleted file mode 100644
index f99993c..0000000
--- a/news.html
+++ /dev/null
@@ -1,191 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK news</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download">Download</a></li>
- <li><a href="/doc">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news" id="current">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
- </header>
- <section id="news">
- <h2>In the News</h2>
- <ul>
- <li>
- <em>May 30, 2017</em>
- <a href="http://www.atomicrules.com/atomic-rules-announces-dpdk-aware-fpga-gpp-data-mover">
- Atomic Rules announces Arkville, DPDK-aware FPGA/GPP data mover</a>
- <li>
- <em>April 3, 2017</em>
- <a href="https://linuxfoundation.org/announcements/networking-industry-leaders-join-forces-to-expand-new-open-source-community-to-drive">
- DPDK joins The Linux Foundation</a>
- <li>
- <em>January 26, 2017</em>
- <a href="https://reannz.co.nz/news/ruru-visualise-international-traffic-flows-real-time">
- REANNZ presents Ruru, a DPDK-based toolkit to visualise international traffic flows in real-time</a>
- <li>
- <em>December 1, 2016</em>
- <a href="https://packages.qa.debian.org/d/dpdk/news/20161201T163916Z.html">
- DPDK is available in Debian testing</a>
- <li>
- <em>October 26, 2016</em>
- <a href="http://dpdk.org/ml/archives/stable/2016-October/000368.html">
- First release of a DPDK stable branch</a>
- <li>
- <em>September 27, 2016</em>
- <a href="http://blog.russellbryant.net/2016/09/29/ovs-2-6-and-the-first-release-of-ovn">
- OVS 2.6 includes the first OVN release</a>
- <li>
- <em>August 25, 2016</em>
- <a href="http://github.com/outscale/butterfly">
- Outscale releases the virtual switch Butterfly</a>
- <li>
- <em>June 8, 2016</em>
- <a href="http://warp17.net">
- Juniper announces the packet generator WARP17</a>
- <li>
- <em>May 20, 2016</em>
- <a href="http://clearlinux.org/blogs/dpdk-clear-linux-os-intel%C2%AE-architecture">
- DPDK is available in Clear Linux OS</a>
- <li>
- <em>May 5, 2016</em>
- <a href="http://insights.ubuntu.com/2016/05/05/the-new-simplicity-to-consume-dpdk">
- DPDK is available in Ubuntu 16.04</a>
- <li>
- <em>April 21, 2016</em>
- <a href="http://docs.mirantis.com/openstack/fuel/fuel-9.0/release-notes.html#new-features">
- Mirantis OpenStack Fuel 9 supports DPDK</a>
- <li>
- <em>March 17, 2016</em>
- <a href="http://span.cs.berkeley.edu/bess.html">
- UC Berkeley, Intel and AT&T announce the virtual switch framework BESS</a>
- <li>
- <em>March 2, 2016</em>
- <a href="http://dpdk.org/ml/archives/dev/2016-March/034348.html">
- The TCP stack ANS works with Redis and NGINX ports</a>
- <li>
- <em>February 11, 2016</em>
- <a href="http://linuxfoundation.org/news-media/announcements/2016/02/linux-foundation-forms-open-source-effort-advance-io-services">
- The Linux Foundation announces the virtual router VPP in fd.io</a>
- <li>
- <em>December 16, 2015</em>
- <a href="http://gandi.net/news/en/2015-12-16/6308-packet-journey_a_free_software_router_for_linux_based_on_dpdk">
- Gandi announces the virtual router Packet-journey</a>
- <li>
- <em>December 3, 2015</em>
- <a href="http://www.theregister.co.uk/2015/12/08/nokia_arm_enea_craft_tcpip_stack_for_the_cloud">
- Nokia, ARM and Enea announce the TCP stack OpenFastPath</a>
- <li>
- <em>October 29, 2015</em>
- <a href="http://conferences.sigcomm.org/imc/2015/papers/p275.pdf">
- Munich University presents the traffic generator Moongen</a>
- <li>
- <em>September 22, 2015</em>
- <a href="http://itpeernetwork.intel.com/new-storage-performance-development-kit-goes-live">
- Intel announces the Storage Performance Development Kit (SPDK)</a>
- <li>
- <em>August 19, 2015</em>
- <a href="http://dpdk.org/ml/archives/dev/2015-August/022892.html">
- Cisco announces the traffic generator TRex</a>
- <li>
- <em>July 3, 2015</em>
- <a href="http://www.chelsio.com/wp-content/uploads/resources/T5-40Gb-Linux-DPDK.pdf">
- Chelsio reports T5 performances</a>
- <li>
- <em>February 20, 2015</em>
- <a href="http://blog.cloudius-systems.com/2015/02/20/seastar">
- ScyllaDB (formerly Cloudius) announces the C++ framework Seastar</a>
- <li>
- <em>October 13, 2014</em>
- <a href="http://events.linuxfoundation.org/sites/events/files/slides/Openstack-v4_0.pdf">
- High performance NFVI explained at LinuxCon</a>
- <li>
- <em>April 4, 2014</em>
- <a href="https://www.usenix.org/system/files/conference/nsdi14/nsdi14-paper-jeong.pdf">
- KAIST presents the userland stack mTCP</a>
- <li>
- <em>September 9, 2013</em>
- <a href="http://6wind.com/wp-content/uploads/PDF/press/2013/6WIND-Demonstrates-Intel-Open-Networking-Platform-Support.pdf">
- 6WIND demonstrates Open vSwitch acceleration during IDF</a>
- <li>
- <em>June 28, 2013</em>
- <a href="https://github.com/01org/dpdk-ovs">
- Intel releases a reference code for Open vSwitch</a>
- <li>
- <em>May 31, 2013</em>
- <a href="http://dpdk.org/ml/archives/announce/2013-May/000002.html">
- Wind River releases Pktgen using text management interface</a>
- <li>
- <em>May 23, 2013</em>
- <a href="http://dpdk.org/ml/archives/dev/2013-May/000088.html">
- NetBSD TCP/IP port on DPDK using Rump framework</a>
- <li>
- <em>April 17, 2013</em>
- <a href="http://newsroom.intel.com/community/intel_newsroom/blog/2013/04/17/intel-accelerates-the-data-center-and-telecom-network-transformation-with-new-reference-architectures">
- Intel announces new reference architectures (Sunrise Trail and accelerated Open vSwitch)</a>
- <li>
- <em>April 9, 2013</em>
- <a href="http://6wind.com/wp-content/uploads/PDF/press/2013/6WIND-Announces-dpdk-org.pdf">
- 6WIND announces dpdk.org</a>
- <li>
- <em>April 2, 2013</em>
- <a href="http://6wind.com/wp-content/uploads/PDF/press/2013/6WIND-Announces-Virtual-Switch-Acceleration-Software.pdf">
- 6WIND announces accelerated Open vSwitch</a>
- <li>
- <em>February 25, 2013</em>
- <a href="http://6wind.com/wp-content/uploads/PDF/press/2013/6WIND-Announces-Mellanox-Support.pdf">
- 6WIND and Mellanox announce Mellanox ConnectX-3 40G librte_pmd_mlx4 driver</a>
- <li>
- <em>June 12, 2012</em>
- <a href="http://6wind.com/wp-content/uploads/PDF/press/2012/6WIND-announces-VMware-support.pdf">
- 6WIND announces PMD (Poll Mode Driver) driver for VMware ESXi</a>
- <li>
- <em>May 22, 2012</em>
- <a href="http://www.windriver.com/news/press/pr.html?ID=10661">
- Wind River announces DPDK support</a>
- <li>
- <em>February 27, 2012</em>
- <a href="http://www.tieto.com/tieto-provides-professional-software-services-and-support-intel%C2%AE-data-plane-development-kit">
- Tieto announces DPDK support</a>
- <li>
- <em>February 27, 2012</em>
- <a href="http://www.qosmos.com/qosmos-extends-its-advanced-deep-packet-inspection-software-to-support-intel-data-plane-development-kit">
- Qosmos announces DPI ixEngine library for DPDK</a>
- <li>
- <em>September 11, 2011</em>
- <a href="http://www.prweb.com/releases/2011/9/prweb8785683.htm">
- 6WIND announces DPDK support</a>
- </ul>
- </section>
- <footer></footer>
- </body>
-</html>
diff --git a/rel.html b/rel.html
deleted file mode 100644
index f22186c..0000000
--- a/rel.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name=viewport content="width=device-width, initial-scale=1" />
- <title>DPDK download</title>
- <link rel="stylesheet" href="/reset.css" />
- <link rel="stylesheet" href="/layout.css" />
- <link rel="stylesheet" href="/content.css" />
- <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-39229303-1']);
- _gaq.push(['_setDomainName', 'dpdk.org']);
- _gaq.push(['_setAllowLinker', true]);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//www.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
-</head>
-<body>
-<header>
- <h1><a href="//dpdk.org/"><img src="/logos/dpdk.png"
- alt="DPDK: Data Plane Development Kit"></a></h1>
- <nav>
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/download" id="current">Download</a></li>
- <li><a href="/doc">Documentation</a></li>
- <li><a href="/dev">Development</a></li>
- <li><a href="/ml">Mailing Lists</a></li>
- <li><a href="/events">Events</a></li>
- <li><a href="/news">News</a></li>
- <li><a href="/about">About</a></li>
- </ul>
- </nav>
-</header>
-<section id="rel">
- <h2>Releases</h2>
- <a href="/dev/roadmap" class="button">
- <i class="material-icons">date_range</i>
- Roadmap
- </a><!-- no whitespace
- --><a href="https://fast.dpdk.org/rel/" class="button">
- <i class="material-icons">view_list</i>
- All Releases
- </a><!-- no whitespace
- --><a href="/browse/dpdk-stable/refs/" class="button">
- <i class="material-icons">call_split</i>
- Archives from Git
- </a>
- <hr>
- <table>
- <tr>
- <th>file</th>
- <th>date/changelog</th>
- <th>md5</th>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-18.05.tar.xz">DPDK 18.05</a></td>
- <td><a href="/doc/guides-18.05/rel_notes/release_18_05.html">2018 May 30</a></td>
- <td><pre>9fc86367cd9407ff6a8dfea56c4eddc4</pre></td>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-18.02.2.tar.xz">DPDK 18.02.2</a></td>
- <td><a href="/doc/guides-18.02/rel_notes/release_18_02.html">2018 June 15</a></td>
- <td><pre>75ad6d39b513649744e49c9fcbbb9ca5</pre></td>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-17.11.3.tar.xz">DPDK 17.11.3 (LTS)</a></td>
- <td><a href="/doc/guides-17.11/rel_notes/release_17_11.html">2018 June 15</a></td>
- <td><pre>68ca84ac878011acf44e75d33b46f55b</pre></td>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-17.08.2.tar.xz">DPDK 17.08.2</a></td>
- <td><a href="/doc/guides-17.08/rel_notes/release_17_08.html">2018 April 23</a></td>
- <td><pre>dd239a878c8c40cf482fdfe438f8d99c</pre></td>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-17.05.2.tar.xz">DPDK 17.05.2</a></td>
- <td><a href="/doc/guides-17.05/rel_notes/release_17_05.html">2017 September 7</a></td>
- <td><pre>37afc9ce410d8e6945a1beb173074003</pre></td>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-17.02.1.tar.xz">DPDK 17.02.1</a></td>
- <td><a href="/doc/guides-17.02/rel_notes/release_17_02.html">2017 June 2</a></td>
- <td><pre>cbdf8b7a92ce934d47c38cbc9c20c54a</pre></td>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-16.11.7.tar.xz">DPDK 16.11.7 (LTS)</a></td>
- <td><a href="/doc/guides-16.11/rel_notes/release_16_11.html">2018 June 14</a></td>
- <td><pre>c081d113dfd57633e3bc3ebc802691be</pre></td>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-16.07.2.tar.xz">DPDK 16.07.2</a></td>
- <td><a href="/doc/guides-16.07/rel_notes/release_16_07.html">2016 November 30</a></td>
- <td><pre>4922ea2ec935b64ff5c191fec53344a6</pre></td>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-16.04.tar.xz">DPDK 16.04</a></td>
- <td><a href="/doc/guides/rel_notes/release_16_04.html">2016 April 12</a></td>
- <td><pre>d1f82e7d7589b3b2f623c155442b8306</pre></td>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-2.2.0.tar.xz">DPDK 2.2</a></td>
- <td><a href="/doc/guides/rel_notes/release_2_2.html">2015 December 15</a></td>
- <td><pre>bfa10283b49d56264c82519d130458cc</pre></td>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-2.1.0.tar.xz">DPDK 2.1</a></td>
- <td><a href="/doc/guides/rel_notes/release_2_1.html">2015 August 17</a></td>
- <td><pre>a0d69f78f360e03dbdf38ae93fad32d4</pre></td>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-2.0.0.tar.xz">DPDK 2.0</a></td>
- <td><a href="/doc/guides/rel_notes/release_2_0.html">2015 April 3</a></td>
- <td><pre>44bf2ffd39e8370d4dee8907699f964a</pre></td>
- </tr>
- <tr>
- <td><a href="https://fast.dpdk.org/rel/dpdk-1.8.0.tar.xz">DPDK 1.8</a></td>
- <td><a href="/doc/guides/rel_notes/release_1_8.html">2014 December 3</a></td>
- <td><pre>14f26ca9e1c9f72f0d7abda83cbf8127</pre></td>
- </tr>
- </table>
-</section>
-<footer></footer>
diff --git a/reset.css b/reset.css
deleted file mode 100644
index 2756e79..0000000
--- a/reset.css
+++ /dev/null
@@ -1,47 +0,0 @@
-html, body, div, span, p, img, ol, ul, li,
-table, caption, thead, tbody, tfoot, tr, th, td,
-pre, em, strong, sub, sup {
- margin: 0;
- padding: 0;
-}
-/* HTML5 tags */
-header, footer, section, aside, nav, article, figure {
- display: block;
-}
-
-/* fix for broken auto-fit on Android */
-h1, h2, h3, p, pre, li {
- background: url('');
-}
-
-body {
- font: 100% sans-serif;
- background-color: #fff;
- color: #000;
- vertical-align: baseline;
- text-align: left;
- line-height: 1;
-}
-
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-img {
- width: auto;
-}
-a img {
- border: 0;
-}
-img, th, td {
- vertical-align: middle
-}
-a {
- text-decoration: inherit;
-}
-acronym {
- border-bottom-style: inherit;
-}
-acronym:hover {
- border-bottom-style: dotted; cursor: help;
-}
diff --git a/scripts/serve_local.py b/scripts/serve_local.py
deleted file mode 100644
index 589fe48..0000000
--- a/scripts/serve_local.py
+++ /dev/null
@@ -1,63 +0,0 @@
-import BaseHTTPServer
-from os import curdir, sep, listdir
-
-port = 8000
-folders = [".", "./about", "./doc", "./dev"]
-
-html_files = []
-
-for fol in folders:
- all_files = listdir(fol)
- for f in all_files:
- if f.endswith(".html") and not f.startswith("cgit"):
- html_files.append(f[:len(f)-5])
-
-for f in html_files:
- #print("final files %s" % f)
- pass
-
-class DPDK_Handler(BaseHTTPServer.BaseHTTPRequestHandler):
- def do_GET(self):
- mimetype = ""
- if self.path.endswith(".html") or self.path.endswith("/"):
- mimetype='text/html'
-
- # Rudimental path rewriting to make links work
- path = self.path
- if path == "/":
- path = "index.html"
- else:
- for f in html_files:
- if path.endswith(f) and not path.endswith(".html"):
- path += ".html"
- break
-
- try:
- f = open(curdir + sep + path)
- self.send_response(200)
- self.send_header('Content-type', mimetype)
- self.end_headers()
- self.wfile.write(f.read().replace('//dpdk.org', ''))
- f.close()
- except IOError:
- self.send_error(404, 'File Not Found: %s' % path)
- def log_message(self, format, *args):
- return
-
-def run(server_class=BaseHTTPServer.HTTPServer,
- handler_class=BaseHTTPServer.BaseHTTPRequestHandler):
- server_address = ('', port)
- httpd = server_class(server_address, handler_class)
- httpd.serve_forever()
-
-url = "http://localhost:%d" % port
-print(url)
-try:
- run(handler_class=DPDK_Handler)
-except BaseHTTPServer.socket.error:
- print("#######################################")
- print("# ERROR: Socket already in use. #")
- print("# Are you running the server already? #")
- print("#######################################")
-except KeyboardInterrupt:
- print("\tQuitting, bye bye!")
diff --git a/sitemap.xml b/sitemap.xml
deleted file mode 100644
index e1ec9d4..0000000
--- a/sitemap.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
- <url>
- <loc>https://dpdk.org/dev</loc>
- <priority>1.0</priority>
- </url>
- <url>
- <loc>https://dpdk.org/news</loc>
- <priority>0.9</priority>
- </url>
- <url>
- <loc>https://dpdk.org/doc</loc>
- <priority>0.8</priority>
- </url>
- <url>
- <loc>https://dpdk.org/ml</loc>
- <priority>0.7</priority>
- </url>
- <url>
- <loc>https://dpdk.org/download</loc>
- <priority>0.6</priority>
- </url>
- <url>
- <loc>https://dpdk.org/about</loc>
- <priority>0.5</priority>
- </url>
-</urlset>
diff --git a/static/css/dpdk.css b/static/css/dpdk.css
new file mode 100644
index 0000000..8e2a15d
--- /dev/null
+++ b/static/css/dpdk.css
@@ -0,0 +1,185 @@
+header {
+ height: 5rem;
+}
+
+header:after {
+ display: none;
+}
+
+header .logo img {
+ height: 44px;
+}
+
+.main-hero {
+ background: linear-gradient(rgba(86,15,125,.5),rgba(255,99,0,.5)), url('/img/bg_tunnel.jpg');
+ color: #fff;
+ width: 100%;
+ margin-top: 2%;
+ padding: 2%;
+}
+
+.main-hero h2 {
+ text-align: center;
+ font-size: 30px;
+ letter-spacing: 1px;
+ line-height: 1.4;
+}
+
+.tagline {
+ text-align: center;
+ padding: 0 5%;
+ line-height: 1.6;
+}
+
+body {
+ font-family: 'Roboto';
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-weight: 400 !important;
+ margin-top: 6%;
+}
+
+h6 {
+ font-size: 18px;
+}
+
+p,
+ul li {
+ font-size: 18px;
+}
+
+ul li {
+ margin: 1%;
+}
+
+a,
+ul li a {
+ color: #f04e23;
+}
+
+a:hover,
+ul li a:hover,
+a:active,
+ul li a:active {
+ color: #000;
+}
+
+article section.page h1:first-of-type {
+ background: linear-gradient(rgba(86,15,125,.5),rgba(63,16,99,.5)), url('/img/bg_tunnel.jpg');
+ color: #fff;
+ width: 100%;
+ margin-top: 2%;
+ padding: 6% 0;
+ font-family: 'Roboto';
+}
+
+aside .menu li a {
+ color: #333;
+}
+
+nav.shortcuts li a {
+ font-size: 16px;
+ color: #f7fff4;
+ position: relative;
+}
+
+nav.shortcuts li a:after {
+ content: '';
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 0%;
+ border-bottom: 2px solid #ff6300;
+ transition: 0.4s;
+}
+
+nav.shortcuts li a:hover:after {
+ transform: scaleX(1);
+}
+
+nav.shortcuts li a:hover {
+ background-color: #333 !important;
+}
+
+nav.shortcuts li a:hover:after {
+ width: 100%;
+}
+
+.btn {
+ text-transform: uppercase;
+ letter-spacing: 2px;
+ padding: 1% 2%;
+ margin: 1%;
+}
+
+.btn-primary {
+ background-color: #ff3900;
+ border-color: #e53300;
+}
+
+.btn-primary:hover {
+ background-color: #ff6300;
+ border-color: #ff3900;
+}
+
+nav.shortcuts li a {
+ // animated underline links
+}
+
+article > aside .menu .dd-item {
+ font-size: 16px;
+}
+
+.dwnld-btn-group {
+ display: flex;
+ justify-content: space-between;
+ height: 100%;
+}
+
+.dwnld-btn-group .dwnld-btn {
+ background-color: gray;
+ border: none;
+ color: white;
+ padding: 30px 20px;
+ cursor: pointer;
+ font-size: 16px;
+ letter-spacing: 1px;
+ width: 200px;
+ text-align: center;
+}
+
+.dwnld-btn-group .dwnld-btn span {
+ display: block;
+ margin-bottom: 20px;
+ text-align: center;
+}
+
+.dwnld-btn-group .dwnld-btn:hover {
+ opacity: 0.6;
+}
+
+.footer-container {
+ position: absolute;
+ bottom: 0;
+}
+
+.github-footer {
+ padding-bottom: 5%;
+}
+
+.lf-footer {
+ background-color: #1c1c1c;
+ color: gray;
+ padding: 5%;
+ padding-top: 10%;
+ font-size: 12px;
+}
+
+.lf-footer a {
+ color: #fff;
+}
+
+.lf-footer a:hover {
+ color: #f04e23;
+}
diff --git a/static/favicon.ico b/static/favicon.ico
new file mode 100644
index 0000000..c8f059c
--- /dev/null
+++ b/static/favicon.ico
Binary files differ
diff --git a/static/img/bg_tunnel.jpg b/static/img/bg_tunnel.jpg
new file mode 100644
index 0000000..830e2f3
--- /dev/null
+++ b/static/img/bg_tunnel.jpg
Binary files differ
diff --git a/static/img/dpdk.png b/static/img/dpdk.png
new file mode 100644
index 0000000..8e91b9a
--- /dev/null
+++ b/static/img/dpdk.png
Binary files differ
diff --git a/themes/docdock b/themes/docdock
new file mode 160000
+Subproject b667496cb368fa3336c5b2ef310abb74c2f365d