diff --git a/.asf.yaml b/.asf.yaml
deleted file mode 100644
index d8460fb..0000000
--- a/.asf.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-github:
-  features:
-    # Enable issue management
-    issues: true
-
-notifications:
-  commits: wave@apache.org
-  issues: wave@apache.org
-  pullrequests: wave@apache.org
-
-pelican:
-  notify: wave@apache.org
-  autobuild: preview/*
-  target: asf-site
-  theme: theme/apache
-  whoami: main
-
-staging:
-  profile: ~
-  whoami: asf-site
-  autostage: preview/*
diff --git a/.markdownlint.yaml b/.markdownlint.yaml
deleted file mode 100644
index 089b823..0000000
--- a/.markdownlint.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# https://github.com/DavidAnson/markdownlint#rules--aliases
-
-# MD004 ul-style - Unordered list style
-MD004: false
-
-# MD013 line-length - Line length
-MD013: false
-
-# MD033 no-inline-html - Inline HTML
-MD033: false
-
-# MD034 no-bare-urls - Bare URL used
-MD034: false
-
-# MD041 first-line-heading/first-line-h1
-MD041: false
diff --git a/.yamllint b/.yamllint
deleted file mode 100644
index 126f3af..0000000
--- a/.yamllint
+++ /dev/null
@@ -1,9 +0,0 @@
----
-
-extends: default
-
-rules:
-  colons: disable
-  document-start: disable
-  line-length: disable
-  truthy: disable
diff --git a/asfdata.yaml b/asfdata.yaml
deleted file mode 100644
index e5ea836..0000000
--- a/asfdata.yaml
+++ /dev/null
@@ -1,106 +0,0 @@
-# key-value pairs - examples
-test1: 'test id'
-test2: 'testing 1, 2, 3'
-
-# data sources to slurp and sequence
-#   index.ezmd
-#   foundation/index.ezmd
-#   foundation/board/index.ezmd
-#   licenses/exports/index.ezmd
-ci:
-  # load, transform, and create data sequences from committee info 
-  url: https://whimsy.apache.org/public/committee-info.json
-  board:
-    # used on /foundation/ and /foundation/board/
-    description: 'Board of Directors sequence'
-    # select ci['board']['roster'] for the sequence
-    path: board.roster
-  officers:
-    description: 'Foundation Officers sequence'
-    # select ci['officers'] for the sequence
-    path: officers
-    # convert ci['officers']['roster']
-    asfid: roster
-  committees:
-    description: 'Foundation Committees sequence'
-    # ci['committees']
-    path: committees
-    # remove all report and roster dictionaries from committees
-    trim: report,roster
-    # convert ci['committees']['chair']
-    asfid: chair
-  ci:
-    # used on /foundation/
-    description: 'Dictionary of officers and committees'
-    # save a merged dictionary version of these sequences.
-    dictionary: officers,committees
-  projects:
-    description: 'Current Projects'
-    # ci['committees']
-    path: committees
-    # select only where 'pmc' is true.
-    where: pmc
-    # sort by project name
-    alpha: display_name
-  featured_projs:
-    # used on /
-    description: 'Featured Projects'
-    # base on projects sequence
-    sequence: projects
-    # take a random sample of 3
-    random: 3
-    # logo path - use apache powered by if missing
-    logo: /logos/res/{}/default.png,/foundation/press/kit/poweredBy/Apache_PoweredBy.svg
-  pl:
-    # used on /
-    description: 'Project List Columns'
-    # base on projects sequence
-    sequence: projects
-    # split into 6 column sequence adding letters of the alphabet and putting httpd first
-    split: 6
-
-# used on index.ezmd
-pods:
-  # load, transform, and create data sequences from podling info 
-  url: https://projects.apache.org/json/foundation/podlings.json
-  podlings:
-    description: 'Current Podlings'
-    # create a sequence from the dictionary
-  featured_pods:
-    description: 'Featured Podlings'
-    # based on the podlings sequence
-    sequence: podlings
-    # take a random sample of 3
-    random: 3
-    # logo path - use incubator if missing. Strip "Apache" and "(incubator)" from name.
-    logo: /logos/res/{}/default.png,/logos/res/incubator/default.png
-
-# used on licenses/exports/index.ezmd
-eccn:
-  # load, transform, and create a four tiered structure of sequence objects
-  # projects, products, versions, and sources
-  file: data/eccn/eccnmatrix.yaml
-
-# used on index.ezmd
-twitter:
-  # load, transform, and create a sequence of tweets
-  handle: 'TheASF'
-  count: 1
-
-# used on index.ezmd
-foundation:
-  # load, transform, and create a sequence of foundation blogs
-  blog: https://blogs.apache.org/foundation/feed/entries/atom
-  count: 1
-
-# used on index.ezmd
-planet:
-  # load, transform, and create a sequence of foundation blogs
-  blog: https://blogs.apache.org/planet/feed/entries/atom
-  count: 1
-
-# used on index.ezmd
-conferences:
-  # load, transform, and create a sequence of foundation blogs
-  blog: https://blogs.apache.org/conferences/feed/entries/atom
-  count: 1
diff --git a/content/.htaccess b/content/.htaccess
deleted file mode 100644
index fa6337a..0000000
--- a/content/.htaccess
+++ /dev/null
@@ -1,3 +0,0 @@
-RewriteEngine On
-RewriteCond %{HTTPS} off
-RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
diff --git a/content/README.md b/content/README.md
deleted file mode 100644
index d64493a..0000000
--- a/content/README.md
+++ /dev/null
@@ -1 +0,0 @@
-This is the top level of the content tree
diff --git a/content/archive.ezmd b/content/archive.ezmd
deleted file mode 100644
index 8346928..0000000
--- a/content/archive.ezmd
+++ /dev/null
@@ -1,3 +0,0 @@
-Title: Apache Download Mirrors
-
-[insertfile "include/archive.ezt"]
diff --git a/content/board.ezmd b/content/board.ezmd
deleted file mode 100644
index 75aff9d..0000000
--- a/content/board.ezmd
+++ /dev/null
@@ -1,6 +0,0 @@
-Title: Apache Board of Directors
-version: 1.0
-<!-- Licensed under ALv2 -->
-
-[for board]
-- [[][board.name]](mailto:[board.key_id]@apache.org)[end]
diff --git a/content/buildstream.md b/content/buildstream.md
deleted file mode 100644
index 31c5937..0000000
--- a/content/buildstream.md
+++ /dev/null
@@ -1,57 +0,0 @@
-title: BuildStream @ Apache Petri
-source_button: yes
-<!-- Licensed under ALv2 -->
-
-## About
-
-BuildStream is an integration build system.
-It models dependencies at a project level, enabling projects to use their own underlying build system.
-It is a Remote Execution client, that distributes builds at the project level.
-The BuildStream implementation uses Remote Execution concepts directly, even for local builds.
-
-BuildStream supports multiple build-systems (e.g. autotools, cmake, cpan, distutils, make, meson, qmake, pip)
-through its plugins.
-
-### Website
-
-https://www.buildstream.build
-
-### Mailing Lists
-
-- Developer discussions - dev@buildstream.apache.org
-- Private - private@buildstream.apache.org
-- Commit messages - commits@buildstream.apache.org
-
-### Source Code Repository
-
-https://github.com/apache/buildstream
-
-### Issue Tracker
-
-https://github.com/apache/buildstream/issues
-
-### Wiki
-
-None
-
-### Releases (not Apache Licensed)
-
-https://buildstream.build/install.html
-
-### Apache Licensing Transitions
-
-- An SGA has been provided
-- ICLAs have been provided
-- ASF Headers have not been applied to the source
-- Source is not yet under the Apache LICENSE
-- Source does not have a proper Apache NOTICE
-
-### Mentors
-
-* David Nalley
-* Justin Erenkrantz
-* Sander Striker
-
-### Machine Readable Status
-
-- [info.yaml](https://github.com/apache/petri-site/blob/master/info.yaml)
diff --git a/content/closer.ezmd b/content/closer.ezmd
deleted file mode 100644
index 30abccc..0000000
--- a/content/closer.ezmd
+++ /dev/null
@@ -1,3 +0,0 @@
-Title: Apache Download Mirrors
-
-[insertfile "include/closer.ezt"]
diff --git a/content/committees.ezmd b/content/committees.ezmd
deleted file mode 100644
index ccd2b45..0000000
--- a/content/committees.ezmd
+++ /dev/null
@@ -1,8 +0,0 @@
-Title: Apache Committees
-version: 1.0
-<!-- Licensed under ALv2 -->
-
-| Committee   | Chair       | Paragraph       |
-| ----------- | ----------- | ----------- |
-[for committees][if-any committees.pmc][else]| [committees.display_name] | [committees.chair] | [committees.paragraph] |
-[end][end]
diff --git a/content/eccn.ezmd b/content/eccn.ezmd
deleted file mode 100644
index a0cc5d5..0000000
--- a/content/eccn.ezmd
+++ /dev/null
@@ -1,20 +0,0 @@
-Title: Export Notification
-version: 1.0
-asf_headings: False
-<!-- Licensed under ALv2 -->
-
-## Structure
-
-We have ECCN.
-
-### Project -- Contact
-- Product
-  - Version / ECCN Classification / Controlled Sources
-
-## Project Notifications
-[for eccn]
-### [[][eccn.name]]([eccn.href])[if-any eccn.contact] -- [eccn.contact][end]
-[if-any eccn.product][for eccn.product]  - [eccn.product.name]
-[for eccn.product.versions]    - [eccn.product.versions.version] / [eccn.product.versions.eccn]
-[for eccn.product.versions.source]    / [[][eccn.product.versions.source.manufacturer]]([eccn.product.versions.source.href] "[eccn.product.versions.source.why]")
-[end][end][end][end][end]
diff --git a/content/faq.markdown b/content/faq.markdown
deleted file mode 100644
index 6735569..0000000
--- a/content/faq.markdown
+++ /dev/null
@@ -1,237 +0,0 @@
-Title: Apache Petri - FAQ
-source_button: yes
-<!-- Licensed under ALv2 -->
-
-[TOC]
-
-# General
-
-## What is Apache Petri?
-
-The Apache Petri (as in “petri dish” –where cultures are grown and bloom) committee
-assists external project communities interested in becoming an Apache project to
-learn how The Apache Software Foundation (ASF) works, its views on community, and
-how to build a healthy community for the long -term.
-
-Petri’s mission is to mentor existing external communities (“cultures”) about
-“The Apache Way” by focusing on community governance that includes discussions
-about ASF policies. The mentoring and education is conducted on a mailing list.
-
-The primary goal is to reach a point where a recommendation to the ASF Board can
-be made to construct a new Apache Project Management Committee (PMC) for the
-external community.
-
-In the Incubator model, projects graduate to become Apache Top-Level Projects (TLPs).
-Under Petri, projects can become TLPs under a process described as “direct to TLP”,
-which is an alternative path to that used by the Apache Incubator. Apache Petri aims
-to shepherd projects and their communities to a point of confidence that the
-ASF Board will welcome the community to the Apache family of projects as a
-Top-Level Project.
-
-## How is Petri different from the Apache Incubator?
-
-Apache Petri provides an alternative process to Incubation that would be suitable
-for some projects and their communities. Petri provides educational resources, and
-mentors external groups on their path to becoming an official project of the ASF.
-The primary goal is to reach a point where a recommendation to the ASF Board can
-be made to construct a PMC for the community.
-
-“Podlings” in the Apache Incubator are provided a complete set of Foundation-based
-resources upon their acceptance into the Incubator. Since Petri will begin
-mentoring the community “where they live”, it will not provide an initial set of
-resources. Over time, as part of the education process and shift of the community
-towards the Foundation, resources will be provided as appropriate. It is expected
-that once a PMC is constructed, any resources not hosted at the Foundation will
-be the new PMC’s first order of business (i.e. a transition plan would be part of
-the presentation to the Board).
-
-<h2 id="whats-special">Why does this matter? What is special about The Apache Way?
-<a class="headerlink" href="#whats-special" title="Permanent link">¶</a></h2>
-
-The Apache Way is the ASF’s process of community-led development is the backbone
-of all Apache projects, and emulated by many Open Source foundations. The Apache
-Way comprises:
-
-* Earned Authority (merit);
-* Community of Peers;
-* Open Communications;
-* Consensus Decision Making; and
-* Responsible Oversight.
-
-For more information, see [The Apache Way](https://www.apache.org/theapacheway/).
-
-The Apache Software Foundation's mission is to provide software for the public good.
-
-Quoting from [The Apache Way to Sustainable Open Source Success](https://s.apache.org/GhnI):
-
-> To allow us to deliver on this part of the mission, it is critical that we adopt a
-> license that uses the law to protect the software curated here at the Foundation.
-> For us that license is the [Apache License, Version 2](https://www.apache.org/licenses/LICENSE-2.0.html).
-> In addition, we adopt an [inbound licensing policy](https://apache.org/legal/resolved.html)
-> that defines which licenses are allowable on software reused within Apache projects. This policy can be summarized as:
->
-> * The license must meet the [Open Source Definition (OSD)](https://opensource.org/osd).
-> * The license, as applied in practice, must not impose significant restrictions beyond those imposed by the Apache License 2.0.
-
-## What does “Direct to TLP” entail?
-
-The Board makes the ultimate decision, and generally ensures that the project has:
-
-* Demonstrated
-  [vendor neutrality](https://community.apache.org/projectIndependence.html)
-  in the
-  [community](https://incubator.apache.org/guides/community.html);
-* Demonstrated understanding of the
-  [Apache Release Policy](https://www.apache.org/legal/release-policy.html)
-  including [Applying the Apache License](https://infra.apache.org/apply-license.html);
-* Completed
-  [Contributor Licence Agreements and Software Grant Agreements](https://www.apache.org/licenses/contributor-agreements.html);
-* Performed a
-  [Suitable Name Search](https://incubator.apache.org/guides/names.html);
-* Developed a
-  [Transition Plan](https://incubator.apache.org/guides/transitioning_asf.html)
-  to move the project's resources to the ASF;
-* Shown how the community will
-  [recognize merit](https://incubator.apache.org/guides/community.html); and
-* Shown auditable decision making on the provided mailing list.
-
-## Is Apache Petri right for you?
-
-If you are:
-
-* An established, diverse community that already releases quickly; or
-* A project with a single “leader” that seeks to grow to a community-driven
-  development model; or
-* A company that has an Open Source project with other vendors and wants to
-  expand and diversify its community...
-
-And you are:
-
-* Willing to license your project's works under the [Apache License, Version 2](https://www.apache.org/licenses/LICENSE-2.0.html).
-
-Petri would help the community learn how to integrate governance and
-development “The Apache Way” without interrupting the project’s velocity.
-
-In keeping with the ASF’s slogan of “Community Over Code”, we are unable to
-accept projects that are not supported by some form of community.
-
-# Process
-
-## What about the Maturity Model? Have other projects bypassed incubation by meeting these requirements?
-
-In March 2015 Apache Zest (now Polygene) became the first project to enter
-the ASF as a Top-Level Project &mdash; without entering the Apache Incubator. As
-part of the discussion, the project
-[chose to review itself](https://mail-private.apache.org/members/private-arch/board/201502.mbox/%3CCADmm%2BKf9A1O%2B%3DKOd9__sDF2-kMh9b3iy3cf4NCRUnSDOPDq92w%40mail.gmail.com%3E)
-(private link) against the
-[Apache Maturity Model](http://s.apache.org/O4p), that addresses the integrity
-of a project's code, copyright, licenses, releases, community, consensus
-building, and independence, among other qualities.
-
-The Apache Maturity Model will not be a requirement for communities (as the
-Model does not have broad consensus as a true and thorough viewpoint), but
-the Model may provide a helpful guide for some.
-
-## How long does the Petri process take?
-
-There’s no “one size fits all” answer here. Some external projects have
-applied to the Apache Board to become TLPs, and have become TLPs without
-going through either Petri or the Incubator. Historically, every project’s
-experience and time spent in the Apache Incubator varies, depending on its
-specific needs and circumstances; this has ranged from less than one year
-to more than three years.
-
-Similarly, some projects undergoing Petri mentorship will take longer
-than others. Petri is more about education about The Apache Way of project
-governance and Apache Policy, and less about process.
-
-## Do people involved in Petri-mentored projects need to sign ICLAs?
-
-No, unless the projects intend to apply for TLP status and migrate their
-source control to ASF hardware. This applies both to Incubator podlings
-and direct-to-TLP applicants.
-
-## If our project wants to become an official Apache project, what is the best way to do so?
-
-There is more than one way to do so: not all incoming projects will be
-mentored by Petri. Traditionally, the Apache Incubator has been the entry
-path for external projects, codebases, and communities wishing to become
-a part of the ASF.
-
-Petri's primary goal is preparing a community for Direct-to-TLP; moving
-from Petri to become a podling undergoing development in the Apache Incubator
-is a possibility, but not mandated.
-
-## If I propose my project to be mentored by Petri, will it be accepted?
-
-That depends. First, there have to be available mentors. Second, the Petri
-PMC may have to rate-limit intake, especially at first, in order not to
-stretch itself too thin with its oversight duties. This is true of the
-entire ASF: the Board may put intake of new TLPs on hold from time to
-time, though it has never yet done that to date.
-
-## What is the expected intake rate for Petri?
-
-We anticipate 2-3 communities in the first year, with one per year likely following that.
-
-## What should the Board expect from a Project that Petri Recommends to become a TLP?
-
-This list is only complete in that we are considering what the Board
-currently seems to require and it is as always up to the Board the
-requirements for any particular TLP. In addition to the list of
-items shared above, in the **What does “Direct to TLP” entail** section:
-
-* **Graduation Resolution**. If there are Apache Members involved or
-  recruited then they will be included in the resolution. Apache
-  Members like anyone else are certainly invited to contribute
-  to the project.
-* **Transfer of Registered Trademarks**. If there are any registered
-  trademarks then the transfer agreement will be discussed with
-  the VP, Brand in advance.
-* **Software Grant**. Petri should collect [software grants](https://www.apache.org/licenses/contributor-agreements.html#grants).
-* **Committers**. Petri can collect ICLAs in advance of going to TLP.
-  Petri can make the committers from a prospective community
-  Petri committers in order to create accounts.
-* **Resources**. Graduation proposals will include a **Transition Plan**
-  explaining the actions that the project has already taken or intends to take once
-  the PMC is established. This may include:
-  * Creating Apache project mailing lists
-  * Creating Apache issue trackers
-  * Creating Apache wikis
-  * Creating Apache code repositories
-  * Migrating code repositories to Apache
-  * Applying the Apache License
-  * Creating Apache web presence
-  * Migrating web presence from Project to Apache
-  * Rebranding web, code, documentation from Project to Apache Project
-  * Retiring external Project and redirecting to Apache
-  * Creating and migrating CI, build, release processes to Apache Project
-  * Establish processes for release distribution at Apache
-  * New TLPs should report on their progress towards completing
-    their Transition Plan in their Board Reports.
-
-## Who will provide guidance once the Petri mentor is gone after the assessment?
-
-This assumes that the Mentor is no longer interested in the community
-once it is assessed. Even if this were true TLPs have a range of Apache
-committees and resources available. If necessary the Board can provide
-additional guidance through the normal reporting process as the Board
-does for every PMC.
-
-## How can our project/community apply for Apache Petri mentorship?
-
-Email discuss@petri.apache.org (public list; if you're not subscribe,
-ask explicitly to be Cc'd on replies)
-or private@petri.apache.org (private list, only Apache Petri PMC members
-and Apache Members can subscribe) and introduce yourself! We don’t
-have any forms or questionnaires, but may introduce these should
-the need arise.
-
-## If a project wants to move out of the Apache Incubator and into Petri, what happens?
-
-We don’t recommend leaving the Incubator, if the podling is already
-established there; podlings should strive to graduate. In the event
-a community is unwilling to wait for graduation, and Petri has
-accepted them, then the Incubator will need to retire the podling.
-Petri will then take responsibility for the podling’s resources, and
-perform any needed changes to make that happen.
diff --git a/content/featured.ezmd b/content/featured.ezmd
deleted file mode 100644
index 1af9266..0000000
--- a/content/featured.ezmd
+++ /dev/null
@@ -1,35 +0,0 @@
-Title: Featured
-version: 1.0
-<!-- Licensed under ALv2 -->
-
-## Tweet
-[for twitter]
-[twitter.text]
-[end]
-
-## Blogs
-
-### Foundation
-[for foundation]
-- [[][foundation.title]]([foundation.href])
-[end]
-
-### Planet
-[for planet]
-- [[][planet.title]]([planet.href])
-[end]
-
-### Conferences
-[for conferences]
-- [[][conferences.title]]([conferences.href])
-[end]
-
-## Projects
-[for featured_projs]
-<img alt="Logo" width="100" src="https://www.apache.org/[featured_projs.logo]"/> [[]Apache [featured_projs.display_name]]([featured_projs.site])
-[end]
-
-## Podlings
-[for featured_pods]
-<img alt="Logo" width="100" src="https://www.apache.org/[featured_pods.logo]"/> [[]Apache [featured_pods.name]]([featured_pods.homepage])
-[end]
diff --git a/content/images/logo.png b/content/images/logo.png
deleted file mode 100644
index 7f4adc0..0000000
--- a/content/images/logo.png
+++ /dev/null
Binary files differ
diff --git a/content/images/logo.svg b/content/images/logo.svg
deleted file mode 100644
index 8bf86a2..0000000
--- a/content/images/logo.svg
+++ /dev/null
@@ -1,383 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   id="svg2166"
-   version="1.1"
-   viewBox="0 0 115.88954 51.984173"
-   height="51.984173mm"
-   width="115.88954mm">
-  <defs
-     id="defs2160">
-    <linearGradient
-       gradientTransform="matrix(0.01849595,-0.03966605,0.03966605,0.01849595,12.509406,-123.01493)"
-       y2="1134.7161"
-       x2="-6011.9995"
-       y1="1134.7161"
-       x1="-6953.4072"
-       gradientUnits="userSpaceOnUse"
-       id="SVGID_10_">
-      <stop
-         id="stop2894"
-         style="stop-color:#9E2064"
-         offset="0.3233" />
-      <stop
-         id="stop2896"
-         style="stop-color:#C92037"
-         offset="0.6302" />
-      <stop
-         id="stop2898"
-         style="stop-color:#CD2335"
-         offset="0.7514" />
-      <stop
-         id="stop2900"
-         style="stop-color:#E97826"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(0.01849595,-0.03966605,0.03966605,0.01849595,12.509406,-123.01493)"
-       y2="1137.7247"
-       x2="-5086.9941"
-       y1="1137.7247"
-       x1="-9346.126"
-       gradientUnits="userSpaceOnUse"
-       id="SVGID_9_">
-      <stop
-         id="stop2879"
-         style="stop-color:#9E2064"
-         offset="0.3233" />
-      <stop
-         id="stop2881"
-         style="stop-color:#C92037"
-         offset="0.6302" />
-      <stop
-         id="stop2883"
-         style="stop-color:#CD2335"
-         offset="0.7514" />
-      <stop
-         id="stop2885"
-         style="stop-color:#E97826"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(0.01849595,-0.03966605,0.03966605,0.01849595,12.509406,-123.01493)"
-       y2="1152.7261"
-       x2="-5086.9941"
-       y1="1152.7261"
-       x1="-9346.126"
-       gradientUnits="userSpaceOnUse"
-       id="SVGID_8_">
-      <stop
-         id="stop2864"
-         style="stop-color:#9E2064"
-         offset="0.3233" />
-      <stop
-         id="stop2866"
-         style="stop-color:#C92037"
-         offset="0.6302" />
-      <stop
-         id="stop2868"
-         style="stop-color:#CD2335"
-         offset="0.7514" />
-      <stop
-         id="stop2870"
-         style="stop-color:#E97826"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(0.01849595,-0.03966605,0.03966605,0.01849595,12.509406,-123.01493)"
-       y2="999.73297"
-       x2="-5351.2017"
-       y1="999.73297"
-       x1="-9610.334"
-       gradientUnits="userSpaceOnUse"
-       id="SVGID_7_">
-      <stop
-         id="stop2849"
-         style="stop-color:#9E2064"
-         offset="0.3233" />
-      <stop
-         id="stop2851"
-         style="stop-color:#C92037"
-         offset="0.6302" />
-      <stop
-         id="stop2853"
-         style="stop-color:#CD2335"
-         offset="0.7514" />
-      <stop
-         id="stop2855"
-         style="stop-color:#E97826"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(0.01849595,-0.03966605,0.03966605,0.01849595,12.509406,-123.01493)"
-       y2="1021.6218"
-       x2="-5086.9941"
-       y1="1021.6218"
-       x1="-9346.126"
-       gradientUnits="userSpaceOnUse"
-       id="SVGID_6_">
-      <stop
-         id="stop2838"
-         style="stop-color:#9E2064"
-         offset="0.3233" />
-      <stop
-         id="stop2840"
-         style="stop-color:#C92037"
-         offset="0.6302" />
-      <stop
-         id="stop2842"
-         style="stop-color:#CD2335"
-         offset="0.7514" />
-      <stop
-         id="stop2844"
-         style="stop-color:#E97826"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(0.01849595,-0.03966605,0.03966605,0.01849595,12.509406,-123.01493)"
-       y2="638.4408"
-       x2="-6797.2012"
-       y1="638.4408"
-       x1="-9035.5029"
-       gradientUnits="userSpaceOnUse"
-       id="SVGID_5_">
-      <stop
-         id="stop2827"
-         style="stop-color:#282662"
-         offset="0" />
-      <stop
-         id="stop2829"
-         style="stop-color:#662E8D"
-         offset="9.548390e-02" />
-      <stop
-         id="stop2831"
-         style="stop-color:#9F2064"
-         offset="0.7882" />
-      <stop
-         id="stop2833"
-         style="stop-color:#CD2032"
-         offset="0.9487" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(0.01849595,-0.03966605,0.03966605,0.01849595,12.509406,-123.01493)"
-       y2="580.81702"
-       x2="-5086.9941"
-       y1="580.81702"
-       x1="-9346.126"
-       gradientUnits="userSpaceOnUse"
-       id="SVGID_4_">
-      <stop
-         id="stop2816"
-         style="stop-color:#9E2064"
-         offset="0.3233" />
-      <stop
-         id="stop2818"
-         style="stop-color:#C92037"
-         offset="0.6302" />
-      <stop
-         id="stop2820"
-         style="stop-color:#CD2335"
-         offset="0.7514" />
-      <stop
-         id="stop2822"
-         style="stop-color:#E97826"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(0.01849595,-0.03966605,0.03966605,0.01849595,12.509406,-123.01493)"
-       y2="1047.6898"
-       x2="-6533.1782"
-       y1="1047.6898"
-       x1="-9071.207"
-       gradientUnits="userSpaceOnUse"
-       id="SVGID_3_">
-      <stop
-         id="stop2805"
-         style="stop-color:#282662"
-         offset="0" />
-      <stop
-         id="stop2807"
-         style="stop-color:#662E8D"
-         offset="9.548390e-02" />
-      <stop
-         id="stop2809"
-         style="stop-color:#9F2064"
-         offset="0.7882" />
-      <stop
-         id="stop2811"
-         style="stop-color:#CD2032"
-         offset="0.9487" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(0.01849595,-0.03966605,0.03966605,0.01849595,12.509406,-123.01493)"
-       y2="620.50482"
-       x2="-5326.209"
-       y1="620.50482"
-       x1="-9585.3418"
-       gradientUnits="userSpaceOnUse"
-       id="SVGID_2_">
-      <stop
-         id="stop2794"
-         style="stop-color:#9E2064"
-         offset="0.3233" />
-      <stop
-         id="stop2796"
-         style="stop-color:#C92037"
-         offset="0.6302" />
-      <stop
-         id="stop2798"
-         style="stop-color:#CD2335"
-         offset="0.7514" />
-      <stop
-         id="stop2800"
-         style="stop-color:#E97826"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(0.01849595,-0.03966605,0.03966605,0.01849595,12.509406,-123.01493)"
-       y2="1395.619"
-       x2="-4570.1162"
-       y1="697.55487"
-       x1="-5167.0962"
-       gradientUnits="userSpaceOnUse"
-       id="SVGID_1_">
-      <stop
-         id="stop2769"
-         style="stop-color:#F69923"
-         offset="0" />
-      <stop
-         id="stop2771"
-         style="stop-color:#F79A23"
-         offset="0.3123" />
-      <stop
-         id="stop2773"
-         style="stop-color:#E97826"
-         offset="0.8383" />
-    </linearGradient>
-  </defs>
-  <metadata
-     id="metadata2163">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     transform="translate(-43.89077,-77.256626)"
-     id="layer1">
-    <g
-       transform="matrix(0.37961162,0,0,0.25056561,34.542401,76.83601)"
-       id="g3708">
-      <ellipse
-         style="opacity:1;fill:#bfe3ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.27081943;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:2;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="path2711"
-         cx="93.176559"
-         cy="153.90958"
-         rx="66.920601"
-         ry="54.10099" />
-      <ellipse
-         style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.27081943;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:2;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="path2711-9"
-         cx="93.863564"
-         cy="141.47287"
-         rx="66.920601"
-         ry="54.10099" />
-      <path
-         style="opacity:1;fill:#000000;fill-opacity:0.14691946;fill-rule:evenodd;stroke:none;stroke-width:1.87509859;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:2;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         d="M 93.35248,88.704345 C 76.273297,88.8889 58.730581,94.059308 44.976552,106.19066 c -8.164995,7.30599 -14.999167,17.6617 -16.512326,29.75462 0.222596,0.45091 0.579043,-0.84334 0.739257,-0.99182 6.509423,-14.26299 18.601959,-23.92584 31.332176,-29.59802 19.781435,-8.683012 42.158781,-9.03872 62.213511,-1.33203 13.42693,5.23176 26.26049,14.78331 33.5612,29.21333 1.40652,2.57269 2.22262,5.62305 3.35537,8.26743 -0.003,-10.92384 -4.41169,-21.39028 -10.93912,-29.10095 -11.04835,-13.088197 -26.46276,-20.166145 -41.89438,-22.674167 -4.46432,-0.716881 -8.9732,-1.054698 -13.47976,-1.024708 z"
-         id="path2728" />
-      <path
-         style="opacity:1;fill:#000000;fill-opacity:0.14691946;fill-rule:evenodd;stroke:none;stroke-width:1.87509859;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:2;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         d="m 27.267655,153.14449 c 0.114897,9.7317 3.240571,19.2891 8.653029,26.71002 9.525562,13.22864 23.653643,20.88727 37.938965,24.51572 17.222681,4.26056 35.564321,2.74691 51.991061,-4.67975 10.33284,-4.91517 20.18059,-12.25731 26.65266,-23.02973 3.11228,-5.20246 5.36962,-11.23575 6.12229,-17.50478 -1.0628,1.28249 -1.61603,3.26061 -2.55053,4.74037 -7.15263,13.04775 -18.9889,21.70027 -31.30524,26.90098 -17.98639,7.35841 -37.942816,7.93411 -56.303934,2.05705 -14.01119,-4.60413 -27.61157,-13.47601 -36.045984,-27.59505 -2.222204,-3.71773 -3.905534,-7.85632 -5.152317,-12.11483 z"
-         id="path2730" />
-      <path
-         style="opacity:1;fill:#000000;fill-opacity:0.15165878;fill-rule:evenodd;stroke:none;stroke-width:1.87509859;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:2;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         d="m 53.084233,111.83517 c -10.767594,6.55702 -20.623366,16.78896 -24.574909,30.48229 -1.438504,4.37885 0.235721,9.03307 1.496501,13.17764 2.142118,6.3544 5.702818,11.91081 9.983121,16.54357 8.074526,9.39327 13.942449,13.56764 24.851763,17.05701 -47.340172,-48.09565 -25.138988,-44.8882 -11.756476,-77.26051 z"
-         id="path2734" />
-      <path
-         id="path3776"
-         d="m 57.102708,146.95977 c -0.32632,-0.16186 -0.562301,-0.46272 -0.718998,-0.91665 -0.121993,-0.35339 -0.114463,-1.06498 0.01522,-1.43846 0.10748,-0.30952 0.36384,-0.68676 0.516634,-0.76024 0.09454,-0.0455 0.09524,-0.0709 0.09524,-3.46354 v -3.41775 h -0.73764 -0.737638 v 0.87655 c 0,1.03188 -0.01065,1.07371 -0.434521,1.70574 l -0.303119,0.45198 v 0.78308 c 0,0.73004 0.0065,0.78618 0.09523,0.82887 0.152793,0.0735 0.409154,0.45071 0.516634,0.76024 0.136639,0.3935 0.137346,1.08534 0.0015,1.47338 -0.209209,0.59763 -0.541573,0.90329 -0.982194,0.90329 -0.440621,0 -0.772983,-0.30566 -0.982193,-0.90329 -0.135841,-0.38804 -0.135134,-1.07988 0.0015,-1.47338 0.107479,-0.30953 0.363839,-0.68676 0.516633,-0.76024 0.09004,-0.0433 0.09523,-0.0971 0.09523,-0.98747 0,-1.10477 0.007,-1.13347 0.434521,-1.77088 l 0.303114,-0.45198 v -0.71795 -0.71794 H 54.22375 c -0.322564,0 -0.623334,-0.0339 -0.686453,-0.0775 -0.176574,-0.12189 -0.214714,-0.35064 -0.214714,-1.28774 v -0.86979 h -0.473874 -0.473883 l -0.298334,0.45923 c -0.420732,0.64764 -0.439675,0.65831 -1.168884,0.65831 -0.587666,0 -0.623214,0.008 -0.651792,0.14428 -0.04849,0.23148 -0.297494,0.61987 -0.5018,0.78271 -0.246518,0.19648 -0.716204,0.20788 -0.949465,0.0231 -0.412277,-0.32666 -0.618897,-0.8302 -0.619124,-1.50882 -1.98e-4,-0.66745 0.201484,-1.17099 0.596073,-1.48805 0.256129,-0.2058 0.712782,-0.20472 0.972516,0.003 0.204306,0.16284 0.453306,0.55123 0.5018,0.78271 0.02818,0.13451 0.06524,0.14428 0.547105,0.14428 h 0.516877 l 0.298334,-0.45922 c 0.417177,-0.64217 0.444784,-0.65831 1.125888,-0.65831 h 0.57857 v -1.11754 -1.11754 h -2.255912 c -2.239342,0 -2.256135,0.001 -2.28614,0.14428 -0.04849,0.23149 -0.297494,0.61988 -0.5018,0.78271 -0.259734,0.20702 -0.716387,0.20808 -0.972516,0.003 -0.394589,-0.31705 -0.596296,-0.8206 -0.596073,-1.48805 1.98e-4,-0.67862 0.206847,-1.18216 0.619124,-1.50882 0.233261,-0.18482 0.702948,-0.17341 0.949465,0.0231 0.204306,0.16283 0.453306,0.55122 0.5018,0.7827 0.03,0.14322 0.0468,0.14428 2.28614,0.14428 h 2.255912 v -1.11753 -1.11753 h -0.57857 c -0.681104,0 -0.708711,-0.0161 -1.125888,-0.65831 l -0.298334,-0.45923 h -0.516877 c -0.481869,0 -0.518926,0.01 -0.547105,0.14428 -0.04849,0.23149 -0.297494,0.61988 -0.5018,0.78271 -0.246518,0.19648 -0.716204,0.20789 -0.949465,0.0231 -0.412397,-0.32676 -0.618973,-0.83031 -0.618973,-1.50882 0,-0.67852 0.206576,-1.18207 0.618973,-1.50883 0.233261,-0.18482 0.702947,-0.17341 0.949465,0.0231 0.204306,0.16283 0.453306,0.55123 0.5018,0.78271 0.02858,0.13641 0.06413,0.14428 0.651792,0.14428 0.729209,0 0.748152,0.0107 1.168884,0.65831 l 0.298334,0.45923 h 0.473883 0.473881 v -0.86979 c 0,-0.48869 0.02243,-0.94436 0.05119,-1.03999 0.08045,-0.26751 0.231436,-0.32529 0.84998,-0.32529 h 0.574111 v -0.71795 -0.71794 l -0.303117,-0.45198 c -0.427479,-0.63742 -0.434521,-0.66611 -0.434521,-1.77088 0,-0.89032 -0.0052,-0.94418 -0.09524,-0.98747 -0.152793,-0.0735 -0.409154,-0.45072 -0.516634,-0.76024 -0.136639,-0.3935 -0.137346,-1.08534 -0.0015,-1.47338 0.209209,-0.59763 0.541573,-0.90329 0.982194,-0.90329 0.44062,0 0.772983,0.30566 0.982193,0.90329 0.135841,0.38804 0.135134,1.07988 -0.0015,1.47338 -0.10748,0.30952 -0.363839,0.68676 -0.516634,0.76024 -0.08878,0.0427 -0.09523,0.0988 -0.09523,0.82887 v 0.78308 l 0.303118,0.45198 c 0.423867,0.63203 0.434521,0.67386 0.434521,1.70574 v 0.87655 h 0.737639 0.737639 v -3.41775 c 0,-3.39265 -6.9e-4,-3.41809 -0.09523,-3.46355 -0.152795,-0.0735 -0.409155,-0.45071 -0.516635,-0.76024 -0.136638,-0.3935 -0.137346,-1.08533 -0.0015,-1.47338 0.209208,-0.59763 0.541572,-0.90329 0.982193,-0.90329 0.440621,0 0.772985,0.30566 0.982194,0.90329 0.13584,0.38805 0.135133,1.07988 -0.0015,1.47338 -0.10748,0.30953 -0.36384,0.68677 -0.516635,0.76024 -0.09453,0.0455 -0.09523,0.0709 -0.09523,3.46355 v 3.41775 h 0.73764 0.737638 v -0.87655 c 0,-1.03188 0.01065,-1.07371 0.434522,-1.70574 l 0.303118,-0.45198 v -0.78308 c 0,-0.73004 -0.0065,-0.78618 -0.09523,-0.82887 -0.152794,-0.0735 -0.409154,-0.45072 -0.516635,-0.76024 -0.136638,-0.3935 -0.137345,-1.08534 -0.0015,-1.47338 0.209209,-0.59763 0.541572,-0.90329 0.982193,-0.90329 0.440621,0 0.772985,0.30566 0.982194,0.90329 0.13584,0.38804 0.135133,1.07988 -0.0015,1.47338 -0.10748,0.30952 -0.36384,0.68676 -0.516634,0.76024 -0.09004,0.0433 -0.09523,0.0971 -0.09523,0.98747 0,1.10477 -0.007,1.13346 -0.434521,1.77088 l -0.303116,0.45198 v 0.71794 0.71795 h 0.574111 c 0.322564,0 0.623334,0.0339 0.686453,0.0775 0.176574,0.12189 0.214714,0.35064 0.214714,1.28774 v 0.86979 h 0.473882 0.473882 l 0.298334,-0.45923 c 0.420733,-0.64764 0.439675,-0.65831 1.168883,-0.65831 0.587666,0 0.623214,-0.008 0.651792,-0.14428 0.0485,-0.23148 0.297494,-0.61988 0.501801,-0.78271 0.246517,-0.19648 0.716204,-0.20789 0.949465,-0.0231 0.412397,0.32676 0.618972,0.83031 0.618972,1.50883 0,0.67851 -0.206575,1.18206 -0.618972,1.50882 -0.233257,0.18483 -0.702944,0.17341 -0.949461,-0.0231 -0.204306,-0.16283 -0.453306,-0.55122 -0.5018,-0.78271 -0.02818,-0.13451 -0.06524,-0.14428 -0.547105,-0.14428 h -0.516877 l -0.298334,0.45923 c -0.417177,0.64217 -0.444784,0.65831 -1.125888,0.65831 h -0.57857 v 1.11753 1.11754 h 2.255912 c 2.239342,0 2.256135,-0.001 2.286139,-0.14428 0.0485,-0.23148 0.297495,-0.61988 0.501801,-0.78271 0.259734,-0.20701 0.716387,-0.20808 0.972516,-0.003 0.394589,0.31705 0.596296,0.8206 0.596073,1.48804 -1.98e-4,0.67862 -0.206847,1.18216 -0.619124,1.50882 -0.233262,0.18483 -0.702948,0.17342 -0.949465,-0.0231 -0.204306,-0.16284 -0.453306,-0.55123 -0.501801,-0.78272 -0.03,-0.14321 -0.0468,-0.14427 -2.286139,-0.14427 h -2.255912 v 1.11753 1.11754 h 0.57857 c 0.681104,0 0.708711,0.0161 1.125888,0.65831 l 0.298334,0.45923 h 0.516877 c 0.481869,0 0.518926,-0.01 0.547105,-0.14428 0.04849,-0.23149 0.297494,-0.61988 0.5018,-0.78271 0.259734,-0.20701 0.716387,-0.20809 0.972516,-0.003 0.807195,0.64858 0.810916,2.33125 0.0066,2.97209 -0.263308,0.20979 -0.71702,0.21058 -0.979088,0.002 -0.204306,-0.16283 -0.453305,-0.55122 -0.501801,-0.7827 -0.02858,-0.13641 -0.06412,-0.14428 -0.651791,-0.14428 -0.729209,0 -0.748152,-0.0107 -1.168884,-0.65831 l -0.298335,-0.45923 h -0.473881 -0.473882 v 0.90229 c 0,0.49626 -0.01289,0.95316 -0.02864,1.01535 -0.06126,0.24185 -0.267958,0.31744 -0.86807,0.31744 h -0.578569 v 0.71794 0.71793 l 0.303117,0.45199 c 0.42748,0.63741 0.434521,0.66611 0.434521,1.77088 0,0.89032 0.0052,0.94418 0.09523,0.98748 0.152795,0.0735 0.409155,0.4507 0.516635,0.76024 0.136639,0.3935 0.137346,1.08533 0.0015,1.47337 -0.209272,0.59781 -0.541641,0.90341 -0.982193,0.90307 -0.44793,-3.4e-4 -0.780294,-0.31338 -0.995912,-0.93799 -0.121993,-0.3534 -0.114462,-1.06498 0.01523,-1.43845 0.10748,-0.30954 0.363839,-0.68678 0.516633,-0.76024 0.08878,-0.0427 0.09523,-0.0988 0.09523,-0.82888 v -0.78307 l -0.303118,-0.45199 c -0.423867,-0.63203 -0.434521,-0.67385 -0.434521,-1.70574 v -0.87674 H 58.48608 57.74844 v 3.41775 c 0,3.39265 6.9e-4,3.41809 0.09523,3.46354 0.152795,0.0735 0.409155,0.45072 0.516635,0.76024 0.129686,0.37348 0.137216,1.08507 0.01522,1.43846 -0.118022,0.34189 -0.296723,0.61749 -0.506192,0.78067 -0.198764,0.15484 -0.58906,0.22407 -0.766633,0.13598 z m 0.532572,-1.22778 c 0.07133,-0.10807 0.11316,-0.25124 0.11316,-0.38733 0,-0.13609 -0.04183,-0.27926 -0.11316,-0.38733 -0.228676,-0.34645 -0.624478,-0.10096 -0.624478,0.38733 0,0.28715 0.179288,0.55877 0.368819,0.55877 0.08982,0 0.184329,-0.0634 0.255659,-0.17144 z m -2.950556,-2.23507 c 0.228678,-0.34646 0.06664,-0.9461 -0.255658,-0.9461 -0.189533,0 -0.36882,0.27162 -0.36882,0.55877 0,0.28714 0.179287,0.55876 0.36882,0.55876 0.08982,0 0.184327,-0.0634 0.255658,-0.17143 z m 5.901112,0 c 0.07133,-0.10807 0.113161,-0.25125 0.113161,-0.38733 0,-0.13609 -0.04183,-0.27926 -0.113161,-0.38733 -0.07133,-0.10807 -0.165834,-0.17144 -0.255658,-0.17144 -0.08982,0 -0.184328,0.0634 -0.25566,0.17144 -0.07133,0.10807 -0.11316,0.25124 -0.11316,0.38733 0,0.13608 0.04183,0.27926 0.11316,0.38733 0.07133,0.10807 0.165835,0.17143 0.25566,0.17143 0.08982,0 0.184327,-0.0634 0.255658,-0.17143 z m -11.064585,-7.82276 c 0.228677,-0.34646 0.06664,-0.9461 -0.255659,-0.9461 -0.189531,0 -0.368819,0.27162 -0.368819,0.55877 0,0.28714 0.179288,0.55877 0.368819,0.55877 0.08983,0 0.184328,-0.0634 0.255659,-0.17144 z m 16.228058,0 c 0.07133,-0.10807 0.113161,-0.25125 0.113161,-0.38733 0,-0.13609 -0.04183,-0.27926 -0.113161,-0.38733 -0.07133,-0.10807 -0.165834,-0.17144 -0.255658,-0.17144 -0.08983,0 -0.184328,0.0634 -0.255659,0.17144 -0.07133,0.10807 -0.113161,0.25124 -0.113161,0.38733 0,0.13608 0.04183,0.27926 0.113161,0.38733 0.07133,0.10807 0.165833,0.17144 0.255659,0.17144 0.08982,0 0.184327,-0.0634 0.255658,-0.17144 z m -6.660352,-2.26781 0.134761,-0.20416 v -2.41823 -2.41824 l -0.11316,-0.17145 -0.113161,-0.17143 h -1.617776 -1.617776 l -0.11316,0.17143 -0.113161,0.17145 v 2.45096 2.45096 l 0.113161,0.17144 0.11316,0.17144 h 1.596176 1.596176 z m -11.042984,-2.20234 c 0.228677,-0.34645 0.06664,-0.9461 -0.255659,-0.9461 -0.189531,0 -0.368819,0.27162 -0.368819,0.55877 0,0.28715 0.179288,0.55877 0.368819,0.55877 0.08982,0 0.184327,-0.0634 0.255659,-0.17144 z m 19.178614,0 c 0.228678,-0.34645 0.06664,-0.9461 -0.255659,-0.9461 -0.189531,0 -0.368819,0.27162 -0.368819,0.55877 0,0.13609 0.04183,0.27926 0.113161,0.38733 0.07133,0.10807 0.165834,0.17144 0.255658,0.17144 0.08982,0 0.184328,-0.0634 0.255659,-0.17144 z m -17.703336,-4.47015 c 0.07133,-0.10807 0.113161,-0.25124 0.113161,-0.38733 0,-0.13609 -0.04183,-0.27926 -0.113161,-0.38733 -0.07133,-0.10807 -0.165834,-0.17144 -0.255659,-0.17144 -0.08982,0 -0.184327,0.0634 -0.255659,0.17144 -0.07133,0.10807 -0.11316,0.25124 -0.11316,0.38733 0,0.13609 0.04183,0.27926 0.11316,0.38733 0.07133,0.10807 0.165834,0.17144 0.255659,0.17144 0.08983,0 0.184328,-0.0634 0.255659,-0.17144 z m 16.228058,0 c 0.228678,-0.34645 0.06664,-0.9461 -0.255658,-0.9461 -0.189533,0 -0.36882,0.27163 -0.36882,0.55877 0,0.28715 0.179287,0.55877 0.36882,0.55877 0.08982,0 0.184327,-0.0634 0.255658,-0.17144 z M 54.684724,118.9111 c 0.228678,-0.34645 0.06664,-0.9461 -0.255658,-0.9461 -0.08983,0 -0.184328,0.0634 -0.25566,0.17144 -0.07133,0.10807 -0.11316,0.25124 -0.11316,0.38733 0,0.13609 0.04183,0.27926 0.11316,0.38733 0.07133,0.10807 0.165834,0.17144 0.25566,0.17144 0.08982,0 0.184327,-0.0634 0.255658,-0.17144 z m 5.901112,0 c 0.228678,-0.34645 0.06664,-0.9461 -0.255658,-0.9461 -0.189532,0 -0.36882,0.27163 -0.36882,0.55877 0,0.28715 0.179288,0.55877 0.36882,0.55877 0.08982,0 0.184327,-0.0634 0.255658,-0.17144 z m -2.950556,-2.23507 c 0.228677,-0.34645 0.06664,-0.9461 -0.255659,-0.9461 -0.08982,0 -0.184327,0.0634 -0.255658,0.17144 -0.228678,0.34645 -0.06664,0.9461 0.255658,0.9461 0.08982,0 0.184329,-0.0634 0.255659,-0.17144 z"
-         style="fill:#f39024;fill-opacity:1;stroke-width:0.0567457" />
-      <path
-         id="path3834"
-         d="m 74.923633,184.48866 c -0.397166,-0.16937 -0.691793,-0.50962 -0.906194,-1.04646 -0.04585,-0.11482 -0.07649,-0.20374 -0.0523,-0.2479 0.01216,-0.0438 -0.0277,-0.0502 -0.05935,-0.10333 -0.02083,-0.0835 -0.06065,-0.13899 -0.114547,-0.15949 -0.106549,-0.0405 -0.446378,-0.37715 -0.548246,-0.54311 -0.119572,-0.19479 -0.280567,-0.62345 -0.339098,-0.90288 -0.04833,-0.23074 -0.05231,-0.51931 -0.05231,-3.79758 v -3.54785 l -0.925819,-0.0162 c -0.509199,-0.008 -0.948963,-0.0325 -0.977249,-0.0525 -0.04849,-0.0343 -0.05144,0.0566 -0.05144,1.58598 v 1.62242 l 0.153561,0.10778 c 0.208827,0.14659 0.521517,0.60153 0.634843,0.92366 0.269151,0.76505 0.230423,1.64364 -0.104704,2.37504 -0.397871,0.86832 -1.226658,1.15359 -1.874039,0.64502 -0.348602,-0.27387 -0.628991,-0.8233 -0.735094,-1.44046 -0.162563,-0.94555 0.157534,-2.0162 0.738977,-2.47167 l 0.186942,-0.14643 1.27e-4,-1.94492 1.25e-4,-1.94491 -0.22778,-0.33883 -0.227781,-0.33883 -1.160946,0.0127 c -1.049332,0.0121 -1.175028,0.0209 -1.307442,0.096 -0.349358,0.19849 -0.665023,0.62664 -0.825046,1.11903 -0.127487,0.39226 -0.160028,0.65849 -0.159943,1.30852 l 4.3e-5,0.51712 0.181671,0.13358 c 0.24224,0.17813 0.512548,0.59062 0.636019,0.97061 0.122297,0.37636 0.135628,0.48266 0.135139,1.07768 -3.57e-4,0.47002 -0.0047,0.50377 -0.107545,0.83543 -0.21006,0.67759 -0.626069,1.15578 -1.114422,1.28097 -0.5571,0.14282 -1.154772,-0.26934 -1.465098,-1.01032 -0.269843,-0.64434 -0.286023,-1.59102 -0.03876,-2.26789 0.117157,-0.32071 0.404719,-0.73676 0.614887,-0.88963 l 0.179306,-0.13043 0.0163,-0.77923 c 0.01705,-0.81506 0.03961,-1.00181 0.182833,-1.51396 0.229197,-0.81957 0.70063,-1.55263 1.231045,-1.91423 0.434215,-0.296 0.73335,-0.3567 1.758073,-0.3567 0.746447,0 0.793093,-0.005 0.770148,-0.0779 -0.01345,-0.0428 -0.02892,-0.70375 -0.03441,-1.46866 l -0.01,-1.39073 -1.54849,-0.0121 c -0.851667,-0.006 -1.753494,-0.006 -2.004051,0.002 l -0.455562,0.0143 -0.08077,0.25768 c -0.151112,0.48207 -0.473432,0.90464 -0.83035,1.08861 -0.343542,0.17707 -0.799947,0.12655 -1.127338,-0.1248 -0.273691,-0.21012 -0.676032,-0.83973 -0.636672,-0.99629 0.008,-0.0319 0.0032,-0.0474 -0.01044,-0.0346 -0.01376,0.0129 -0.05332,-0.12137 -0.08793,-0.29825 -0.28302,-1.44667 0.418893,-2.88202 1.409374,-2.88202 0.227508,0.003 0.37737,0.11673 0.558851,0.18053 0.061,0.0303 0.03003,0.0325 0.172243,0.13061 0.152367,0.1051 0.451639,0.57478 0.547393,0.88056 l 0.08561,0.27338 2.005937,0.002 2.005938,0.002 v -1.46942 -1.46943 H 68.40054 67.873224 l -0.09724,0.27772 c -0.191791,0.54774 -0.596688,1.01568 -0.98777,1.14157 -0.583101,0.1877 -1.192531,-0.18353 -1.516944,-0.92404 -0.191916,-0.43808 -0.237722,-0.68794 -0.237722,-1.29675 0,-0.49948 0.0028,-0.52063 0.109741,-0.86027 0.382897,-1.21489 1.301839,-1.66541 2.075723,-1.01764 0.198225,0.16593 0.454103,0.57949 0.551901,0.89201 l 0.08417,0.26898 0.536388,0.002 0.536385,0.002 0.0015,-1.28017 c 7.14e-4,-0.70411 0.01216,-1.36535 0.02546,-1.46943 l 0.02418,-0.18924 -0.414875,-2.6e-4 c -1.564305,-0.001 -1.807249,-0.0365 -2.252429,-0.32878 -0.316575,-0.20784 -0.465526,-0.37142 -0.828774,-0.91017 l -0.315044,-0.46727 -0.155214,0.0794 c -0.230501,0.11797 -0.590678,0.13873 -0.855704,0.0494 -0.626031,-0.21101 -1.104825,-1.14711 -1.106623,-2.16358 -7.12e-4,-0.30529 0.09433,-0.83622 0.197936,-1.10775 0.123935,-0.3248 0.388828,-0.68989 0.630125,-0.86847 0.849713,-0.62886 1.830914,0.0816 2.070955,1.49957 0.0597,0.35267 0.04016,0.89978 -0.04349,1.21776 l -0.06002,0.22814 0.299366,0.44521 c 0.17936,0.26676 0.361021,0.49228 0.453173,0.5626 0.31126,0.23756 0.39468,0.25023 1.64648,0.25023 h 1.156028 l 0.248564,-0.37658 0.248564,-0.37658 v -2.3748 c 0,-1.99336 -0.0073,-2.41703 -0.0452,-2.63773 -0.125485,-0.72988 -0.546256,-1.36736 -1.028024,-1.55747 -0.113855,-0.0449 -0.307306,-0.0685 -0.562429,-0.0685 h -0.388878 l -0.09724,0.27711 c -0.312708,0.89106 -1.019113,1.37457 -1.646522,1.12699 -0.244732,-0.0966 -0.508466,-0.32324 -0.679816,-0.58427 -0.210263,-0.30226 -0.197856,-0.44737 -0.260669,-0.58939 -0.103745,-0.18761 -0.142707,-0.39148 -0.162067,-0.84809 -0.01943,-0.45828 0.02346,-0.77698 0.156572,-1.16344 0.25146,-0.73002 0.762775,-1.19942 1.308937,-1.20159 0.231621,-0.001 0.595308,0.1695 0.798967,0.37441 0.201634,0.20285 0.348574,0.45399 0.490221,0.83785 l 0.102872,0.27877 0.433612,0.007 c 0.518457,0.008 0.78758,0.0865 1.134209,0.33072 0.568391,0.4005 0.944495,0.97167 1.209467,1.83675 0.210071,0.68585 0.213427,0.73236 0.227277,3.15149 l 0.01238,2.16415 0.122726,-0.036 c 0.06749,-0.0198 0.506276,-0.0369 0.975063,-0.0379 l 0.852339,-0.001 -0.0086,-0.79997 -0.0086,-0.79997 -0.181627,-0.14631 c -1.065844,-0.85851 -1.029316,-3.15958 0.06292,-3.9634 0.219807,-0.16176 0.275214,-0.18345 0.518019,-0.20268 0.326574,-0.0258 0.510861,0.0327 0.790918,0.25088 0.570648,0.44481 0.883482,1.4562 0.748452,2.41975 -0.08359,0.59645 -0.388599,1.2011 -0.755217,1.49716 l -0.18162,0.14665 v 0.79889 0.79889 h 0.969472 0.969472 l 0.0078,-2.79412 c 0.0042,-1.53677 0.0032,-2.90434 -0.0022,-3.03904 l -0.0098,-0.2449 -0.176503,-0.12752 c -0.450593,-0.32557 -0.788365,-1.15638 -0.788365,-1.93915 0,-1.23162 0.658029,-2.23028 1.469549,-2.23028 1.128323,0 1.820973,1.8195 1.268919,3.33329 -0.109522,0.30031 -0.382495,0.68797 -0.588776,0.83614 l -0.177543,0.12752 -0.0015,0.97111 c -0.0011,0.76346 -0.0093,0.96439 -0.03822,0.93968 -0.02938,-0.0251 -0.02938,-0.0194 0,0.0285 0.02828,0.0461 0.03674,0.52893 0.03674,2.09647 v 2.03652 l 0.918468,0.0148 c 0.50516,0.008 0.938308,0.0245 0.962558,0.0363 0.03878,0.0188 0.04595,-0.3348 0.05954,-2.93972 0.01698,-3.25196 0.0083,-3.09175 0.205885,-3.79524 0.117897,-0.41973 0.290145,-0.79735 0.516906,-1.1332 0.514181,-0.76155 1.077627,-1.08106 1.908432,-1.08224 l 0.412963,-7.2e-4 0.06769,-0.2115 c 0.167295,-0.5227 0.47101,-0.94414 0.817422,-1.13426 0.363533,-0.19953 0.829479,-0.1509 1.187428,0.12389 0.165027,0.1267 0.53759,0.68436 0.619426,0.92717 0.341231,1.01248 0.125449,2.26927 -0.496768,2.8934 -0.726104,0.72833 -1.758358,0.30016 -2.118332,-0.87869 l -0.07985,-0.26149 -0.42617,0.0245 c -0.234395,0.0135 -0.494282,0.0536 -0.577531,0.0893 -0.506361,0.21676 -0.915447,0.88163 -1.025185,1.66619 -0.03427,0.24504 -0.04218,0.87227 -0.04224,3.35162 l -3.9e-5,3.05017 0.239739,0.36924 0.23974,0.36925 1.163239,-0.013 c 1.051362,-0.0121 1.177326,-0.021 1.309736,-0.0962 0.351926,-0.19996 0.659067,-0.61484 0.824594,-1.11388 0.05593,-0.16859 0.101682,-0.33273 0.101682,-0.36474 0,-0.032 -0.08005,-0.12283 -0.177894,-0.20184 -0.464241,-0.37487 -0.774742,-1.29699 -0.718076,-2.13251 0.02628,-0.38751 0.167883,-0.88916 0.338826,-1.20036 0.162856,-0.29646 0.341543,-0.42563 0.534614,-0.58478 0.08993,-0.0741 0.200971,-0.11377 0.286228,-0.16881 0.49267,-0.16007 1.015536,0.0953 1.36449,0.66626 0.269672,0.4413 0.399802,0.93315 0.399802,1.51118 0,0.82979 -0.314553,1.60331 -0.805526,1.98086 -0.215659,0.16584 -0.219793,0.17226 -0.255069,0.3963 -0.171018,1.08622 -0.762585,2.11992 -1.452731,2.5385 -0.386514,0.23442 -0.517096,0.2583 -1.537374,0.28119 -0.870908,0.0195 -0.948032,0.0274 -0.926985,0.095 0.01262,0.0405 0.02778,0.69953 0.0337,1.46439 l 0.01068,1.39066 1.401211,0.0121 c 0.770666,0.006 1.678957,0.005 2.018425,-0.002 l 0.617212,-0.0148 0.08077,-0.25719 c 0.107265,-0.34153 0.276487,-0.62506 0.500105,-0.83791 0.236815,-0.22542 0.424573,-0.31993 0.697632,-0.35119 1.029843,-0.11785 1.813085,1.42081 1.482556,2.91255 -0.20402,0.92077 -0.761095,1.52435 -1.406914,1.52435 -0.500755,0 -1.060199,-0.52374 -1.268148,-1.18723 -0.08481,-0.27061 -0.08783,-0.2746 -0.218262,-0.28942 -0.07275,-0.008 -0.982029,-0.01 -2.020634,-0.004 l -1.888372,0.0121 v 1.46559 1.46558 l 1.520984,0.0174 c 1.474464,0.0168 1.527727,0.0204 1.741418,0.11736 0.121234,0.055 0.263973,0.12754 0.389628,0.2147 0.127042,0.0881 0.165359,0.1401 0.365854,0.30996 0.0937,0.0938 0.300128,0.36105 0.458735,0.59374 0.158609,0.2327 0.292899,0.42949 0.298416,0.43733 0.0056,0.007 0.09869,-0.0272 0.207019,-0.0779 0.403267,-0.18872 0.890328,-0.0911 1.223948,0.24531 0.817516,0.82432 0.906288,2.55109 0.181828,3.53689 -0.928972,1.26409 -2.426915,0.24905 -2.432004,-1.64798 -7.13e-4,-0.27742 0.0168,-0.46012 0.06576,-0.68421 l 0.06676,-0.30573 -0.243964,-0.36471 c -0.261327,-0.39066 -0.441482,-0.5962 -0.623655,-0.71152 0,0 -0.07469,-0.053 -0.113843,-0.0721 -0.03945,-0.0192 -0.03068,-0.0107 -0.121164,-0.0422 -0.05099,-0.0294 -0.603892,-0.046 -1.530217,-0.046 h -1.450392 l -0.01295,1.36924 c -0.0072,0.75308 -0.0225,1.41124 -0.0342,1.4626 -0.02079,0.0914 -0.01189,0.0939 0.429218,0.11942 0.247755,0.0143 0.549658,0.0583 0.670897,0.0976 0.764781,0.24793 1.452086,1.15022 1.749616,2.29689 0.107022,0.41248 0.160798,0.94945 0.160798,1.6058 v 0.57238 l 0.172092,0.13161 c 0.09464,0.0723 0.246941,0.23526 0.338427,0.36193 0.561484,0.77745 0.616666,2.13606 0.123788,3.04771 0,0 -0.04562,0.0925 -0.07221,0.13359 -0.03267,0.0505 -0.06605,0.10251 -0.106525,0.13777 -0.292743,0.25507 -0.591816,0.50785 -0.956049,0.50785 -0.71292,0 -1.327913,-0.80634 -1.439472,-1.88736 -0.0948,-0.91866 0.228561,-1.87498 0.776467,-2.2963 l 0.19359,-0.14887 -3.57e-4,-0.49429 c -2.96e-4,-0.27185 -0.01908,-0.62696 -0.04176,-0.78913 -0.115202,-0.82346 -0.534865,-1.49984 -1.058846,-1.70662 -0.131356,-0.0518 -0.329565,-0.0691 -0.794164,-0.0691 h -0.619119 l -0.21235,0.32388 -0.21235,0.32388 v 2.6988 2.6988 l 0.161643,0.11979 c 0.625723,0.4638 0.949677,1.61708 0.737961,2.62713 -0.339747,1.62089 -1.643224,2.1137 -2.430081,0.91874 -0.2073,-0.3148 -0.320443,-0.61612 -0.393738,-1.04858 -0.08411,-0.49621 -0.04248,-1.01773 0.122765,-1.53799 0.102434,-0.3225 0.415353,-0.79433 0.633159,-0.95469 l 0.168996,-0.12443 v -2.35995 -2.35995 l -0.06612,0.034 c -0.03637,0.0187 -0.469523,0.0426 -0.962558,0.0532 -0.493033,0.0109 -0.907196,0.0351 -0.920358,0.0542 -0.03292,0.0482 0.0322,0.13133 0.245455,0.31346 0.433358,0.3701 0.733684,1.15422 0.733684,1.91556 0,0.97559 -0.46805,1.90073 -1.085083,2.14477 -0.52616,0.20808 -1.036483,-0.004 -1.416229,-0.58619 -0.692271,-1.06288 -0.53562,-2.76556 0.3216,-3.49554 0.133473,-0.11372 0.2094,-0.20631 0.209832,-0.25604 7.14e-4,-0.0727 -0.06482,-0.0779 -0.969019,-0.0779 h -0.96973 l -0.0075,3.03903 c -0.0087,3.49854 -7.13e-4,3.91929 0.07827,4.09839 l 0.05476,0.12425 0.08174,-0.21682 c 0.112157,-0.29752 0.384374,-0.66236 0.624188,-0.83656 0.232901,-0.16918 0.555223,-0.26369 0.759383,-0.22266 0.789284,0.15863 1.330443,1.06731 1.327919,2.22979 -0.0022,1.00615 -0.419925,1.8422 -1.065459,2.13237 -0.189041,0.085 -0.575518,0.0887 -0.766179,0.007 z m 0.588704,-1.50523 c 0.345075,-0.26411 0.361268,-0.93061 0.03082,-1.268 -0.117181,-0.11967 -0.310851,-0.0657 -0.453574,-0.0345 -0.176246,0.0385 -0.214267,0.19537 -0.23923,0.36184 -0.0486,0.3241 -0.0015,0.77169 0.219132,0.94017 0.07213,0.0551 0.171828,0.10013 0.221554,0.10013 0.04972,0 0.149319,-0.045 0.221316,-0.10013 z m 3.944988,-1.48813 c 0.09794,-0.0746 0.219354,-0.34139 0.245494,-0.53942 0.04266,-0.32315 -0.132697,-0.70839 -0.371857,-0.81694 -0.329159,-0.14942 -0.678307,0.37984 -0.587526,0.89061 0.08594,0.48355 0.411633,0.69603 0.713889,0.46575 z m -8.833951,-1.46882 c 0.208139,-0.14963 0.315148,-0.56897 0.228712,-0.89625 -0.174674,-0.66137 -0.744073,-0.65271 -0.912107,0.0139 -0.05884,0.23342 -0.04232,0.41665 0.05834,0.64708 0.126923,0.29058 0.403396,0.39464 0.62506,0.23528 z m 12.734855,-1.48852 c 0.122979,-0.0801 0.151376,-0.12407 0.207065,-0.32019 0.147325,-0.51884 -0.03488,-1.00151 -0.395165,-1.04677 -0.128735,-0.0161 -0.183468,-0.001 -0.267993,0.0746 -0.05843,0.0522 -0.120482,0.0816 -0.137896,0.0653 -0.01818,-0.017 -0.02322,-0.008 -0.01177,0.0191 0.01092,0.0268 -0.0068,0.11506 -0.03943,0.19613 -0.107969,0.2683 -0.06385,0.69679 0.09448,0.9178 0.142503,0.19888 0.338513,0.23237 0.550734,0.0941 z m -17.604299,-0.0518 c 0.136659,-0.14091 0.207129,-0.301 0.225919,-0.51324 0.02204,-0.24893 -0.0045,-0.38011 -0.115967,-0.57238 -0.115057,-0.19854 -0.231594,-0.27499 -0.396149,-0.25988 -0.252709,0.0232 -0.421252,0.27372 -0.44225,0.65732 -0.0184,0.33589 0.09098,0.62406 0.285332,0.75184 0.108272,0.0712 0.345374,0.0371 0.443115,-0.0637 z m 10.760555,-1.43888 c 0.184969,-0.14493 0.286458,-0.51102 0.229892,-0.82928 -0.09659,-0.54343 -0.547336,-0.72746 -0.809384,-0.33044 -0.397258,0.60185 0.07787,1.55271 0.579492,1.15972 z m 1.891985,-4.42941 c 0.534933,-0.11591 1.003697,-0.70977 1.19543,-1.51455 l 0.06839,-0.28703 v -5.54374 -5.54372 l -0.06491,-0.3117 c -0.158434,-0.76081 -0.53611,-1.29375 -1.058729,-1.49397 -0.226326,-0.0867 -0.318009,-0.0885 -3.8452,-0.0767 l -3.613344,0.0121 -0.173975,0.10037 c -0.237095,0.13681 -0.423566,0.32548 -0.595172,0.6022 -0.173797,0.28025 -0.254053,0.47281 -0.340924,0.818 l -0.06557,0.26053 -0.0084,5.45468 c -0.0074,4.85613 -0.0032,5.4899 0.03846,5.77564 0.138392,0.94895 0.603581,1.61047 1.230368,1.74964 0.234214,0.052 6.992861,0.0503 7.233509,-0.001 z m -6.23916,-2.22669 c -0.179084,-0.0545 -0.43355,-0.27176 -0.428576,-0.36598 0.0022,-0.042 -0.0083,-0.0647 -0.02333,-0.0506 -0.07133,0.0668 -0.241051,-0.31326 -0.304378,-0.6816 -0.06531,-0.37988 -0.06531,-7.70547 0,-8.08534 0.09842,-0.57247 0.389391,-0.99063 0.764547,-1.09877 0.126009,-0.0363 0.902025,-0.047 2.718668,-0.0374 l 2.542326,0.0135 0.179798,0.12588 c 0.223826,0.15671 0.395111,0.41759 0.502049,0.76468 l 0.08231,0.26717 v 4.01201 4.01202 l -0.104109,0.30719 c -0.0705,0.20804 -0.120203,0.30523 -0.153986,0.30109 -0.02743,-0.004 -0.04202,0.0131 -0.03242,0.0367 0.02984,0.0732 -0.102872,0.24422 -0.292296,0.37682 l -0.181356,0.12693 -2.571715,0.007 c -1.414445,0.004 -2.628338,-0.01 -2.697542,-0.0313 z m 14.185446,0.67432 c 0.294803,-0.31803 0.265397,-0.99587 -0.05379,-1.23996 -0.165523,-0.12657 -0.307049,-0.12614 -0.45569,0.001 -0.166232,0.14264 -0.250693,0.3514 -0.250693,0.61964 0,0.32078 0.110251,0.58356 0.293925,0.70058 0.117922,0.0751 0.360243,0.0326 0.466253,-0.0817 z m -22.553643,-2.93787 c 0.199668,-0.17449 0.277079,-0.64216 0.162581,-0.98219 -0.08166,-0.24249 -0.232873,-0.37206 -0.444642,-0.38101 -0.163983,-0.007 -0.175982,3.4e-4 -0.288152,0.17441 -0.190107,0.29501 -0.226411,0.56249 -0.121089,0.89212 0.119888,0.37519 0.442844,0.51379 0.691298,0.29667 z m 2.927591,-4.44578 c 0.157168,-0.14066 0.217265,-0.31651 0.217265,-0.63574 0,-0.24822 -0.01165,-0.31254 -0.08195,-0.45171 -0.120895,-0.23941 -0.348908,-0.33104 -0.527256,-0.25824 -0.160946,0.0657 -0.274917,0.32759 -0.334123,0.56366 -0.0237,0.0945 -0.0098,0.21518 0.0011,0.30322 0.02456,0.19847 0.197615,0.49665 0.321232,0.55353 0.116635,0.0537 0.297806,0.0202 0.403823,-0.0748 z m 19.487536,0.0756 c 0.135934,-0.0572 0.309167,-0.34295 0.335158,-0.55282 0.06652,-0.5372 -0.259184,-1.01205 -0.598774,-0.87296 -0.151662,0.0621 -0.231997,0.15847 -0.299657,0.3594 -0.143958,0.42751 -0.0062,0.9327 0.291764,1.06947 0.106573,0.0489 0.149005,0.0484 0.271509,-0.004 z m -21.508195,-7.45189 c 0.137942,-0.0873 0.277672,-0.36232 0.30031,-0.59104 0.02342,-0.23669 -0.06647,-0.54678 -0.200414,-0.69128 -0.124066,-0.13384 -0.361668,-0.16067 -0.505734,-0.0571 -0.259244,0.18639 -0.348623,0.74565 -0.172538,1.07961 0.156208,0.29627 0.369453,0.39207 0.578376,0.25981 z m 19.550576,-1.45793 c 0.355726,-0.1357 0.478469,-0.84489 0.212317,-1.22678 -0.319712,-0.45873 -0.822953,-0.14327 -0.822953,0.51588 0,0.34005 0.112654,0.58351 0.322458,0.69694 0.137357,0.0743 0.130938,0.0739 0.288178,0.014 z m -10.735796,-1.50492 c 0.113746,-0.0655 0.252651,-0.30634 0.286482,-0.49668 0.04304,-0.24217 0.0087,-0.46768 -0.09951,-0.65449 -0.157683,-0.27208 -0.384552,-0.29447 -0.570611,-0.20392 -0.129121,0.0628 -0.236023,0.34684 -0.267508,0.46443 -0.09153,0.34185 0.05839,0.756 0.275264,0.88927 0.08132,0.05 0.290224,0.0507 0.375872,0.001 z m -6.841547,-2.98657 c 0.192733,-0.14136 0.264691,-0.32297 0.264691,-0.66805 0,-0.23283 -0.01323,-0.31612 -0.06763,-0.42589 -0.09692,-0.19558 -0.22623,-0.29651 -0.38448,-0.30013 -0.468333,-0.0109 -0.678564,0.84819 -0.315306,1.28819 0.175316,0.21234 0.316892,0.24217 0.502721,0.10583 z m 16.748151,-1.55401 c 0.262591,-0.24588 0.264153,-0.93147 0.0029,-1.20285 -0.407322,-0.42285 -0.932209,0.23816 -0.718989,0.90545 0.139261,0.43583 0.436561,0.55928 0.716248,0.2974 z m -6.918471,0.0413 c 0.338599,-0.26171 0.326353,-1.04389 -0.02033,-1.29814 -0.127532,-0.0936 -0.317384,-0.11802 -0.455946,-0.0231 -0.0977,0.0669 -0.158943,0.22923 -0.20428,0.37644 -0.02733,0.0888 -0.03568,0.15969 -0.03568,0.28878 0,0.57203 0.37747,0.91776 0.71619,0.65596 z"
-         style="fill:#1d3eaa;fill-opacity:1;stroke-width:0.03617628" />
-      <path
-         id="path3850"
-         d="m 99.607201,156.46609 c -0.35093,-0.2783 -0.73208,-1.04897 -0.80332,-1.62428 -0.0764,-0.61711 0.0827,-1.19049 0.50221,-1.81038 l 0.37742,-0.55764 v -6.92776 -6.92776 h -0.48884 -0.48884 v 2.26531 2.2653 l -0.194809,0.24746 c -0.10714,0.13611 -0.4367,0.48551 -0.73236,0.77646 l -0.53756,0.529 -8.4e-4,2.07551 -8.3e-4,2.0755 0.27075,0.27146 c 0.30796,0.30875 0.6371,1.19422 0.6371,1.71397 0,0.56662 -0.33183,1.41631 -0.68601,1.7566 -0.594229,0.57092 -1.113619,0.50891 -1.627399,-0.19431 -0.705212,-0.96525 -0.712212,-2.0502 -0.0198,-3.07212 l 0.37783,-0.55763 v -2.35812 c 0,-1.72799 0.0233,-2.40219 0.0873,-2.52306 0.048,-0.0907 0.37798,-0.46643 0.73326,-0.83492 l 0.645969,-0.66998 v -1.88322 -1.88321 h -0.41265 -0.412649 l -0.0238,1.10821 c -0.0202,0.94271 -0.0447,1.13801 -0.16348,1.30776 -0.0768,0.10976 -0.5482,0.45221 -1.04752,0.76099 -0.49932,0.30878 -0.945123,0.61298 -0.99068,0.67599 -0.04557,0.063 -0.17766,0.6859 -0.293558,1.38418 l -0.210745,1.26961 0.198458,0.3174 c 0.610845,0.97696 0.555645,2.14794 -0.144039,3.05529 -0.470992,0.61078 -1.088759,0.65259 -1.606755,0.10873 -0.910606,-0.95605 -0.80498,-2.90436 0.197285,-3.63903 l 0.362349,-0.2656 0.257569,-1.58701 c 0.141663,-0.87285 0.308573,-1.66652 0.370915,-1.7637 0.06236,-0.0972 0.537581,-0.43859 1.056102,-0.75869 l 0.942769,-0.582 0.0207,-0.69607 c 0.0134,-0.45138 -0.006,-0.69606 -0.0556,-0.69606 -0.0419,0 -0.15334,-0.11686 -0.24762,-0.25969 -0.16628,-0.25192 -0.1714,-0.30577 -0.1714,-1.79862 v -1.53891 l -1.274488,0.002 -1.27448,0.002 -0.413382,0.95711 c -0.227364,0.52641 -0.477902,1.02557 -0.556757,1.10924 -0.114269,0.12125 -0.458885,0.15214 -1.697671,0.15214 h -1.554301 l -0.283549,0.46604 c -0.492561,0.80957 -1.053276,1.01828 -1.600136,0.59561 -0.350254,-0.27071 -0.759007,-1.00053 -0.815389,-1.45587 -0.159957,-1.29177 0.433938,-2.45286 1.303366,-2.54813 0.349848,-0.0384 0.456408,-0.003 0.728298,0.23786 0.175168,0.15553 0.400525,0.47058 0.500792,0.70013 l 0.182302,0.41735 h 1.343688 1.343689 l 0.365212,-0.84278 c 0.200865,-0.46353 0.439018,-0.96344 0.52923,-1.11091 l 0.164016,-0.26812 h 1.504779 1.504781 v -0.7406 -0.74061 h -4.61774 -4.617735 l -0.285031,0.49058 c -0.335162,0.57687 -0.615019,0.77902 -1.078434,0.77902 -0.698864,0 -1.358887,-1.02776 -1.358887,-2.116 0,-1.47538 1.109904,-2.57033 1.948448,-1.92222 0.276196,0.21347 0.72138,0.87966 0.72138,1.07949 0,0.0646 1.706166,0.10212 4.643995,0.10212 h 4.644002 v -0.7406 -0.74061 H 93.77924 92.274461 l -0.164016,-0.26812 c -0.09021,-0.14747 -0.328365,-0.64738 -0.52923,-1.11091 l -0.365212,-0.84278 -1.370429,0.002 -1.370425,0.002 -0.155038,0.36267 c -0.382022,0.89367 -1.192797,1.18481 -1.799466,0.64617 -0.84609,-0.7512 -0.97388,-2.34656 -0.269137,-3.35991 0.616473,-0.88644 1.440486,-0.77488 2.018809,0.2733 l 0.269325,0.48813 h 1.54095 c 1.227176,0 1.570145,0.031 1.684323,0.15215 0.07885,0.0837 0.329392,0.58283 0.556756,1.10924 l 0.413382,0.9571 1.27448,0.002 1.274488,0.002 v -1.69762 c 0,-1.66135 0.003,-1.70317 0.1714,-1.95731 0.0943,-0.14283 0.20427,-0.2597 0.24443,-0.2597 0.10388,0 0.0912,-1.00952 -0.0143,-1.14021 -0.048,-0.0595 -0.48011,-0.35479 -0.960227,-0.65627 -0.480107,-0.30147 -0.923931,-0.62763 -0.986274,-0.72478 -0.06236,-0.0972 -0.23067,-0.89081 -0.374079,-1.76366 l -0.260742,-1.58701 -0.359181,-0.2678 c -0.251961,-0.18787 -0.42693,-0.42041 -0.586142,-0.77901 -0.437304,-0.98498 -0.256959,-2.17444 0.43819,-2.89009 0.701856,-0.72255 1.669707,-0.21918 2.019775,1.05043 0.21029,0.76269 0.106094,1.47216 -0.315136,2.14586 l -0.198459,0.31741 0.210737,1.26961 c 0.115906,0.69828 0.24801,1.32448 0.293567,1.39155 0.04557,0.0671 0.491361,0.3715 0.990681,0.67649 0.499312,0.30498 0.970692,0.64413 1.047512,0.75366 0.11649,0.1661 0.14369,0.36552 0.16388,1.20149 l 0.0242,1.00233 h 0.412259 0.41226 v -1.78464 -1.78463 l -0.667259,-0.66659 c -0.36699,-0.36663 -0.69696,-0.75067 -0.73326,-0.85342 -0.0363,-0.10277 -0.066,-1.25507 -0.066,-2.56067 v -2.37383 l -0.23325,-0.24215 c -0.293272,-0.30446 -0.527752,-0.81745 -0.616942,-1.3498 -0.20876,-1.24608 0.748922,-2.77073 1.571842,-2.50237 0.751789,0.24515 1.308019,1.36059 1.203759,2.41395 -0.054,0.54604 -0.3562,1.23183 -0.66415,1.50742 l -0.21374,0.19129 8.4e-4,2.06675 8.4e-4,2.06675 0.52846,0.52092 c 0.29064,0.28651 0.62021,0.65079 0.73235,0.80951 l 0.203919,0.28858 v 2.12646 2.12646 h 0.48883 0.48884 v -6.82178 -6.82196 l -0.37741,-0.55763 c -0.59752,-0.88283 -0.67257,-1.64973 -0.25828,-2.63943 0.22461,-0.53659 0.78546,-1.03932 1.159459,-1.03932 0.36298,0 0.91086,0.48612 1.14091,1.01232 0.4259,0.97413 0.35239,1.79313 -0.23933,2.66643 l -0.37782,0.55763 v 6.82196 6.82196 h 0.48883 0.48885 v -2.1644 -2.16441 l 0.22696,-0.26906 c 0.12483,-0.14798 0.44695,-0.49578 0.7158,-0.77288 l 0.48885,-0.50382 0.0177,-2.06179 0.0177,-2.0618 -0.24365,-0.23803 c -0.33069,-0.32306 -0.60429,-0.98115 -0.64708,-1.55641 -0.0513,-0.68882 0.24093,-1.56163 0.6564,-1.96081 0.62648,-0.60192 1.16351,-0.50674 1.69643,0.30065 0.6379,0.96643 0.62518,1.97661 -0.0372,2.95422 l -0.37783,0.55764 v 2.37833 c 0,2.74344 0.0847,2.4093 -0.856,3.37607 l -0.61052,0.62744 v 1.77953 1.77953 h 0.41227 0.41226 l 0.0242,-1.00234 c 0.0202,-0.8369 0.0473,-1.03485 0.16387,-1.19933 0.0768,-0.10835 0.5482,-0.44965 1.04751,-0.75843 0.49932,-0.30879 0.9437,-0.61417 0.98751,-0.67863 0.0438,-0.0645 0.17417,-0.67347 0.28969,-1.35336 l 0.21003,-1.23616 -0.21068,-0.35085 c -0.55618,-0.92617 -0.53131,-2.12442 0.0613,-2.95733 0.6177,-0.86806 1.35614,-0.81625 1.95748,0.13735 0.64858,1.02853 0.43462,2.60558 -0.44219,3.25934 l -0.35918,0.26781 -0.26094,1.56579 c -0.14351,0.86119 -0.31185,1.65651 -0.37408,1.76739 -0.0622,0.11087 -0.50597,0.44601 -0.98608,0.74473 -0.48011,0.29873 -0.91221,0.56782 -0.96023,0.59799 -0.0546,0.0343 -0.0873,0.26877 -0.0873,0.62544 0,0.53104 0.0116,0.57059 0.16685,0.57059 0.0918,0 0.24103,0.0909 0.33171,0.20202 0.15946,0.19539 0.16559,0.25962 0.18702,1.95731 l 0.0222,1.75529 1.23486,-0.002 1.23486,-0.002 0.34918,-0.81441 c 0.19205,-0.44792 0.42267,-0.94721 0.5125,-1.10953 l 0.16334,-0.29514 h 1.58519 1.58521 l 0.26932,-0.48814 c 0.57833,-1.04817 1.40234,-1.15973 2.01881,-0.2733 0.70474,1.01336 0.57695,2.60871 -0.26914,3.35992 -0.60667,0.53863 -1.41744,0.24749 -1.79946,-0.64617 l -0.15504,-0.36268 -1.36664,-0.002 -1.36664,-0.002 -0.41413,0.92494 c -0.63632,1.42116 -0.43264,1.29686 -2.12509,1.29686 h -1.46653 v 0.74061 0.7406 h 4.60908 c 2.91538,0 4.60908,-0.0375 4.60908,-0.10211 0,-0.19516 0.44227,-0.86377 0.7064,-1.06792 0.58893,-0.45519 1.31254,-0.12237 1.72034,0.79127 0.32401,0.72589 0.32401,1.51285 0,2.23874 -0.39738,0.89029 -1.12233,1.24146 -1.70222,0.82456 -0.13165,-0.0946 -0.36034,-0.38029 -0.5082,-0.6348 l -0.26885,-0.46272 h -4.58281 -4.58282 v 0.7406 0.74061 h 1.4362 c 0.78991,0 1.49169,0.045 1.55952,0.1 0.0678,0.055 0.32131,0.5549 0.56331,1.11091 l 0.43999,1.01091 h 1.34327 1.34326 l 0.18231,-0.41735 c 0.10026,-0.22955 0.32562,-0.5446 0.50079,-0.70013 0.83958,-0.74544 1.96133,0.18088 2.04381,1.68775 0.0826,1.50912 -1.03369,2.74715 -1.90938,2.11759 -0.12911,-0.0928 -0.36235,-0.37849 -0.5183,-0.63481 l -0.28354,-0.46604 h -1.5543 c -1.23879,0 -1.58341,-0.0309 -1.69768,-0.15213 -0.0788,-0.0837 -0.32939,-0.58285 -0.55676,-1.10925 l -0.41338,-0.95711 -1.23453,-0.002 -1.23453,-0.002 -0.0225,1.5966 c -0.0216,1.5304 -0.0293,1.60497 -0.18736,1.79861 -0.0907,0.11111 -0.24138,0.20201 -0.3349,0.20201 -0.16501,0 -0.16943,0.0206 -0.14939,0.6955 l 0.0206,0.69549 0.97132,0.61188 c 0.53423,0.33653 1.01014,0.69231 1.05758,0.79061 0.0474,0.0983 0.20278,0.88771 0.3452,1.75425 0.24658,1.50037 0.26858,1.58062 0.46113,1.68231 1.12996,0.59678 1.30003,2.79139 0.29612,3.82102 -0.21106,0.21646 -0.34226,0.2645 -0.72238,0.2645 -0.40027,0 -0.49963,-0.0406 -0.7189,-0.29401 -0.76782,-0.88726 -0.89922,-2.08384 -0.3354,-3.05427 l 0.26888,-0.46277 -0.21916,-1.29115 c -0.12054,-0.71013 -0.25015,-1.33248 -0.28802,-1.383 -0.0379,-0.0505 -0.47737,-0.34072 -0.9767,-0.64489 -1.19395,-0.72729 -1.2221,-0.77643 -1.2221,-2.13335 v -1.05211 h -0.419 -0.41901 v 1.90169 1.90167 l 0.64597,0.65051 c 0.35528,0.35777 0.68524,0.72518 0.73326,0.81645 0.064,0.12164 0.0873,0.79968 0.0873,2.53935 v 2.37341 l 0.3166,0.42221 c 0.40443,0.53934 0.54137,0.94776 0.54137,1.61468 0,0.64808 -0.13092,1.05722 -0.49993,1.56229 -0.52545,0.7192 -1.05877,0.76852 -1.65907,0.15342 -0.8369,-0.85752 -0.86158,-2.52296 -0.0502,-3.38939 l 0.30374,-0.32436 v -2.03546 -2.03546 l -0.57613,-0.60647 c -0.98597,-1.03789 -0.89039,-0.6849 -0.89039,-3.28827 v -2.25627 h -0.48885 -0.48883 v 6.93904 6.93905 l 0.37826,0.54635 c 0.60319,0.87122 0.6732,1.68432 0.23045,2.67613 -0.26898,0.60251 -0.71315,0.99133 -1.13247,0.99133 -0.16975,0 -0.421309,-0.10232 -0.600069,-0.24408 z m 0.900359,-1.46989 c 0.099,-0.15 0.1085,-0.60226 0.0172,-0.82086 -0.0773,-0.18521 -0.565569,-0.16485 -0.646029,0.0269 -0.0818,0.19497 -0.0656,0.65184 0.0282,0.79391 0.0461,0.0698 0.181219,0.12696 0.300279,0.12696 0.11907,0 0.2542,-0.0572 0.3003,-0.12696 z m -3.491727,-3.70302 c 0.0461,-0.0698 0.0838,-0.27455 0.0838,-0.45494 0,-0.40435 -0.10929,-0.58191 -0.35815,-0.58191 -0.2342,0 -0.41004,0.24955 -0.41004,0.58191 0,0.13716 0.0494,0.32421 0.10975,0.41565 0.12987,0.19674 0.45598,0.21905 0.57463,0.0393 z m 6.957507,-0.0393 c 0.24694,-0.3741 0.0593,-0.99755 -0.30029,-0.99755 -0.24886,0 -0.35815,0.17756 -0.35815,0.5819 0,0.18039 0.0377,0.38512 0.0838,0.45495 0.11865,0.17976 0.44478,0.15745 0.57464,-0.0393 z m -10.330518,-4.38317 v -0.4761 l -0.29647,-0.0325 c -0.260281,-0.0285 -0.306399,6e-4 -0.37784,0.23806 -0.06194,0.20594 -0.06194,0.33518 0,0.54112 0.07144,0.23754 0.117559,0.26659 0.37784,0.23805 l 0.29647,-0.0325 z m 13.792318,0.26451 c 0.0423,-0.16845 0.0417,-0.36278 -0.002,-0.53511 -0.0603,-0.24014 -0.10133,-0.26693 -0.36491,-0.23805 -0.2807,0.0308 -0.29821,0.052 -0.31936,0.38647 -0.0345,0.54574 0.0199,0.65119 0.33617,0.65119 0.23788,0 0.29388,-0.0424 0.34963,-0.2645 z m -3.14255,-16.13459 v -6.03064 h -3.98057 -3.980567 v 6.03064 6.03062 h 3.980567 3.98057 z m -6.128998,3.59335 c -0.087,-0.053 -0.18911,-0.21966 -0.22696,-0.37048 -0.0744,-0.29658 -0.0959,-5.96875 -0.0241,-6.37468 0.0897,-0.50732 0.28295,-0.55122 2.427018,-0.55122 h 1.98986 l 0.19594,0.25535 0.19594,0.25533 v 3.19235 3.19233 l -0.19594,0.25534 -0.19594,0.25535 -2.00385,-0.007 c -1.102119,-0.003 -2.075008,-0.05 -2.161998,-0.10297 z m 3.510198,-3.59335 v -2.06312 l -1.37923,-0.0287 -1.379229,-0.0287 v 2.12048 2.12048 l 1.379229,-0.0287 1.37923,-0.0287 z m -14.154945,5.42277 c 0.01883,-0.39434 -3.96e-4,-0.46421 -0.157126,-0.57244 -0.298977,-0.20638 -0.52776,0.0215 -0.52776,0.52559 0,0.51572 0.03632,0.56593 0.381557,0.52743 0.27786,-0.031 0.282177,-0.0378 0.303329,-0.48058 z m 26.187965,-7.9e-4 c 0.0188,-0.39467 5.9e-4,-0.46206 -0.14963,-0.54852 -0.37958,-0.21864 -0.6768,0.22293 -0.53375,0.79297 0.0603,0.24014 0.10134,0.26693 0.3649,0.23805 0.29563,-0.0324 0.29709,-0.0347 0.31848,-0.4825 z m -28.793821,-4.78693 c 0.163611,-0.0943 0.180866,-0.15353 0.161673,-0.55545 -0.02108,-0.44149 -0.02668,-0.4506 -0.298035,-0.48412 -0.428309,-0.0529 -0.611702,0.48705 -0.317042,0.93346 0.159633,0.24185 0.200952,0.25152 0.453404,0.10611 z m 31.264171,-0.26484 c 0.0598,-0.19881 0.0593,-0.33171 -0.002,-0.53507 -0.0714,-0.23753 -0.11755,-0.26659 -0.37784,-0.23805 -0.28012,0.0307 -0.29771,0.052 -0.31885,0.38644 -0.0345,0.54564 0.02,0.65118 0.33593,0.65118 0.23414,0 0.29678,-0.0457 0.36259,-0.2645 z m -28.757864,-5.0562 c 0.09002,-0.0997 0.117118,-0.2493 0.100641,-0.55545 l -0.02255,-0.41899 h -0.314256 -0.314256 l -0.02255,0.41899 c -0.02356,0.43777 0.100151,0.69192 0.336806,0.69192 0.06213,0 0.168409,-0.0614 0.236165,-0.13647 z m 26.187944,0 c 0.09,-0.0997 0.11712,-0.2493 0.10063,-0.55545 -0.0221,-0.4111 -0.0281,-0.4196 -0.31954,-0.45153 -0.26356,-0.0289 -0.30463,-0.002 -0.3649,0.23804 -0.15753,0.62772 0.23938,1.1505 0.58381,0.76894 z M 93.630132,115.76555 c 0.03147,-0.043 0.04717,-0.26301 0.03491,-0.48889 -0.0214,-0.39549 -0.03248,-0.41196 -0.298778,-0.44486 -0.429104,-0.053 -0.611632,0.48715 -0.315975,0.93508 0.137517,0.20833 0.427122,0.20767 0.579839,-0.002 z m 13.630058,0.14399 c 0.16761,-0.0974 0.25423,-0.51605 0.17342,-0.83807 -0.0603,-0.24014 -0.10134,-0.26694 -0.3649,-0.23806 l -0.29699,0.0326 v 0.47132 c 0,0.41261 0.0217,0.4805 0.17458,0.54491 0.096,0.0405 0.17987,0.0783 0.18633,0.0841 0.007,0.006 0.0639,-0.0197 0.12756,-0.0568 z m -10.244357,-4.08005 c 0.0461,-0.0698 0.0838,-0.2851 0.0838,-0.47837 0,-0.26932 -0.0396,-0.37874 -0.16944,-0.46838 -0.39343,-0.27158 -0.71853,0.22095 -0.53927,0.81701 0.0592,0.19673 0.13138,0.2567 0.30915,0.2567 0.12758,0 0.26967,-0.0572 0.31575,-0.12696 z m 7.007777,-0.12974 c 0.17926,-0.59606 -0.14584,-1.08859 -0.53927,-0.81701 -0.12986,0.0896 -0.16944,0.19906 -0.16944,0.46838 0,0.44428 0.1063,0.60533 0.39955,0.60533 0.17777,0 0.25,-0.0599 0.30916,-0.2567 z m -3.542,-3.61258 c 0.12988,-0.19676 0.1446,-0.69083 0.0259,-0.87059 -0.10825,-0.164 -0.49233,-0.164 -0.600579,0 -0.12887,0.19525 -0.10382,0.79706 0.0384,0.92257 0.180419,0.15921 0.411629,0.13679 0.536229,-0.052 z"
-         style="fill:#4abc2a;fill-opacity:1;stroke-width:0.08595658" />
-    </g>
-    <g
-       transform="translate(-4.4419642)"
-       id="g3714">
-      <g
-         id="text3693"
-         style="font-style:normal;font-weight:normal;font-size:27.35885239px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#d21b37;fill-opacity:1;stroke:none;stroke-width:0.68397129"
-         aria-label="APACHE">
-        <path
-           id="path3900"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#d21b37;fill-opacity:1;stroke-width:0.68397129"
-           d="M 63.407462,91.45587 H 52.73751 l -2.298144,5.116106 h -2.106631 l 8.754832,-19.151197 h 1.997197 l 8.754832,19.151197 h -2.13399 z M 62.668773,89.814339 58.072486,79.527411 53.476199,89.814339 Z" />
-        <path
-           id="path3902"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#d21b37;fill-opacity:1;stroke-width:0.68397129"
-           d="m 78.175686,77.420779 q 3.666086,0 5.745359,1.750967 2.079273,1.750966 2.079273,4.815158 0,3.064191 -2.079273,4.815158 -2.079273,1.723607 -5.745359,1.723607 h -5.143464 v 6.046307 H 71.007667 V 77.420779 Z m -0.05472,11.326565 q 2.845321,0 4.350058,-1.231148 1.504737,-1.258508 1.504737,-3.529292 0,-2.325503 -1.504737,-3.556651 -1.504737,-1.258507 -4.350058,-1.258507 h -5.088746 v 9.575598 z" />
-        <path
-           id="path3904"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#d21b37;fill-opacity:1;stroke-width:0.68397129"
-           d="M 101.45337,91.45587 H 90.783416 l -2.298144,5.116106 h -2.106631 l 8.754832,-19.151197 h 1.997197 l 8.75483,19.151197 h -2.13399 z m -0.73869,-1.641531 -4.596288,-10.286928 -4.596287,10.286928 z" />
-        <path
-           id="path3906"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#d21b37;fill-opacity:1;stroke-width:0.68397129"
-           d="m 117.10348,96.736129 q -2.84532,0 -5.14346,-1.258507 -2.27079,-1.258508 -3.58401,-3.474575 -1.28587,-2.243426 -1.28587,-5.00667 0,-2.763244 1.28587,-4.979311 1.31322,-2.243426 3.61137,-3.501933 2.29814,-1.258507 5.14346,-1.258507 2.13399,0 3.93968,0.71133 1.80568,0.71133 3.06419,2.079273 l -1.28587,1.285866 q -2.24342,-2.270785 -5.66328,-2.270785 -2.27079,0 -4.13119,1.039637 -1.8604,1.039636 -2.92739,2.84532 -1.03964,1.805684 -1.03964,4.04911 0,2.243426 1.03964,4.049111 1.06699,1.805684 2.92739,2.84532 1.8604,1.039637 4.13119,1.039637 3.44721,0 5.66328,-2.298144 l 1.28587,1.285866 q -1.25851,1.367943 -3.09155,2.106632 -1.80569,0.71133 -3.93968,0.71133 z" />
-        <path
-           id="path3908"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#d21b37;fill-opacity:1;stroke-width:0.68397129"
-           d="m 144.4555,77.420779 v 19.151197 h -1.9972 v -8.83691 h -11.98318 v 8.83691 h -2.02455 V 77.420779 h 2.02455 v 8.535962 h 11.98318 v -8.535962 z" />
-        <path
-           id="path3910"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#d21b37;fill-opacity:1;stroke-width:0.68397129"
-           d="m 164.22227,94.821009 v 1.750967 H 150.67963 V 77.420779 h 13.13225 v 1.750967 H 152.70419 V 85.9841 h 9.9039 v 1.723608 h -9.9039 v 7.113301 z" />
-      </g>
-      <g
-         id="text3697"
-         style="font-style:normal;font-weight:normal;font-size:21.3327179px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#005BFF;fill-opacity:1;stroke:none;stroke-width:0.53331792"
-         transform="scale(1.0195789,0.98079707)"
-         aria-label="PETRI">
-        <path
-           id="path3889"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Montserrat Light';-inkscape-font-specification:'Montserrat Light, ';fill:#005BFF;fill-opacity:1;stroke-width:0.53331792"
-           d="m 108.62858,103.42109 q 2.81591,0 4.41587,1.34396 1.59995,1.32263 1.59995,3.69057 0,2.34659 -1.59995,3.69056 -1.59996,1.32262 -4.41587,1.32262 h -4.26655 v 4.8852 h -1.08797 v -14.93291 z m 0,9.06641 q 2.38926,0 3.64789,-1.0453 1.25863,-1.04531 1.25863,-2.98658 0,-1.94128 -1.25863,-2.98659 -1.25863,-1.06663 -3.64789,-1.06663 h -4.26655 v 8.0851 z" />
-        <path
-           id="path3891"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Montserrat Light';-inkscape-font-specification:'Montserrat Light, ';fill:#005BFF;fill-opacity:1;stroke-width:0.53331792"
-           d="m 128.619,117.37269 v 0.98131 h -10.3037 v -14.93291 h 9.98371 v 0.98131 h -8.89575 v 5.88783 h 7.95711 v 0.95997 h -7.95711 v 6.12249 z" />
-        <path
-           id="path3893"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Montserrat Light';-inkscape-font-specification:'Montserrat Light, ';fill:#005BFF;fill-opacity:1;stroke-width:0.53331792"
-           d="m 135.46513,104.4024 h -5.37584 v -0.98131 h 11.83966 v 0.98131 h -5.37585 v 13.9516 h -1.08797 z" />
-        <path
-           id="path3895"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Montserrat Light';-inkscape-font-specification:'Montserrat Light, ';fill:#005BFF;fill-opacity:1;stroke-width:0.53331792"
-           d="m 154.97391,118.354 -3.56257,-4.99186 q -0.78931,0.10666 -1.45062,0.10666 h -4.26655 v 4.8852 h -1.08797 v -14.93291 h 5.35452 q 2.81592,0 4.41587,1.34396 1.59995,1.32263 1.59995,3.69057 0,1.77061 -0.9173,2.98658 -0.89598,1.19463 -2.58126,1.68528 l 3.73322,5.22652 z m -5.01319,-5.84517 q 2.38926,0 3.64789,-1.0453 1.25863,-1.06664 1.25863,-3.00791 0,-1.94128 -1.25863,-2.98659 -1.25863,-1.06663 -3.64789,-1.06663 h -4.26655 v 8.10643 z" />
-        <path
-           id="path3897"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Montserrat Light';-inkscape-font-specification:'Montserrat Light, ';fill:#005BFF;fill-opacity:1;stroke-width:0.53331792"
-           d="m 159.98076,103.42109 h 1.08797 V 118.354 h -1.08797 z" />
-      </g>
-    </g>
-    <path
-       id="path3887"
-       d="m 80.16335,120.64247 c -0.180465,-0.0512 -0.335778,-0.18071 -0.424665,-0.35423 -0.04561,-0.089 -0.05067,-0.11693 -0.05067,-0.27878 0,-0.15596 0.0062,-0.19299 0.04652,-0.27877 0.06112,-0.12997 0.181275,-0.25095 0.313954,-0.31609 0.09561,-0.0469 0.125545,-0.0526 0.278005,-0.0526 0.147026,0 0.184959,0.007 0.271937,0.0474 0.127682,0.0598 0.232083,0.15369 0.287434,0.25832 l 0.04313,0.0815 0.395675,-0.005 0.395674,-0.005 0.009,-0.32826 0.009,-0.32826 h -0.215822 c -0.349402,0 -0.409948,-0.0507 -0.419794,-0.35191 l -0.0061,-0.18759 h -0.213552 c -0.191475,0 -0.215445,0.004 -0.23186,0.0342 -0.01007,0.0188 -0.0605,0.0552 -0.112076,0.0809 -0.163723,0.0815 -0.370224,0.0525 -0.48102,-0.0677 -0.03661,-0.0397 -0.05897,-0.0474 -0.139384,-0.0474 -0.05268,0 -0.09578,0.007 -0.09578,0.0162 0,0.009 -0.03225,0.0591 -0.07168,0.11158 -0.136728,0.18197 -0.350027,0.27993 -0.574439,0.26381 -0.376277,-0.027 -0.660712,-0.38812 -0.594282,-0.75446 0.03566,-0.19669 0.125585,-0.33567 0.286832,-0.44334 0.29909,-0.19973 0.709883,-0.11589 0.899625,0.18359 0.06262,0.0988 0.06341,0.0994 0.154226,0.10021 0.07617,7e-4 0.09851,-0.007 0.134888,-0.0465 0.139079,-0.15099 0.433726,-0.15099 0.572805,0 0.04237,0.046 0.04962,0.0474 0.256289,0.0474 h 0.212688 v -0.30574 -0.30576 H 80.89528 c -0.169348,0 -0.208883,0.005 -0.229312,0.0301 -0.01357,0.0165 -0.06067,0.0529 -0.104641,0.0809 -0.168655,0.10733 -0.442742,0.0484 -0.558772,-0.12034 -0.155014,-0.2253 -0.07615,-0.5167 0.170983,-0.63178 0.156399,-0.0728 0.315969,-0.0484 0.44909,0.0688 l 0.07813,0.0688 h 0.199574 0.199574 v -0.26079 -0.26078 h -0.207763 c -0.197183,0 -0.209697,0.002 -0.247298,0.0438 -0.113874,0.12585 -0.325102,0.15604 -0.495932,0.0709 -0.05208,-0.026 -0.104179,-0.0624 -0.11577,-0.0809 -0.01962,-0.0315 -0.04966,-0.0338 -0.434904,-0.0338 -0.463381,-5e-5 -0.502602,-0.008 -0.579835,-0.12403 -0.03917,-0.0586 -0.04083,-0.0763 -0.04083,-0.43444 v -0.37332 l -0.07747,-0.0455 c -0.101489,-0.0595 -0.222524,-0.19223 -0.267068,-0.29293 -0.142389,-0.32189 -0.01717,-0.68544 0.293806,-0.85306 0.107478,-0.0579 0.123499,-0.0613 0.293536,-0.0616 0.162723,-3.3e-4 0.190035,0.005 0.286783,0.0521 0.27727,0.13614 0.42748,0.43566 0.361394,0.72061 -0.01513,0.0652 -0.04037,0.14347 -0.0561,0.17389 -0.04276,0.0827 -0.166259,0.20967 -0.253823,0.26099 l -0.07747,0.0455 v 0.20317 0.20317 l 0.04792,0.012 c 0.02634,0.007 0.140801,0.01 0.254335,0.007 l 0.206427,-0.005 0.07953,-0.0657 c 0.174232,-0.14398 0.386872,-0.14204 0.553998,0.005 l 0.07893,0.0694 0.197456,-0.005 0.197456,-0.005 0.0058,-0.26389 c 0.0055,-0.2526 0.0077,-0.26597 0.05077,-0.31256 0.07407,-0.0802 0.14097,-0.098 0.36812,-0.098 h 0.207407 v -0.41997 -0.41995 l -0.08623,-0.0536 c -0.17235,-0.10714 -0.286309,-0.29704 -0.303856,-0.50633 -0.0224,-0.26713 0.114365,-0.50758 0.363109,-0.63843 0.0991,-0.0521 0.121896,-0.0568 0.27915,-0.0569 0.156961,-1e-4 0.181136,0.005 0.289968,0.0584 0.14076,0.0693 0.251275,0.18218 0.318266,0.32508 0.06552,0.13974 0.06875,0.37997 0.0069,0.51429 -0.05618,0.12209 -0.157047,0.24021 -0.25955,0.30392 l -0.08623,0.0536 v 0.41997 0.41995 h 0.395676 0.395674 v -0.32059 c 0,-0.31675 -5.43e-4,-0.32109 -0.04394,-0.36189 -0.05688,-0.0535 -0.103351,-0.15153 -0.118698,-0.25057 -0.04327,-0.27922 0.219724,-0.52663 0.498556,-0.46904 0.320822,0.0663 0.451567,0.44663 0.237232,0.69012 l -0.06953,0.0789 v 0.31648 0.31648 h 0.404668 0.404667 v -0.31648 -0.31648 l -0.07097,-0.0806 c -0.165213,-0.18769 -0.128308,-0.47403 0.07953,-0.61703 0.09995,-0.0688 0.207138,-0.0927 0.319469,-0.0714 0.08572,0.0163 0.247503,0.11034 0.247503,0.14393 0,0.0104 0.151456,0.0166 0.382186,0.016 l 0.382185,-0.002 0.07194,-0.1103 c 0.130105,-0.19949 0.329825,-0.29494 0.58299,-0.27862 0.178682,0.0115 0.284651,0.0599 0.413663,0.18892 0.224224,0.22422 0.25741,0.55797 0.08179,0.82256 -0.07409,0.11162 -0.14858,0.17264 -0.29185,0.23908 -0.136794,0.0634 -0.339859,0.0659 -0.493463,0.006 -0.124431,-0.0485 -0.262614,-0.16878 -0.321484,-0.27975 l -0.04353,-0.0821 H 85.32526 84.9554 l -0.04833,0.0504 -0.04833,0.0505 v 0.31657 0.31656 l 0.175356,0.006 c 0.140962,0.005 0.184759,0.0133 0.223298,0.0421 0.09347,0.0702 0.113876,0.12785 0.114467,0.32374 l 5.44e-4,0.17985 0.292828,0.005 0.292828,0.005 0.07415,-0.0635 c 0.255953,-0.21908 0.65391,-0.0555 0.692247,0.2847 0.02737,0.24291 -0.172366,0.46067 -0.422981,0.46114 -0.113226,2e-4 -0.190589,-0.0293 -0.277895,-0.10595 l -0.06453,-0.0566 -0.293867,0.005 c -0.161625,0.003 -0.291841,0.011 -0.289368,0.0185 0.0025,0.007 0.0045,0.18345 0.0045,0.39118 v 0.37768 h 0.0868 c 0.06763,0 0.09548,-0.009 0.12616,-0.0419 0.06573,-0.07 0.192109,-0.12285 0.295569,-0.12367 0.236579,-0.002 0.429304,0.18471 0.4315,0.41777 0.0035,0.36825 -0.429382,0.5683 -0.696618,0.32197 -0.06614,-0.0609 -0.08793,-0.0705 -0.159985,-0.0705 h -0.08342 v 0.22482 0.22482 h 0.211496 c 0.18737,0 0.213902,-0.005 0.232571,-0.0338 0.03741,-0.0599 0.200583,-0.12812 0.306449,-0.12812 0.109634,0 0.236126,0.0555 0.314155,0.13771 0.143759,0.15155 0.13865,0.44326 -0.01016,0.58033 l -0.04733,0.0435 v 0.39082 0.39084 l 0.07643,0.0452 c 0.105245,0.0623 0.199412,0.16451 0.259574,0.28195 0.0456,0.089 0.05067,0.11692 0.05067,0.27877 0,0.17034 -0.0033,0.18581 -0.06098,0.29229 -0.07408,0.13661 -0.186165,0.24341 -0.322554,0.30732 -0.08386,0.0393 -0.127731,0.0478 -0.24595,0.0478 -0.323651,-4e-5 -0.570974,-0.1884 -0.648955,-0.49428 -0.07002,-0.27465 0.051,-0.56584 0.298413,-0.71808 l 0.08975,-0.0552 -5.44e-4,-0.37336 c -5.43e-4,-0.36899 -0.0011,-0.37395 -0.0441,-0.42283 -0.04308,-0.0489 -0.04586,-0.0494 -0.265901,-0.0494 H 85.35099 l -0.04235,0.10342 c -0.05429,0.13255 -0.244971,0.3268 -0.366261,0.37312 l -0.08361,0.0319 v 0.41285 0.41285 l 0.06361,0.0743 c 0.08775,0.10252 0.125145,0.2365 0.09945,0.35632 -0.04247,0.19803 -0.222594,0.34836 -0.414987,0.34633 -0.377544,-0.005 -0.569947,-0.47144 -0.298375,-0.72492 l 0.04672,-0.0436 v -0.40153 -0.40152 h -0.404669 -0.404667 v 0.40187 c 0,0.38732 0.0014,0.40312 0.0383,0.43615 0.02107,0.0188 0.05937,0.0666 0.08512,0.10619 0.0664,0.10203 0.06753,0.2879 0.0025,0.40383 -0.213321,0.38006 -0.789256,0.2396 -0.794693,-0.19381 -0.0015,-0.11887 0.03043,-0.20513 0.109013,-0.29463 l 0.05621,-0.064 v -0.3978 -0.39779 h -0.395675 -0.395674 v 0.31686 0.31686 l 0.05621,0.064 c 0.07629,0.0869 0.105661,0.16427 0.105661,0.27834 0,0.22899 -0.191941,0.42339 -0.420566,0.42598 -0.122854,0.002 -0.210005,-0.0371 -0.306774,-0.13534 l -0.09099,-0.0924 -0.314741,-0.002 c -0.173108,-0.002 -0.323729,0.004 -0.334714,0.0108 -0.01098,0.007 -0.03367,0.0398 -0.05042,0.0725 -0.117706,0.22969 -0.4726,0.37715 -0.731225,0.30381 z m 0.235711,-0.50744 c 0.08903,-0.0461 0.101567,-0.16851 0.02435,-0.23797 -0.128516,-0.11563 -0.311266,0.0488 -0.211908,0.19063 0.02583,0.0369 0.08067,0.0704 0.120369,0.0735 0.0079,6.1e-4 0.03814,-0.0112 0.06718,-0.0261 z m 5.840071,-0.0373 c 0.05939,-0.0665 0.04665,-0.15928 -0.02991,-0.21807 -0.08525,-0.0654 -0.225968,0.0155 -0.222776,0.12805 0.0041,0.14614 0.154647,0.19975 0.252692,0.09 z m -1.506959,-1.54469 c 0.02832,-0.0146 0.06837,-0.0481 0.08903,-0.0744 0.03733,-0.0474 0.03756,-0.0558 0.03756,-1.40841 v -1.36065 l -1.627663,1.3e-4 -1.627663,1.5e-4 v 1.43488 1.43489 h 1.53863 c 1.323264,0 1.545836,-0.004 1.590104,-0.0266 z m -2.29086,-0.46764 c -0.08146,-0.029 -0.148566,-0.10288 -0.163738,-0.18018 -0.0058,-0.0296 -0.0081,-0.39388 -0.0052,-0.80934 0.0053,-0.72286 0.007,-0.75744 0.04142,-0.80332 0.08413,-0.11211 0.06446,-0.10976 0.916071,-0.11004 0.856234,-3e-4 0.846403,-0.002 0.922774,0.11197 l 0.04166,0.0619 -0.005,0.80472 -0.005,0.80472 -0.05293,0.0552 c -0.02911,0.0305 -0.08172,0.0632 -0.116904,0.073 -0.03743,0.0105 -0.362384,0.0175 -0.78338,0.0171 -0.568236,-5.3e-4 -0.734199,-0.006 -0.78979,-0.0258 z m 1.248413,-0.94456 v -0.44963 h -0.456308 -0.456307 l 10e-6,0.43614 c 7e-6,0.23989 0.0035,0.44222 0.0077,0.44963 0.0043,0.007 0.209584,0.0136 0.456296,0.0136 h 0.44857 z m -4.389682,1.26863 c 0.05475,-0.0284 0.07322,-0.0603 0.07322,-0.12656 0,-0.0669 -0.01856,-0.0983 -0.07543,-0.12771 -0.177071,-0.0916 -0.306375,0.16411 -0.131398,0.25981 0.04852,0.0266 0.07358,0.0256 0.133603,-0.005 z m 0.03276,-3.46802 c 0.08932,-0.0818 0.0202,-0.2466 -0.103415,-0.2466 -0.151148,0 -0.20215,0.22047 -0.06475,0.27993 0.0646,0.0279 0.111342,0.0187 0.168168,-0.0333 z m 7.07199,-0.62768 c 0.05494,-0.0589 0.04963,-0.16367 -0.01072,-0.21112 -0.143172,-0.11262 -0.325518,0.0766 -0.201269,0.20886 0.05266,0.0561 0.160793,0.0572 0.211987,0.002 z M 82.0931,113.85285 c 0.01707,-0.0167 0.03623,-0.0564 0.04257,-0.0881 0.0097,-0.0485 0.0028,-0.0664 -0.04314,-0.11234 -0.07039,-0.0704 -0.13377,-0.0711 -0.202708,-0.002 -0.0589,0.0589 -0.06663,0.11719 -0.02366,0.17852 0.05468,0.0781 0.160355,0.0893 0.226951,0.024 z m 4.806989,4.10925 c -0.336997,-0.11233 -0.529716,-0.41021 -0.477035,-0.73732 0.03371,-0.20932 0.155508,-0.3786 0.345366,-0.48 0.09776,-0.0522 0.1351,-0.0617 0.266558,-0.0678 0.124315,-0.005 0.171866,1e-5 0.254536,0.0312 0.271328,0.1023 0.433224,0.33451 0.433369,0.62158 2.03e-4,0.34334 -0.271352,0.62839 -0.617865,0.64862 -0.08323,0.005 -0.159905,-0.002 -0.204929,-0.0162 z m 0.277465,-0.54491 c 0.05045,-0.0641 0.04774,-0.14162 -0.0069,-0.19623 -0.09227,-0.0923 -0.243617,-0.0296 -0.243617,0.10104 0,0.0466 0.01221,0.0828 0.03597,0.10661 0.055,0.055 0.166959,0.049 0.214518,-0.0115 z"
-       style="fill:#d44359;fill-opacity:1;stroke-width:0.01798522" />
-  </g>
-</svg>
diff --git a/content/include/archive.ezt b/content/include/archive.ezt
deleted file mode 100644
index 32c5055..0000000
--- a/content/include/archive.ezt
+++ /dev/null
@@ -1,34 +0,0 @@
-<h1 id="verify">Verify the integrity of the files<a class="headerlink" href="#verify" title="Permanent link">&para;</a></h1>
-<p>It is essential that you verify the integrity of the downloaded file using
-the PGP signature (<code>.asc</code> file) or a hash (<code>.md5</code> or <code>.sha*</code> file). Please read <a href="/info/verification.html">Verifying Apache Software
-Foundation Releases</a> for more information on why
-you should verify our releases.</p>
-<p>The PGP signature can be verified using PGP or GPG. First download the
-<code>KEYS</code> as well as the <code>asc</code> signature file for the relevant distribution.
-Make sure you get these files from the main distribution site, rather than
-from a mirror. Then verify the signatures using</p>
-<div class="codehilite"><pre><span class="c">% gpg --import KEYS</span>
-<span class="c">% gpg --verify downloaded_file.asc downloaded_file</span>
-</pre></div>
-
-
-<p><em>or</em></p>
-<div class="codehilite"><pre><span class="c">% pgpk -a KEYS</span>
-<span class="c">% pgpv downloaded_file.asc</span>
-</pre></div>
-
-
-<p><em>or</em></p>
-<div class="codehilite"><pre><span class="c">% pgp -ka KEYS</span>
-<span class="c">% pgp downloaded_file.asc</span>
-</pre></div>
-
-
-<p>Alternatively, you can verify the MD5 hash on the file. A unix
-program called <code>md5</code> or <code>md5sum</code> is included in many unix distributions. It
-is also available as part of 
-<a href="http://www.gnu.org/software/textutils/textutils.html">GNU Textutils</a>.
-Windows users can get binary md5 programs from
-<a href="http://www.fourmilab.ch/md5/">here</a>, 
-<a href="http://www.pc-tools.net/win32/freeware/console/">here</a> , or
-<a href="http://www.slavasoft.com/fsum/">here</a>.</p>
diff --git a/content/include/closer.ezt b/content/include/closer.ezt
deleted file mode 100644
index 870b683..0000000
--- a/content/include/closer.ezt
+++ /dev/null
@@ -1,67 +0,0 @@
-<p>[if-any logo] <a href="[link]"><img alt="[logo]" src="[logo]" /></a> [end] We suggest the following mirror
-site for your download:</p>
-<p><a href="[preferred][path_info]"><strong>[preferred][path_info]</strong></a> </p>
-<p>Other mirror sites are suggested below.</p>
-<p>It is essential that you <a href="#verify">verify the integrity</a> of the downloaded file using
-the PGP signature (<code>.asc</code> file) or a hash (<code>.md5</code> or <code>.sha*</code> file).</p>
-<p>Please only use the backup mirrors to download KEYS, PGP signatures and hashes (SHA* etc)
--- or if no other mirrors are working.</p>
-<p>[if-any http]</p>
-<h1 id="http">HTTP<a class="headerlink" href="#http" title="Permanent link">&para;</a></h1>
-<p>[for http] <a href="[http][path_info]"><strong>[http][path_info]</strong></a> <br></br>[end]</p>
-<p>[end]</p>
-<p>[if-any ftp]</p>
-<h1 id="ftp">FTP<a class="headerlink" href="#ftp" title="Permanent link">&para;</a></h1>
-<p>[for ftp] <a href="[ftp][path_info]"><strong>[ftp][path_info]</strong></a> <br></br>[end]</p>
-<p>[end]</p>
-<h1 id="backup">Backup Sites<a class="headerlink" href="#backup" title="Permanent link">&para;</a></h1>
-<p>Please only use the backup mirrors to download KEYS, PGP signatures and hashes (SHA* etc)
--- or if no other mirrors are working.</p>
-<p>[if-any backup] [for backup] <a href="[backup][path_info]"><strong>[backup][path_info]</strong></a> <br></br>[end] [end]</p>
-<p>The <a href="http://www.apache.org/mirrors/">full listing of mirror sites</a> is also
-available.</p>
-<h1 id="become">Becoming a mirror<a class="headerlink" href="#become" title="Permanent link">&para;</a></h1>
-<p>The procedure for setting up new mirrors is described in <a href="http://www.apache.org/info/how-to-mirror.html">How to become a
-mirror</a>.</p>
-<h1 id="verify">Verify the integrity of the files<a class="headerlink" href="#verify" title="Permanent link">&para;</a></h1>
-<p>It is essential that you verify the integrity of the downloaded file using
-the PGP signature (<code>.asc</code> file) or a hash (<code>.md5</code> or <code>.sha*</code> file). Please read <a href="/info/verification.html">Verifying Apache Software
-Foundation Releases</a> for more information on why
-you should verify our releases.</p>
-<p>The PGP signature can be verified using PGP or GPG. First download the
-<code>KEYS</code> as well as the <code>asc</code> signature file for the relevant distribution.
-Make sure you get these files from the main distribution site, rather than
-from a mirror. Then verify the signatures using</p>
-<div class="codehilite"><pre><span class="c">% gpg --import KEYS</span>
-<span class="c">% gpg --verify downloaded_file.asc downloaded_file</span>
-</pre></div>
-
-
-<p><em>or</em></p>
-<div class="codehilite"><pre><span class="c">% pgpk -a KEYS</span>
-<span class="c">% pgpv downloaded_file.asc</span>
-</pre></div>
-
-
-<p><em>or</em></p>
-<div class="codehilite"><pre><span class="c">% pgp -ka KEYS</span>
-<span class="c">% pgp downloaded_file.asc</span>
-</pre></div>
-
-
-<p>Alternatively, you can verify the hash on the file.</p>
-<p>Hashes can be calculated using GPG:</p>
-<div class="codehilite"><pre><span class="c">% gpg --print-md SHA256 downloaded_file</span>
-</pre></div>
-
-
-<p>The output should be compared with the contents of the SHA256 file.
-Similarly for other hashes (SHA512, SHA1, MD5 etc) which may be provided.</p>
-<p>Windows 7 and later systems should all now have certUtil:</p>
-<div class="codehilite"><pre><span class="c">% certUtil -hashfile pathToFileToCheck [HashAlgorithm]</span>
-</pre></div>
-
-
-<p>HashAlgorithm choices: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512</p>
-<p>Unix-like systems (and macOS) will have a utility called
-md5, md5sum or shasum</p>
diff --git a/content/index.ezmd b/content/index.ezmd
deleted file mode 100644
index b835803..0000000
--- a/content/index.ezmd
+++ /dev/null
@@ -1,66 +0,0 @@
-Title: What is Apache Petri?
-version: 1.0
-<!-- Licensed under ALv2 -->
-
-![[]Apache Petri Logo](images/logo.svg) {.float-right}
-
-["Title: %0, Version: %1" title version]
-
-[include "/tmp/template/source/content/projects/projects.snippet"]
-
-{{ relative_source_path }} - {{ version }} - [{ board[1].name }] - {{ tester }}
-
-[{ ci[boardchair][roster] }] - [{ ci[tac][chair] }] - [{ ci[infrastructureadministrator][roster] }]
-
-[{ board[30].name }] - [{ eccn[11].product[0].name }] - [{ eccn[11].product[0].versions[0].version }]
-
-The Apache Petri (as in “petri dish” – where cultures are grown and bloom) committee
-assists external project communities interested in becoming an Apache project to
-learn how The Apache Software Foundation (ASF) works, its views on community, and
-how to build a healthy community for the long -term.
-
-Petri’s mission is to mentor existing external communities (“cultures”) about
-“The Apache Way” by focusing on community governance that includes discussions
-about ASF policies. The mentoring and education is conducted on a mailing list.
-
-The primary goal is to reach a point where a recommendation to the ASF Board can
-be made to construct a new Apache Project Management Committee (PMC) for the
-external community.
-
-## About "The Apache Way" {#the-way}
-
-- [[]The Apache Way](https://www.apache.org/theapacheway/index.html)
-- [[]Sustainable Open Source](https://s.apache.org/GhnI)
-- [[]How it Works](https://www.apache.org/foundation/how-it-works.html)
-- [[]Merit](https://www.apache.org/foundation/how-it-works.html#meritocracy)
-- [[]Success at Apache](https://blogs.apache.org/foundation/category/SuccessAtApache)
-
-## Which communities are currently mentored by Apache Petri?
-
-- [[]BuildStream](/buildstream)
-
-## How can our project/community apply for Apache Petri mentorship?
-
-Email discuss@petri.apache.org (public list; subscription not required) or private@petri.apache.org (private list,
-only Apache Petri PMC members and Apache Members can subscribe) and introduce yourself! We don’t have any forms or
-questionnaires, but may introduce these should the need arise.
-
-## Do you have additional questions?
-
-Please read our [[]FAQ](/faq) or ask questions on discuss@petri.apache.org
-
-## Petri Repositories and Issue Tracking
-
-- [[]Website](https://github.com/apache/petri-site)
-- [[]Issues](https://github.com/apache/petri-site/issues)
-
-### Petri Status Files
-
-- [[]info.yaml](https://petri.apache.org/info.yaml)
-- [[]petri.rdf](https://projects.apache.org/project.html?petri)
-
-<p>["Title: %0, Version: %1" title version]</p>
-
-| Office    | Individual  |
-|-----------|-------------|  [for projects]
-| V.P., [if-any projects.site][[][end]Apache [projects.display_name][if-any projects.site]]([projects.site])[end] | [projects.chair] |[end]
diff --git a/content/mentors.md b/content/mentors.md
deleted file mode 100644
index 9dc419b..0000000
--- a/content/mentors.md
+++ /dev/null
@@ -1,25 +0,0 @@
-title: Mentors at Apache Petri
-<!-- Licensed under ALv2 -->
-
-<script type="text/javascript">
-</script>
-
-<style></style>
-
-<iframe></iframe>
-
-## Introduction
-
-Mentors at Apache Petri provides insight into the Apache Way and general oversight of the learning process
-for projects within the Apache Petri.
-
-## Current mentors
-
-- Daniel Gruno (humbedooh)
-- Daniel Shahaf (danielsh)
-- Dave Fisher (wave)
-- David Nalley (ke4qqq)
-- Greg Stein (gstein)
-- Justin Erenkrantz (jerenkrantz)
-- Ross Gardler (rgardler)
-- Sander Striker (striker)
diff --git a/content/project_list.ezmd b/content/project_list.ezmd
deleted file mode 100644
index 61416e2..0000000
--- a/content/project_list.ezmd
+++ /dev/null
@@ -1,9 +0,0 @@
-Title: Apache Project List
-version: 1.0
-source_button: yes
-<!-- Licensed under ALv2 -->
-
-| Column 1    | Column 2    | Column 3    | Column 4    | Column 5    | Column 6    |
-| ----------- | ----------- | ----------- | ----------- | ----------- | ----------- |
-| [for pl_0][is pl_0.letter pl_0.display_name]**[pl_0.letter]**[else][[][pl_0.display_name]]([pl_0.site])[end]<br>[end] | [for pl_1][is pl_1.letter pl_1.display_name]**[pl_1.letter]**[else][[][pl_1.display_name]]([pl_1.site])[end]<br>[end] | [for pl_2][is pl_2.letter pl_2.display_name]**[pl_2.letter]**[else][[][pl_2.display_name]]([pl_2.site])[end]<br>[end] | [for pl_3][is pl_3.letter pl_3.display_name]**[pl_3.letter]**[else][[][pl_3.display_name]]([pl_3.site])[end]<br>[end] | [for pl_4][is pl_4.letter pl_4.display_name]**[pl_4.letter]**[else][[][pl_4.display_name]]([pl_4.site])[end]<br>[end] | [for pl_5][is pl_5.letter pl_5.display_name]**[pl_5.letter]**[else][[][pl_5.display_name]]([pl_5.site])[end]<br>[end] |
-
diff --git a/content/projects.md b/content/projects.md
deleted file mode 100644
index 9772b3e..0000000
--- a/content/projects.md
+++ /dev/null
@@ -1,12 +0,0 @@
-title: Projects mentored by Apache Petri
-<!-- Licensed under ALv2 -->
-
-## Project Status
-
-- [Cookbook](projects/cookbook)
-
-## Current Cultures
-
-- [BuildStream](buildstream)
-
-  BuildStream is an integration build system. It models dependencies at a project level, enabling projects to use their own underlying build system
diff --git a/content/projects/README.md b/content/projects/README.md
deleted file mode 100644
index d64493a..0000000
--- a/content/projects/README.md
+++ /dev/null
@@ -1 +0,0 @@
-This is the top level of the content tree
diff --git a/content/projects/cookbook.md b/content/projects/cookbook.md
deleted file mode 100644
index a058c80..0000000
--- a/content/projects/cookbook.md
+++ /dev/null
@@ -1,62 +0,0 @@
-title: Cookbook @ Apache Petri
-<!-- Licensed under ALv2 -->
-## Petri Cookbook
-
-[TOC]
-
-During its time in Petri a culture may go through a number of transitions. We track these on a web page.
-
-### About
-
-This section should describe the project.
-Whenever a community begins to call itself Apache Foo then it needs to provide a DISCLAIMER. Contact discuss@petri.apache.org for the text.
-
-[TOC]
-
-### Website
-
-Provide the current website for the project community. When the community wishes Petri will guide in the creation of a website on Apache Infrastructure.
-
-### Mailing Lists
-
-List the mailing lists used by the community. Petri will create Apache Mailing lists when requested.
-
-### Source Code Repository
-
-Provide the url to the source code repository. Petri will request an Apache Git repository when the community is ready to migrate.
-This will require an SGA be filed (See below.)
-
-If a different type of repository is required then please discuss with your Mentors.
-
-### Issue Tracker
-
-Provide the address to your issue tracker. The ASF offers both JIRA and GitHub issue trackers. Bugzilla is also an option for older projects.
-
-### Wiki
-
-Provide the address to your project wiki, if any. The ASF offers both Confluence and GitHub wikis.
-Other Wikis would require other support which should be discussed with your mentors.
-
-### Releases (not Apache)
-
-The URL where project releases can be found. The assumption is that releases will not be Apache releases until late in the process.
-Once an Apache Release has been made then the "not" can be struck.
-
-### Licensing Transitions
-
-The community needs to undertake some license transitions if their intent is to become an Apache PMC (TLP).
-
-- "No SGA" or "SGA provided". [Software License Grant](https://www.apache.org/licenses/contributor-agreements.html#grants)
-- "No ICLAs" or "ICLAs provided". [Contributor License Agreements](https://www.apache.org/licenses/contributor-agreements.html#clas)
-- "No ASF Headers" or "ASF Headers Applied". [Applying the Apache License](https://infra.apache.org/apply-license.html)
-- "No Apache LICENSE" or "LICENSE approved". [Understanding Release Policy](http://www.apache.org/legal/release-policy.html)
-- "No Apache NOTICE" or "NOTICE approved". [Understanding Release Policy](http://www.apache.org/legal/release-policy.html)
-
-### Mentors
-
-A list of your current mentors.
-
-### Machine Readable Status
-
-The status information for a community should also be updated in
-[info.yaml](https://github.com/apache/petri-site/blob/master/info.yaml).
diff --git a/content/projects/projects.snippet b/content/projects/projects.snippet
deleted file mode 100644
index 3e89e05..0000000
--- a/content/projects/projects.snippet
+++ /dev/null
@@ -1,9 +0,0 @@
-## Project Status
-
-- [[]Cookbook](projects/cookbook)
-
-## Current Cultures
-
-- [[]BuildStream](buildstream)
-
-  BuildStream is an integration build system. It models dependencies at a project level, enabling projects to use their own underlying build system
diff --git a/content/template.rdf b/content/template.rdf
deleted file mode 100644
index 3f06c1c..0000000
--- a/content/template.rdf
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl"?>
-<rdf:RDF xml:lang="en"
-         xmlns="http://usefulinc.com/ns/doap#"
-         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-         xmlns:asfext="http://projects.apache.org/ns/asfext#"
-         xmlns:foaf="http://xmlns.com/foaf/0.1/">
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-  <Project rdf:about="http://petri.apache.org">
-    <created>2019-11-20</created>
-    <license rdf:resource="http://spdx.org/licenses/Apache-2.0" />
-    <name>Apache Petri</name>
-    <homepage rdf:resource="http://petri.apache.org" />
-    <asfext:pmc rdf:resource="http://petri.apache.org" />
-    <shortdesc>Apache Petri deals with the assessment of, education in, and adoption of the Foundation's policies and procedures for collaborative development and the pros and cons of joining the Foundation.</shortdesc>
-    <description>Apache Petri deals with the assessment of, education in, and adoption of the Foundation's policies and procedures for collaborative development and the pros and cons of joining the Foundation.</description>
-    <mailing-list rdf:resource="https://lists.apache.org/list.html?discuss@petri.apache.org" />
-    <category rdf:resource="http://projects.apache.org/category/education" />
-  </Project>
-</rdf:RDF>
diff --git a/data/eccn/eccnmatrix.json b/data/eccn/eccnmatrix.json
deleted file mode 100644
index cb70812..0000000
--- a/data/eccn/eccnmatrix.json
+++ /dev/null
@@ -1,4348 +0,0 @@
-{
-  "eccnmatrix": [
-    {
-      "href": "http://accumulo.apache.org/",
-      "name": "Apache Accumulo Project",
-      "contact": "John Vines",
-      "product": [
-        {
-          "name": "Apache Accumulo Project",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/accumulo.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk15-137.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                }
-              ]
-            },
-            {
-              "version": "1.6.0 and on",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/accumulo.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk15-137.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                }
-              ]
-            },
-            {
-              "version": "1.5.x",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/accumulo.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://activemq.apache.org/",
-      "name": "Apache ActiveMQ Project",
-      "contact": "Hiram Chirino",
-      "product": [
-        {
-          "name": "Apache ActiveMQ",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/activemq/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "4.1 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/activemq/apache-activemq",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Camel",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/activemq/camel",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "1.0.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/activemq/apache-camel",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://ant.apache.org/",
-      "name": "Apache Ant Project",
-      "contact": "Conor MacNeill",
-      "product": [
-        {
-          "name": "Apache Ant",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/ant/core/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption (SSH) library"
-                }
-              ]
-            },
-            {
-              "version": "1.1 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/ant/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption (SSH) library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Ivy",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/ant/ivy/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption (SSH) library"
-                }
-              ]
-            },
-            {
-              "version": "2.0.0-alpha-*-incubating",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://people.apache.org/dist/incubator/ivy/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption (SSH) library"
-                }
-              ]
-            },
-            {
-              "version": "2.0.0-alpha-*-incubating-bin-with-deps",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://people.apache.org/dist/incubator/ivy/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption (SSH) library"
-                },
-                {
-                  "href": "http://www.jcraft.com/jsch/",
-                  "manufacturer": "JCraft, Inc.",
-                  "why": "provides encryption (SSH) library"
-                }
-              ]
-            },
-            {
-              "version": "2.0.0-beta1-* and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/ant/ivy/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption (SSH) library"
-                }
-              ]
-            },
-            {
-              "version": "2.0.0-beta1-bin-with-deps and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/ant/ivy/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption (SSH) library"
-                },
-                {
-                  "href": "http://www.jcraft.com/jsch/",
-                  "manufacturer": "JCraft, Inc.",
-                  "why": "provides encryption (SSH) library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "https://aries.apache.org/",
-      "name": "Apache Aries",
-      "contact": "Christian Schneider",
-      "product": [
-        {
-          "name": "Apache Aries RSA",
-          "versions": [
-            {
-              "version": "development and all releases",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/aries-rsa.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Java SE Security, Jetty (uses SSL)"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "Java SE Security including Java Cryptography Architecture, Java Cryptography Extension library (JCE), Java Security Architecture, Java Authentication and Authorization Service (JAAS), Java Secure Sockets Extension (JSSE), Java GSS-API, and Java SASL API"
-                },
-                {
-                  "href": "http://eclipse.org/jetty",
-                  "manufacturer": "The Eclipse Foundation",
-                  "why": "HTTPS support in Jetty (uses SSL)"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://cassandra.apache.org/",
-      "name": "Apache Cassandra Project",
-      "contact": "Nate McCall",
-      "product": [
-        {
-          "name": "Apache Cassandra",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/cassandra.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose cryptography library (JCE) included with Java"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "General-purpose cryptography library included with OpenSSL"
-                }
-              ]
-            },
-            {
-              "version": "0.8 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/cassandra.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose cryptography library (JCE) included with Java"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://cayenne.apache.org/",
-      "name": "Apache Cayenne Project",
-      "contact": "Andrus Adamchik",
-      "product": [
-        {
-          "name": "Apache Cayenne",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/cayenne/main/trunk/cayenne-crypto/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) included with Java"
-                }
-              ]
-            },
-            {
-              "version": "3.2.M2 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/cayenne/main/trunk/cayenne-crypto/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) included with Java"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://commons.apache.org/sandbox/openpgp/",
-      "name": "Apache Commons Project",
-      "contact": "Torsten Curdt",
-      "product": [
-        {
-          "name": "Apache Commons Compress",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/commons/proper/compress/trunk/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "1.6 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/commons/compress",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Commons Crypto",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/commons-crypto.git",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "general-purpose cryptography library included with OpenSSL"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) included with Java"
-                }
-              ]
-            },
-            {
-              "version": "1.0.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://www.apache.org/dist/commons/crypto/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "general-purpose cryptography library included with OpenSSL"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) included with Java"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Commons OpenPGP",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/commons/sandbox/openpgp/trunk/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://couchdb.apache.org/",
-      "name": "Apache CouchDB Project",
-      "contact": "Damien Katz",
-      "product": [
-        {
-          "name": "Apache CouchDB",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/couchdb/",
-                  "manufacturer": "ASF",
-                  "why": "Includes a HTTP client with SSL functionality"
-                }
-              ]
-            },
-            {
-              "version": "0.9.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/couchdb/",
-                  "manufacturer": "ASF",
-                  "why": "Includes a HTTP client with SSL functionality"
-                },
-                {
-                  "href": "http://github.com/cmullaparthi/ibrowse/tree/master",
-                  "manufacturer": "ibrowse",
-                  "why": "HTTP client with SSL functionality"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://cxf.apache.org/",
-      "name": "Apache CXF Project",
-      "contact": "Dan Kulp",
-      "product": [
-        {
-          "name": "Apache CXF",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/cxf/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Apache XML Security Java API, WSS4J and BouncyCastle crypto"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/xml/security/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                },
-                {
-                  "href": "ftp://ftp.bouncycastle.org/pub/release1.36/bcprov-jdk14-136.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library API for Java 1.4.x"
-                }
-              ]
-            },
-            {
-              "version": "all 2.*",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://people.apache.org/dist/cxf/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Apache XML Security Java API, WSS4J and BouncyCastle crypto"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/xml/security/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                },
-                {
-                  "href": "ftp://ftp.bouncycastle.org/pub/release1.36/bcprov-jdk14-136.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library API for Java 1.4.x"
-                }
-              ]
-            },
-            {
-              "version": "all 2.*-incubating",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://people.apache.org/dist/incubator/cxf/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Apache XML Security Java API, WSS4J and BouncyCastle crypto"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/xml/security/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                },
-                {
-                  "href": "ftp://ftp.bouncycastle.org/pub/release1.36/bcprov-jdk14-136.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library API for Java 1.4.x"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://db.apache.org/derby/",
-      "name": "Apache DB Project",
-      "contact": "Jean T. Anderson",
-      "product": [
-        {
-          "name": "Apache Derby",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/db/derby/code/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                }
-              ]
-            },
-            {
-              "version": "derby-10.*",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/db/derby/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache DdlUtils",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/db/ddlutils/",
-                  "manufacturer": "ASF",
-                  "why": "Includes Apache Ant, which includes SSL functionality"
-                }
-              ]
-            },
-            {
-              "version": "ddlutils-1.0 and higher",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/db/ddlutils/",
-                  "manufacturer": "ASF",
-                  "why": "Includes Apache Ant, which includes SSL functionality"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache ObjectRelationalBridge - OJB",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/db/ojb/",
-                  "manufacturer": "ASF",
-                  "why": "Includes Apache Ant, which includes SSL functionality"
-                }
-              ]
-            },
-            {
-              "version": "ojb-1.0.0 and higher",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/db/ojb/",
-                  "manufacturer": "ASF",
-                  "why": "Includes Apache Ant, which includes SSL functionality"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Torque",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/db/torque/",
-                  "manufacturer": "ASF",
-                  "why": "The Torque Generator includes Apache Ant, which includes SSL functionality"
-                }
-              ]
-            },
-            {
-              "version": "torque-3.1 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/db/torque/",
-                  "manufacturer": "ASF",
-                  "why": "Includes Apache Ant, which includes SSL functionality"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://directory.apache.org/",
-      "name": "Apache Directory Project",
-      "contact": "Emmanuel Lecharny",
-      "product": [
-        {
-          "name": "Apache Directory Server",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/directory/apacheds",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                }
-              ]
-            },
-            {
-              "version": "1.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/directory/apacheds",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                }
-              ]
-            },
-            {
-              "version": "1.5 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/directory/apacheds",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk15-136.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Directory Studio",
-          "versions": [
-            {
-              "version": "1.2 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/directory/studio",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk15-136.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://drill.apache.org/",
-      "name": "Apache Drill",
-      "contact": "Parth Chandra",
-      "product": [
-        {
-          "name": "Apache Drill",
-          "versions": [
-            {
-              "version": "1.2 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/drill.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Java SE Security, SASL, Kerberos, and OpenSSL"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "Java SE Security including Java Cryptography Architecture, Java Cryptography Extension library (JCE), Java Security Architecture, Java Authentication and Authorization Service (JAAS), Java Secure Sockets Extension (JSSE), Java GSS-API, and Java SASL API"
-                },
-                {
-                  "href": "http://eclipse.org/jetty",
-                  "manufacturer": "The Eclipse Foundation",
-                  "why": "HTTPS support in Jetty (uses SSL)"
-                },
-                {
-                  "href": "https://www.cyrusimap.org/sasl/",
-                  "manufacturer": "The Cyrus SASL project",
-                  "why": "General purpose SASL library"
-                },
-                {
-                  "href": "http://web.mit.edu/kerberos/",
-                  "manufacturer": "MIT",
-                  "why": "General purpose Kerberos library"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "General purpose cryptography library included with OpenSSL"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "https://felix.apache.org/",
-      "name": "Apache Felix",
-      "contact": "Karl Pauls",
-      "product": [
-        {
-          "name": "Apache Felix Http Jetty",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/felix-dev.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Java SE Security, Jetty (uses SSL)"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "Java SE Security including Java Cryptography Architecture, Java Security Architecture, Java Authentication and Authorization Service (JAAS), Java Secure Sockets Extension (JSSE), Java GSS-API, and Java SASL API"
-                },
-                {
-                  "href": "http://eclipse.org/jetty",
-                  "manufacturer": "The Eclipse Foundation",
-                  "why": "HTTPS support in Jetty (uses SSL)"
-                }
-              ]
-            },
-            {
-              "version": "all releases",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://archive.apache.org/dist/felix/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Java SE Security, Jetty (uses SSL)"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "Java SE Security including Java Cryptography Architecture (JCA), Java Cryptography Extension library (JCE), Java Security Architecture, Java Authentication and Authorization Service (JAAS), Java Secure Sockets Extension (JSSE), Java GSS-API, and Java SASL API"
-                },
-                {
-                  "href": "http://eclipse.org/jetty",
-                  "manufacturer": "The Eclipse Foundation",
-                  "why": "HTTPS support in Jetty (uses SSL)"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://forrest.apache.org/",
-      "name": "Apache Forrest Project",
-      "contact": "David Crossley",
-      "product": [
-        {
-          "name": "Apache Forrest",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/forrest/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption (SSH) library"
-                }
-              ]
-            },
-            {
-              "version": "apache-forrest-0.6 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/forrest/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption (SSH) library"
-                },
-                {
-                  "href": "http://www.jcraft.com/jsch/",
-                  "manufacturer": "JCraft, Inc.",
-                  "why": "provides encryption (SSH) library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://geode.apache.org/",
-      "name": "Apache Geode Project",
-      "contact": "Mark Bretl",
-      "product": [
-        {
-          "name": "Apache Geode",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/geode.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/geode-native.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/geode-examples.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE) and Java Cryptography Extension (JCE)"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            },
-            {
-              "version": "all releases",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/geode.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/geode-native.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/geode-examples.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE) and Java Cryptography Extension (JCE)"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://geronimo.apache.org/",
-      "name": "Apache Geronimo Project",
-      "contact": "Matt Hogstrom",
-      "product": [
-        {
-          "name": "Apache Geronimo",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/geronimo/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "1.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/geronimo/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://hadoop.apache.org/",
-      "name": "Apache Hadoop Project",
-      "contact": "Owen O'Malley",
-      "product": [
-        {
-          "name": "Apache Hadoop",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/hadoop/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "17.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/hadoop/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://harmony.apache.org/",
-      "name": "Apache Harmony Project",
-      "contact": "Tim Ellison",
-      "product": [
-        {
-          "name": "Apache Harmony",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/harmony/",
-                  "manufacturer": "ASF",
-                  "why": "implements the Java Cryptography Extension (JCE) API"
-                }
-              ]
-            },
-            {
-              "version": "5.0M1 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/harmony/",
-                  "manufacturer": "ASF",
-                  "why": "implements the Java Cryptography Extension (JCE) API"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk15-137.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://hawq.incubator.apache.org/",
-      "name": "Apache HAWQ (incubating) Project",
-      "contact": "Roman Shaposhnik",
-      "product": [
-        {
-          "name": "Apache HAWQ (incubating) Project",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-hawq.git",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose encryption and digest code"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "https://hive.apache.org/",
-      "name": "Apache Hive Project",
-      "contact": "Owen O'Malley",
-      "product": [
-        {
-          "name": "Apache Hive",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://github.com/apache/hive",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                }
-              ]
-            },
-            {
-              "version": "1.3.0 and on",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://github.com/apache/hive",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://hc.apache.org/",
-      "name": "Apache HttpComponents Project",
-      "contact": "Erik Abele",
-      "product": [
-        {
-          "name": "Apache HttpComponents Core",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/httpcomponents/httpcore/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE)"
-                }
-              ]
-            },
-            {
-              "version": "4.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/httpcomponents/httpcore/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE)"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache HttpComponents Client",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/httpcomponents/httpclient/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE)"
-                }
-              ]
-            },
-            {
-              "version": "4.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/httpcomponents/httpclient/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE)"
-                }
-              ]
-            },
-            {
-              "version": "1.x, 2.x, 3.x",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/httpcomponents/commons-httpclient/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE) and Java Cryptography Extension (JCE)"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://httpd.apache.org/",
-      "name": "Apache HTTP Server Project",
-      "contact": "Roy T. Fielding",
-      "product": [
-        {
-          "name": "Apache HTTP Server",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/httpd/",
-                  "manufacturer": "ASF",
-                  "why": "mod_ssl designed for use with SSL library, apr-util/mod_session_crypto designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "apache_1.3.x",
-              "eccn": "n/a"
-            },
-            {
-              "version": "httpd-2.0.x",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/httpd/",
-                  "manufacturer": "ASF",
-                  "why": "mod_ssl designed for use with SSL library"
-                }
-              ]
-            },
-            {
-              "version": "httpd-2.2.x",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/httpd/",
-                  "manufacturer": "ASF",
-                  "why": "mod_ssl module and apr-util/ssl designed for use with SSL library"
-                }
-              ]
-            },
-            {
-              "version": "apache_2.2.x-win32-*-openssl-*",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/httpd/",
-                  "manufacturer": "ASF",
-                  "why": "mod_ssl module and apr-util/ssl designed for use with SSL library"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            },
-            {
-              "version": "httpd-2.4.x",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/httpd/",
-                  "manufacturer": "ASF",
-                  "why": "mod_ssl module designed for use with SSL library, apr-util/mod_session_crypto designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Flood",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/httpd/test/flood/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with SSL library"
-                }
-              ]
-            },
-            {
-              "version": "flood-0.4",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/httpd/flood/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with SSL library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache libapreq",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/httpd/apreq/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache httpd 2.x"
-                }
-              ]
-            },
-            {
-              "version": "libapreq2",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/httpd/libapreq/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache httpd 2.x"
-                }
-              ]
-            },
-            {
-              "version": "libapreq",
-              "eccn": "n/a"
-            }
-          ]
-        },
-        {
-          "name": "Apache mod_ftp",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/httpd/mod_ftp/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache httpd 2.x"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache mod_python",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/httpd/mod_python/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache httpd 2.x"
-                }
-              ]
-            },
-            {
-              "version": "mod_python-*",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/httpd/modpython/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache httpd 2.x"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://incubator.apache.org/",
-      "name": "Apache Incubator Project",
-      "contact": "Roman Shaposhnik",
-      "product": [
-        {
-          "name": "Apache Abdera",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/incubator/abdera/java/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Apache XML Security Java API"
-                }
-              ]
-            },
-            {
-              "version": "all 0.*-incubating",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://people.apache.org/dist/incubator/abdera/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Apache XML Security Java API"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/xml/security/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk15-134.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk14-134.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.4.x"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Airavata",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/incubator/airavata/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Bouncy Castle, Puretls and Cryptix enryption libraries."
-                },
-                {
-                  "href": "http://svn.apache.org/repos/asf/incubator/pdfbox/trunk/external/bcprov-jdk14-132.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java"
-                },
-                {
-                  "href": "http://www.cryptix.org/",
-                  "manufacturer": "The Cryptix project",
-                  "why": "Provides cryptography for Java platform"
-                },
-                {
-                  "href": "http://www.rtfm.com/puretls/",
-                  "manufacturer": "Claymore Systems Puretls",
-                  "why": "Provides Java implementation of the SSLv3 and TLSv1 protocols"
-                },
-                {
-                  "href": "http://www.globus.org/security/overview.html",
-                  "manufacturer": "Globus Project",
-                  "why": "Provides implementation of Grid Security Infrastructure (GSI)"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache CloudStack",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://jasypt.svn.sourceforge.net/svnroot/jasypt/trunk",
-                  "manufacturer": "JaSypt.org",
-                  "why": "Publicly available encryption library"
-                },
-                {
-                  "href": "https://code.launchpad.net/~mysql/mysql-server/trunk",
-                  "manufacturer": "Oracle",
-                  "why": "Publicly available database encryption libraries"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java"
-                },
-                {
-                  "href": "http://svn.apache.org/repos/asf/webservices/wss4j/trunk/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "http://git.openswan.org/openswan.git",
-                  "manufacturer": "OpenSwan.org",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.jcraft.com/jsch/",
-                  "manufacturer": "JCraft, Inc.",
-                  "why": "provides encryption (SSH) library"
-                },
-                {
-                  "href": "http://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git",
-                  "manufacturer": "ASF",
-                  "why": "Makes use of publicly available encryption libraries"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Hop",
-          "versions": [
-            {
-              "version": "Development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://github.com/apache/incubator-hop",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "all releases",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://archive.apache.org/dist/incubator/hop/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Impala",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-impala.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with OpenSSL."
-                }
-              ]
-            },
-            {
-              "version": "2.7.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/incubator/impala",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with OpenSSL."
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Milagro",
-          "versions": [
-            {
-              "version": "Development - C Library",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto-c.git",
-                  "manufacturer": "ASF",
-                  "why": "General purpose and Apache Milagro servers."
-                }
-              ]
-            },
-            {
-              "version": "Development - JavaScript Library",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto-js.git",
-                  "manufacturer": "ASF",
-                  "why": "General purpose and Apache Milagro servers."
-                }
-              ]
-            },
-            {
-              "version": "Development - Rust Library",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto-rust.git",
-                  "manufacturer": "ASF",
-                  "why": "General purpose and Apache Milagro servers."
-                }
-              ]
-            },
-            {
-              "version": "Libraries and Servers 0.0.1 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-milagro-dta.git",
-                  "manufacturer": "ASF",
-                  "why": "Milagro C, Rust and JavaScript Libraries and Milagro Servers"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache NiFi",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://jasypt.svn.sourceforge.net/svnroot/jasypt/trunk",
-                  "manufacturer": "JaSypt.org",
-                  "why": "Publicly available encryption library"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) and secure socket (JSSE) included with Java"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java"
-                },
-                {
-                  "href": "http://www.jcraft.com/jsch/",
-                  "manufacturer": "JCraft, Inc.",
-                  "why": "provides encryption (SSH) library"
-                },
-                {
-                  "href": "http://git-wip-us.apache.org/repos/asf/incubator-nifi.git",
-                  "manufacturer": "ASF",
-                  "why": "Makes use of publicly available encryption libraries"
-                }
-              ]
-            },
-            {
-              "version": "0.0.1-incubating and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://jasypt.svn.sourceforge.net/svnroot/jasypt/trunk",
-                  "manufacturer": "JaSypt.org",
-                  "why": "Publicly available encryption library"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) and secure socket (JSSE) included with Java"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java"
-                },
-                {
-                  "href": "http://www.jcraft.com/jsch/",
-                  "manufacturer": "JCraft, Inc.",
-                  "why": "provides encryption (SSH) library"
-                },
-                {
-                  "href": "http://git-wip-us.apache.org/repos/asf/incubator-nifi.git",
-                  "manufacturer": "ASF",
-                  "why": "Makes use of publicly available encryption libraries"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache PDFBox",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/incubator/pdfbox/trunk/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Java Cryptography Architecture (JCA) and the Bouncy Castle enryption libraries."
-                },
-                {
-                  "href": "http://svn.apache.org/repos/asf/incubator/pdfbox/trunk/external/bcprov-jdk14-132.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.4"
-                },
-                {
-                  "href": "http://svn.apache.org/repos/asf/incubator/pdfbox/trunk/external/bcmail-jdk14-132.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.4.x"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Pirk",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git1-us-west.apache.org/repos/asf?p=incubator-pirk.git",
-                  "manufacturer": "ASF",
-                  "why": "Includes cryptographic software implementation"
-                }
-              ]
-            },
-            {
-              "version": "0.1.0-incubating and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://dist.apache.org/repos/dist/dev/incubator/pirk/",
-                  "manufacturer": "ASF",
-                  "why": "Includes cryptographic software implementation"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Pulsar",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://github.com/apache/incubator-pulsar",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Bouncy Castle enryption libraries."
-                },
-                {
-                  "href": "ftp://ftp.bouncycastle.org/pub/release1.55/bcprov-jdk15on-155.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library"
-                }
-              ]
-            },
-            {
-              "version": "1.20-incubating and greater",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://github.com/apache/incubator-pulsar",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Bouncy Castle enryption libraries."
-                },
-                {
-                  "href": "ftp://ftp.bouncycastle.org/pub/release1.55/bcprov-jdk15on-155.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Shindig",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/incubator/shindig/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Slider",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-slider.git",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) included with Java"
-                },
-                {
-                  "href": "http://eclipse.org/jetty",
-                  "manufacturer": "The Eclipse Foundation",
-                  "why": "SSL library for Jetty"
-                }
-              ]
-            },
-            {
-              "version": "0.30-incubating",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-slider.git",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) included with Java"
-                }
-              ]
-            },
-            {
-              "version": "0.40-incubating and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-slider.git",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) included with Java"
-                },
-                {
-                  "href": "http://eclipse.org/jetty",
-                  "manufacturer": "The Eclipse Foundation",
-                  "why": "SSL library for Jetty"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Taverna",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-language.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache HttpComponents"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache HttpComponents"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-engine.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE), Java Cryptography Extension (JCE), BouncyCastle crypto, Apache Derby, Apache Taverna Language and Apache Taverna OSGi"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE), Jetty, Apache WSS4J, Apache XML Security for Java, Apache HttpComponents and Apache Taverna Engine"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-commandline.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache WSS4J, Apache XML Security for Java, Apache HttpComponents, BouncyCastle crypto, Apache Taverna Engine and Apache Taverna Common Activities"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-server.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE), Java Cryptography Extension (JCE), BouncyCastle crypto, Apache CXF and Apache Taverna Command Line"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE) and Apache Taverna Engine"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache Taverna Workbench and Apache Taverna Common Activities"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-product.git",
-                  "manufacturer": "ASF",
-                  "why": "Builds distribution that includes Apache WSS4J, Apache XML Security for Java, Apache HttpComponents and BouncyCastle crypto"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache HttpComponents, Apache Taverna Engine, Apache Taverna Common Activities"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache Taverna Engine"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache Taverna Engine, Apache Taverna Common Activities"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Android SDK https support, Dropbox Android SDK and Apache HttpComponent"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-taverna-databundle-viewer.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Ruby OpenSSL"
-                },
-                {
-                  "href": "http://bouncycastle.org/download/bcprov-jdk15on-154.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://eclipse.org/jetty",
-                  "manufacturer": "The Eclipse Foundation",
-                  "why": "SSL library for Jetty"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) included with Java"
-                },
-                {
-                  "href": "http://www.apache.org/dist/santuario/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                },
-                {
-                  "href": "http://svn.apache.org/viewvc/santuario/xml-security-java/branches/1.5.x-fixes/",
-                  "manufacturer": "ASF",
-                  "why": "Implements XML Signature and Encryption specs"
-                },
-                {
-                  "href": "http://people.apache.org/dist/cxf/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Apache XML Security Java API, WSS4J and BouncyCastle crypto"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/xml/security/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/db/derby/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                },
-                {
-                  "href": "https://www.dropbox.com/developers-v1/core/sdks/android",
-                  "manufacturer": "Dropbox",
-                  "why": "designed for use with Android SDK, adds a SecureSSLSocketFactory"
-                },
-                {
-                  "href": "https://android.googlesource.com/",
-                  "manufacturer": "Google",
-                  "why": "includes encryption code adapted from OpenSSL, BouncyCastle, BoringSSL"
-                },
-                {
-                  "href": "https://github.com/ruby/openssl",
-                  "manufacturer": "Ruby Programming Language",
-                  "why": "designed for use with OpenSSL"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            },
-            {
-              "version": "all releases",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://archive.apache.org/dist/incubator/taverna/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache CXF, Apache WSS4J, Apache XML Security for Java, Apache HttpComponents, Apache Derby, BouncyCastle crypto, Jetty, Java Secure Socket Extension (JSSE), Java Cryptography Extension (JCE)"
-                },
-                {
-                  "href": "http://bouncycastle.org/download/bcprov-jdk15on-154.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://eclipse.org/jetty",
-                  "manufacturer": "The Eclipse Foundation",
-                  "why": "SSL library for Jetty"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) included with Java"
-                },
-                {
-                  "href": "http://www.apache.org/dist/santuario/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                },
-                {
-                  "href": "http://svn.apache.org/viewvc/santuario/xml-security-java/branches/1.5.x-fixes/",
-                  "manufacturer": "ASF",
-                  "why": "Implements XML Signature and Encryption specs"
-                },
-                {
-                  "href": "http://people.apache.org/dist/cxf/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Apache XML Security Java API, WSS4J and BouncyCastle crypto"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/xml/security/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/db/derby/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                },
-                {
-                  "href": "https://www.dropbox.com/developers-v1/core/sdks/android",
-                  "manufacturer": "Dropbox",
-                  "why": "designed for use with Android SDK, adds a SecureSSLSocketFactory"
-                },
-                {
-                  "href": "https://android.googlesource.com/",
-                  "manufacturer": "Google",
-                  "why": "includes encryption code adapted from OpenSSL, BouncyCastle, BoringSSL"
-                },
-                {
-                  "href": "https://github.com/ruby/openssl",
-                  "manufacturer": "Ruby Programming Language",
-                  "why": "designed for use with OpenSSL"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Trafodion",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-trafodion.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption libraries"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) included with Java"
-                }
-              ]
-            },
-            {
-              "version": "all releases",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://archive.apache.org/dist/incubator/trafodion/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption libraries"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "general-purpose cryptography library (JCE) included with Java"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Tuweni",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/incubator-tuweni.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption libraries"
-                },
-                {
-                  "href": "https://www.bouncycastle.org/download/bcprov-jdk15on-166.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "general-purpose encryption library"
-                },
-                {
-                  "href": "https://www.bouncycastle.org/download/bcpkix-jdk15on-166.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate generation"
-                }
-              ]
-            },
-            {
-              "version": "all releases",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://archive.apache.org/dist/incubator/tuweni/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption libraries"
-                },
-                {
-                  "href": "https://www.bouncycastle.org/download/bcprov-jdk15on-166.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "general-purpose encryption library"
-                },
-                {
-                  "href": "https://www.bouncycastle.org/download/bcpkix-jdk15on-166.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate generation"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Whirr",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/incubator/whirr",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "all 0.*-incubating",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/incubator/whirr/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk14-129.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "general-purpose encryption library"
-                },
-                {
-                  "href": "http://www.jcraft.com/jsch/",
-                  "manufacturer": "JCraft, Inc.",
-                  "why": "provides encryption (SSH) library"
-                },
-                {
-                  "href": "http://juliusdavies.ca/commons-ssl/",
-                  "manufacturer": "Not-Yet-Commons-SSL",
-                  "why": "general-purpose encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://jakarta.apache.org/jmeter",
-      "name": "Apache Jakarta JMeter Project",
-      "contact": "Martin van den Bemt",
-      "product": [
-        {
-          "name": "Apache Jakarta JMeter",
-          "versions": [
-            {
-              "version": "1.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/jakarta/jmeter/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE) and Java Cryptography Extension (JCE)"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://james.apache.org/",
-      "name": "Apache JAMES Project",
-      "contact": "Norman Maurer",
-      "product": [
-        {
-          "name": "Apache JAMES Server",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/james/server/",
-                  "manufacturer": "ASF",
-                  "why": "includes bcmail encryption library"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk14-129.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "general-purpose encryption library"
-                }
-              ]
-            },
-            {
-              "version": "2.3.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/james/server/source/",
-                  "manufacturer": "ASF",
-                  "why": "includes bcmail encryption library"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk14-129.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "general-purpose encryption library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache JAMES jDKIM",
-          "versions": [
-            {
-              "version": "0.1 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/james/jdkim/",
-                  "manufacturer": "ASF",
-                  "why": "Use crypto algorithm to sign and verify signatures"
-                },
-                {
-                  "href": "http://juliusdavies.ca/commons-ssl/",
-                  "manufacturer": "Not-Yet-Commons-SSL",
-                  "why": "general-purpose encryption library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache JAMES Mailet Crypto",
-          "versions": [
-            {
-              "version": "0.1 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/james/mailet/trunk/crypto/",
-                  "manufacturer": "ASF",
-                  "why": "Use crypto algorithm to sign and verify via SMIME"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk16-146.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "general-purpose encryption library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache JAMES Mime4J",
-          "versions": [
-            {
-              "version": "0.4 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/james/mime4j/",
-                  "manufacturer": "ASF",
-                  "why": "Use crypto algorithm to crypt and uncrypt temporary stored data for protection"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://jena.apache.org/",
-      "name": "Apache Jena",
-      "contact": "Andy Seaborne",
-      "product": [
-        {
-          "name": "Apache Jena (distribution)",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://repository.apache.org/content/repositories/snapshots/org/apache/jena/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE)"
-                }
-              ]
-            },
-            {
-              "version": "binary distribution",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/jena/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE)"
-                },
-                {
-                  "href": "https://repository.apache.org/content/repositories/releases/org/apache/jena/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE)"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "https://kafka.apache.org/",
-      "name": "Apache Kafka Project",
-      "contact": "Rajini Sivaram",
-      "product": [
-        {
-          "name": "Apache Kafka",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf?p=kafka.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built-in Java Secure Socket Extension (JSSE), Java Generic Security Services (GSS-API) and Java Cryptography Extension (JCE)"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose Java Secure Socket Extension (JSSE), Java Generic Security Services (GSS-API) and Java Cryptography Extension (JCE)"
-                }
-              ]
-            },
-            {
-              "version": "0.10.2 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf?p=kafka.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built-in Java Secure Socket Extension (JSSE), Java Generic Security Services (GSS-API) and Java Cryptography Extension (JCE)"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose Java Secure Socket Extension (JSSE), Generic Security Services (GSS-API) and Java Cryptography Extension (JCE) included with Java"
-                }
-              ]
-            },
-            {
-              "version": "0.9.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf?p=kafka.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built-in Java Secure Socket Extension (JSSE) and Java Generic Security Services (GSS-API)"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose Java Secure Socket Extension (JSSE) and Java Generic Security Services (GSS-API) included with Java"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://kudu.apache.org",
-      "name": "Apache Kudu Project",
-      "contact": "Todd Lipcon",
-      "product": [
-        {
-          "name": "Apache Kudu",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/kudu.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with OpenSSL. Designed for use with Java SE Security libraries including Java Secure Socket Extension (JSSE), Java Generic Security Service (JGSS), and Java Authentication and Authorization APIs (JAAS)."
-                }
-              ]
-            },
-            {
-              "version": "1.1.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/kudu/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with OpenSSL. Designed for use with Java SE Security libraries including Java Secure Socket Extension (JSSE), Java Generic Security Service (JGSS), and Java Authentication and Authorization APIs (JAAS)."
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://labs.apache.org",
-      "name": "Apache Labs Project",
-      "contact": "Bernd Fondermann",
-      "product": [
-        {
-          "name": "Apache BaDCA",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/labs/badca/",
-                  "manufacturer": "ASF",
-                  "why": "BaDCA includes an interface to OpenSSL cryptographic functions for use in creating CA's and signing certificates."
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Vysper",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/labs/vysper/",
-                  "manufacturer": "ASF",
-                  "why": "Includes Bounty Castle bcprov encryption library"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk15-135.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "general-purpose encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://lucene.apache.org",
-      "name": "Apache Lucene Project",
-      "contact": "Grant Ingersoll",
-      "product": [
-        {
-          "name": "Apache Nutch",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/lucene/nutch/trunk/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the PDFBox decrypt API in the parse-pdf plugin"
-                }
-              ]
-            },
-            {
-              "version": "0.7 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://www.apache.org/dist/lucene/nutch/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the PDFBox decrypt API in the parse-pdf plugin"
-                },
-                {
-                  "href": "http://sourceforge.net/project/showfiles.php?group_id=78314&amp;package_id=79377&amp;release_id=454954",
-                  "manufacturer": "PDFBox",
-                  "why": "PDFBox is a Java PDF Library. This project will allow access to all of the components in a PDF document. More PDF manipulation features will be added as the project matures. This ships with a utility to take a PDF document and output a text file."
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Solr",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/lucene/solr/trunk/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Apache Tika API in the contrib/extraction libraries"
-                }
-              ]
-            },
-            {
-              "version": "1.4 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://www.apache.org/dist/lucene/solr/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Apache Tika API in the contrib/extraction libraries"
-                },
-                {
-                  "href": "http://svn.apache.org/repos/asf/lucene/tika/trunk/",
-                  "manufacturer": "Apache Tika",
-                  "why": "Apache Tika is a Java Content Extraction Library. This project will allow access to all of the components in a PDF document."
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Tika",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/lucene/tika/trunk/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Bouncy Castle encryption libraries"
-                }
-              ]
-            },
-            {
-              "version": "0.2-incubating and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://www.apache.org/dist/lucene/tika/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with the Bouncy Castle encryption libraries"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk14-136.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.4"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk14-136.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.4.x"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://myfaces.apache.org/",
-      "name": "Apache MyFaces Project",
-      "contact": "Dennis Byrne",
-      "product": [
-        {
-          "name": "Apache MyFaces",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/myfaces/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "1.1.2 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/myfaces/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://mynewt.apache.org/",
-      "name": "Apache Mynewt (incubating) Project",
-      "contact": "Sterling Hughes",
-      "product": [
-        {
-          "name": "Apache Mynewt",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf?p=incubator-mynewt-core.git;a=tree;f=crypto/mbedtls;h=d5f6a7013f36a68d25b9232769a273e990278477;hb=HEAD",
-                  "manufacturer": "ARM mbed",
-                  "why": "Uses open source mbed TLS for cryptographic and SSL/TLS capabilities"
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf?p=incubator-mynewt-core.git;a=tree;f=crypto/tinycrypt;h=13294d0db5cdf2b0e882839f8c204d7d2ddd3bd1;hb=HEAD",
-                  "manufacturer": "TinyCrypt",
-                  "why": "Uses open source cryptography library with small footprint for constrained devices."
-                },
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf?p=incubator-mynewt-core.git;a=tree;f=net/ip/lwip_base/src/netif/ppp/polarssl;h=47a41b927b1faff57e562b0dac21c82c040e8025;hb=HEAD",
-                  "manufacturer": "PolarSSL",
-                  "why": "Uses lightweight open source crypto blocks for ARM and MIPS architectures."
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://oltu.apache.org//",
-      "name": "Apache Oltu Project",
-      "contact": "Antonio Sanso",
-      "product": [
-        {
-          "name": "Apache Oltu",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/oltu/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://ofbiz.apache.org/",
-      "name": "Apache Open For Business Project",
-      "contact": "David E. Jones",
-      "product": [
-        {
-          "name": "Apache Open For Business",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/ofbiz/trunk/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE) and Java Cryptography Extension (JCE)"
-                }
-              ]
-            },
-            {
-              "version": "4.0 release branch",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/ofbiz/branches/release4.0/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE) and Java Cryptography Extension (JCE)"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://openejb.apache.org/",
-      "name": "Apache OpenEJB Project",
-      "contact": "David Blevins",
-      "product": [
-        {
-          "name": "Apache OpenEJB",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/openejb/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "1.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/openejb/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "All 0.x",
-              "eccn": "n/a"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "https://orc.apache.org/",
-      "name": "Apache ORC Project",
-      "contact": "Owen O'Malley",
-      "product": [
-        {
-          "name": "Apache ORC",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://github.com/apache/orc",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            },
-            {
-              "version": "1.6.0 and on",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://github.com/apache/orc",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://perl.apache.org/",
-      "name": "Apache Perl Project",
-      "contact": "Geoffrey Young",
-      "product": [
-        {
-          "name": "mod_perl",
-          "versions": [
-            {
-              "version": "Perl-*-win32-bin-*.exe",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/perl/win32-bin/",
-                  "manufacturer": "ASF",
-                  "why": "mod_perl module and Perl designed for use with SSL library"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://poi.apache.org/",
-      "name": "Apache POI Project",
-      "contact": "Nick Burch",
-      "product": [
-        {
-          "name": "Apache POI",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/poi/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Cryptography Extension (JCE)"
-                }
-              ]
-            },
-            {
-              "version": "3.5 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/poi/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Cryptography Extension (JCE)"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://polygene.apache.org/",
-      "name": "Apache Polygene Project",
-      "contact": "Niclas Hedhman",
-      "product": [
-        {
-          "name": "Apache Polygene",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf?p=polygene-java.git;a=tree;hb=develop",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Cryptography Extensions (JCE)"
-                },
-                {
-                  "href": "www.bouncycastle.org/download/bcprov-jdk15on-156.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                }
-              ]
-            },
-            {
-              "version": "2.1",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf?p=polygene-java.git;a=tree;hb=a789141d5af7f9137dddb9bfc0f0e0af47ebec2d",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Cryptography Extensions (JCE)"
-                },
-                {
-                  "href": "www.bouncycastle.org/download/bcprov-jdk15on-152.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://shiro.apache.org/",
-      "name": "Apache Shiro Project",
-      "contact": "Les Hazlewood",
-      "product": [
-        {
-          "name": "Apache Shiro",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/shiro/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Cryptography Extensions (JCE)"
-                }
-              ]
-            },
-            {
-              "version": "1.1 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/shiro/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Cryptography Extensions (JCE)"
-                }
-              ]
-            },
-            {
-              "version": "1.0",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://www.apache.org/dist/incubator/shiro",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Cryptography Extensions (JCE)"
-                }
-              ]
-            },
-            {
-              "version": "All 0.x",
-              "eccn": "n/a"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://servicemix.apache.org/",
-      "name": "Apache ServiceMix Project",
-      "contact": "Guillaume Nodet",
-      "product": [
-        {
-          "name": "Apache ServiceMix 3.x",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/servicemix/smx3/trunk",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/xml/security/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                },
-                {
-                  "href": "ftp://ftp.bouncycastle.org/pub/release1.36/bcprov-jdk14-136.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library API for Java 1.4.x"
-                }
-              ]
-            },
-            {
-              "version": "All 3.x versions",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/servicemix/servicemix-3",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/xml/security/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                },
-                {
-                  "href": "ftp://ftp.bouncycastle.org/pub/release1.36/bcprov-jdk14-136.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library API for Java 1.4.x"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache ServiceMix 4.x",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/servicemix/smx4/features/trunk",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "4.0-m1",
-              "eccn": "n/a"
-            }
-          ]
-        },
-        {
-          "name": "Apache ServiceMix NMR",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/servicemix/smx4/nmr/trunk",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "1.0-m1, 1.0-m2",
-              "eccn": "n/a"
-            }
-          ]
-        },
-        {
-          "name": "Apache ServiceMix Kernel",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "n/a"
-            },
-            {
-              "version": "All 1.0 milestones",
-              "eccn": "n/a"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://servicecomb.apache.org/",
-      "name": "Apache ServiceComb Project",
-      "contact": "Willem Jiang",
-      "product": [
-        {
-          "name": "Apache ServiceComb Java-Chassis",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose cryptography library (JCE) included with Java"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "General-purpose cryptography library included with OpenSSL"
-                }
-              ]
-            },
-            {
-              "version": "1.0.0-m1 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose cryptography library (JCE) included with Java"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "General-purpose cryptography library included with OpenSSL"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache ServiceComb Service-Center",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf/servicecomb-service-center.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "https://github.com/golang/go/tree/master/src/crypto",
-                  "manufacturer": "The golang Project",
-                  "why": "General-purpose cryptography with Go Language"
-                }
-              ]
-            },
-            {
-              "version": "1.0.0-m1 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf/servicecomb-service-center.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "https://github.com/golang/go/tree/master/src/crypto",
-                  "manufacturer": "The golang Project",
-                  "why": "General-purpose cryptography with Go Language"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache ServiceComb Pack",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf/servicecomb-pack.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose cryptography library (JCE) included with Java"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "General-purpose cryptography library included with OpenSSL"
-                }
-              ]
-            },
-            {
-              "version": "0.2.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf/servicecomb-pack.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose cryptography library (JCE) included with Java"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "General-purpose cryptography library included with OpenSSL"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://rocketmq.apache.org/",
-      "name": "Apache RocketMQ Project",
-      "contact": "Heng Du",
-      "product": [
-        {
-          "name": "Apache RocketMQ",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf?p=rocketmq.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose cryptography library (JCE) included with Java"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "General-purpose cryptography library included with OpenSSL"
-                }
-              ]
-            },
-            {
-              "version": "rocketmq-4.0.0-incubating and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf?p=rocketmq.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose cryptography library (JCE) included with Java"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "General-purpose cryptography library included with OpenSSL"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache RocketMQ ONS",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf?p=rocketmq-ons.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose cryptography library (JCE) included with Java"
-                }
-              ]
-            },
-            {
-              "version": "1.8.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf?p=rocketmq-ons.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with built in Java encryption libraries"
-                },
-                {
-                  "href": "http://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "General-purpose cryptography library (JCE) included with Java"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://apr.apache.org/",
-      "name": "Apache Portable Runtime Project",
-      "contact": "Garrett Rooney",
-      "product": [
-        {
-          "name": "APR",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/apr/apr/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "APR-Util",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/apr/apr-util/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "0.9.x, 1.2.x",
-              "eccn": "n/a"
-            },
-            {
-              "version": "1.4.x and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/apr/apr-util/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://santuario.apache.org/",
-      "name": "Apache Santuario Project",
-      "contact": "Colm O hEigeartaigh",
-      "product": [
-        {
-          "name": "Apache XML Security for Java",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/",
-                  "manufacturer": "ASF",
-                  "why": "Implements XML Signature and Encryption specs"
-                }
-              ]
-            },
-            {
-              "version": "1.5.x",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/viewvc/santuario/xml-security-java/branches/1.5.x-fixes/",
-                  "manufacturer": "ASF",
-                  "why": "Implements XML Signature and Encryption specs"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache XML Security for C++",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/viewvc/santuario/xml-security-cpp/trunk/",
-                  "manufacturer": "ASF",
-                  "why": "Implements XML Signature and Encryption specs"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://spamassassin.apache.org/",
-      "name": "Apache SpamAssassin Project",
-      "contact": "Justin Mason",
-      "product": [
-        {
-          "name": "Apache SpamAssassin",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/spamassassin",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with SSL library"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                },
-                {
-                  "href": "http://search.cpan.org/dist/IO-Socket-SSL/",
-                  "manufacturer": "Steffen Ullrich",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            },
-            {
-              "version": "3.0.x and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/spamassassin/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with SSL library"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                },
-                {
-                  "href": "http://search.cpan.org/dist/IO-Socket-SSL/",
-                  "manufacturer": "Steffen Ullrich",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "https://spark.apache.org/",
-      "name": "Apache Spark Project",
-      "contact": "Matei Zaharia",
-      "product": [
-        {
-          "name": "Apache Spark",
-          "versions": [
-            {
-              "version": "2.2.0 through 2.3.x",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/commons-crypto.git",
-                  "manufacturer": "ASF",
-                  "why": "Authentication and encryption/decryption of network traffic"
-                },
-                {
-                  "href": "http://bouncycastle.org/download/bcprov-jdk15on-158.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java"
-                }
-              ]
-            },
-            {
-              "version": "2.4.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://git-wip-us.apache.org/repos/asf/commons-crypto.git",
-                  "manufacturer": "ASF",
-                  "why": "Authentication and encryption/decryption of network traffic"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://tomcat.apache.org/",
-      "name": "Apache Tomcat Project",
-      "contact": "Mladen Turk",
-      "product": [
-        {
-          "name": "Apache Tomcat",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/tomcat/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE)"
-                }
-              ]
-            },
-            {
-              "version": "3.x and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/tomcat/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE)"
-                }
-              ]
-            }
-	  ]
-	},
-        {
-          "name": "Apache Tomcat native connector",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/tomcat/connectors/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE)"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            },
-            {
-              "version": "1.x and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/tomcat/connectors/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Java Secure Socket Extension (JSSE)"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://uima.apache.org/",
-      "name": "Apache UIMA Project",
-      "contact": "Marshall Schor",
-      "product": [
-        {
-          "name": "Apache UIMA-AS",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/incubator/uima/sandbox/trunk/uima-as",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache ActiveMQ, and UIMA-AS includes Apache ActiveMQ in its distribution"
-                }
-              ]
-            },
-            {
-              "version": "all releases starting with 2.2.2-incubating",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://people.apache.org/dist/incubator/uima/source/uima-as/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache ActiveMQ, and UIMA-AS includes Apache ActiveMQ in its distribution"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache UIMA Addons",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/uima/addons/trunk",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with, and includes, Apache Tika, which is in turn classifed 5D002"
-                }
-              ]
-            },
-            {
-              "version": "2.3.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/uima/addons/trunk",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with, and includes, Apache Tika, which is in turn classifed 5D002"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache UIMA Addon Tika Annotator",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/uima/addons/trunk/TikaAnnotator",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with, and includes, Apache Tika, which is in turn classifed 5D002"
-                }
-              ]
-            },
-            {
-              "version": "2.3.0 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/uima/addons/trunk/TikaAnnotator",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with, and includes, Apache Tika, which is in turn classifed 5D002"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache UIMA-DUCC",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/uima/sandbox/uima-ducc",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache ActiveMQ, and UIMA-DUCC includes Apache ActiveMQ in its distribution"
-                }
-              ]
-            },
-            {
-              "version": "all releases starting with 1.0",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/uima/ducc",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with Apache ActiveMQ, and UIMA-DUCC includes Apache ActiveMQ in its distribution"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://vcl.apache.org/",
-      "name": "Apache VCL Project",
-      "contact": "Andy Kurth",
-      "product": [
-        {
-          "name": "Apache VCL",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/vcl/trunk/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "2.1 to 2.2.2",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/vcl/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                }
-              ]
-            },
-            {
-              "version": "2.3 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/vcl/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "https://github.com/phpseclib/phpseclib",
-                  "manufacturer": "phpseclib",
-                  "why": "Publicly available encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://ws.apache.org/",
-      "name": "Apache Web Services Project",
-      "contact": "Ruchith Fernando",
-      "product": [
-        {
-          "name": "Apache WSS4J",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/webservices/wss4j/trunk/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "www.bouncycastle.org/download/bcprov-jdk15on-151.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java"
-                },
-                {
-                  "href": "http://www.apache.org/dist/santuario/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                }
-              ]
-            },
-            {
-              "version": "1.6",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/webservices/wss4j/branches/1_6_x-fixes/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "www.bouncycastle.org/download/bcprov-jdk15on-151.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java"
-                },
-                {
-                  "href": "http://www.apache.org/dist/santuario/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                }
-              ]
-            },
-            {
-              "version": "1.0 to 1.5",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/ws/wss4j/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk13-132.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.3"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk15-132.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/santuario/java-library/",
-                  "manufacturer": "ASF",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Rampart/Java",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/webservices/rampart/trunk/java",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk13-132.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.3"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk15-132.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://xml.apache.org/security/dist/java-library/",
-                  "manufacturer": "Apache Santuario",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                }
-              ]
-            },
-            {
-              "version": "1.1 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/ws/rampart/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk13-132.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.3"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk15-132.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://xml.apache.org/security/dist/java-library/",
-                  "manufacturer": "Apache Santuario",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Rampart/C",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/webservices/rampart/trunk/c/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            },
-            {
-              "version": "0.09 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/ws/rampart/c/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Publicly available SSL encryption library"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Synapse",
-          "versions": [
-            {
-              "version": "1.0, 1.1, 1.1.1, 1.2, 2.0.0",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/synapse/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk13-132.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.3"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk15-132.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-ext-jdk15-140.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk14-140.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://xml.apache.org/security/dist/java-library/",
-                  "manufacturer": "Apache Santuario",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://synapse.apache.org/",
-      "name": "Apache Synapse Project",
-      "contact": "Paul Fremantle",
-      "product": [
-        {
-          "name": "Apache Synapse",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/synapse",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk13-132.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.3"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk15-132.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-ext-jdk15-140.jar",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk14-140.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://xml.apache.org/security/dist/java-library/",
-                  "manufacturer": "Apache Santuario",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                }
-              ]
-            },
-            {
-              "version": "1.1.1 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/synapse/",
-                  "manufacturer": "ASF",
-                  "why": "Designed for use with encryption library"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk13-132.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.3"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcmail-jdk15-132.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                },
-                {
-                  "href": "http://xml.apache.org/security/dist/java-library/",
-                  "manufacturer": "Apache Santuario",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://wicket.apache.org/",
-      "contact": "Janne Hietamaki",
-      "name": "Apache Wicket Project",
-      "product": [
-        {
-          "name": "Apache Wicket",
-          "versions": [
-            {
-              "version": "1.3, development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/wicket/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://mina.apache.org/",
-      "name": "Apache MINA Project",
-      "contact": "Julien Vermillard",
-      "product": [
-        {
-          "name": "Apache MINA",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/mina/trunk",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                }
-              ]
-            },
-            {
-              "version": "1.0, 1.1, 2.0",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/mina/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache Vysper",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/mina/sandbox/vysper",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk15-140.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache FtpServer",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/mina/ftpserver",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                }
-              ]
-            },
-            {
-              "version": "1.0",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/mina/ftpserver/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                }
-              ]
-            }
-          ]
-        },
-        {
-          "name": "Apache SSHD",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/mina/sshd",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with the Java Cryptography Extension (JCE) API"
-                },
-                {
-                  "href": "http://www.bouncycastle.org/download/bcprov-jdk15-140.tar.gz",
-                  "manufacturer": "Bouncy Castle",
-                  "why": "General-purpose encryption library for Java 1.5"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://wookie.apache.org/",
-      "name": "Apache Wookie Project",
-      "contact": "Scott Wilson",
-      "product": [
-        {
-          "name": "Apache Wookie",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://svn.apache.org/repos/asf/wookie/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/santuario/java-library/",
-                  "manufacturer": "Apache Santuario",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                }
-              ]
-            },
-            {
-              "version": "0.13 and later",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "http://archive.apache.org/dist/wookie/",
-                  "manufacturer": "ASF",
-                  "why": "designed for use with encryption library"
-                },
-                {
-                  "href": "http://archive.apache.org/dist/santuario/java-library/",
-                  "manufacturer": "Apache Santuario",
-                  "why": "General-purpose XML encryption and digital signature implementation"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "href": "http://ignite.apache.org/",
-      "name": "Apache Ignite Project",
-      "contact": "Denis Magda",
-      "product": [
-        {
-          "name": "Apache Ignite",
-          "versions": [
-            {
-              "version": "development",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf/ignite.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed to use with built-in Java Cryptography Architecture (JCA)"
-                },
-                {
-                  "href": "https://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "Designed to use with built-in Java encryption libraries (JCE)"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Designed to use General Purpose cryptography library included with OpenSSL"
-                },
-                {
-                  "href": "https://dotnet.microsoft.com/download",
-                  "manufacturer": "Microsoft",
-                  "why": "Designed to use .NET Framework Cryptography Model"
-                },
-                {
-                  "href": "https://dotnet.microsoft.com/download",
-                  "manufacturer": ".NET Foundation",
-                  "why": "Designed to use .NET Core, and build in Cryptography"
-                },
-                {
-                  "href": "http://www.jcraft.com/jsch/",
-                  "manufacturer": "JCraft, Inc.",
-                  "why": "Provides encryption SSH library"
-                },
-                {
-                  "href": "http://eclipse.org/jetty",
-                  "manufacturer": "The Eclipse Foundation",
-                  "why": "HTTPS support in Jetty (uses SSL)"
-                }
-              ]
-            },
-            {
-              "version": "2.5.0 - latest",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf/ignite.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed to use with built-in Java Cryptography Architecture (JCA)"
-                },
-                {
-                  "href": "https://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "Designed to use with built-in Java encryption libraries (JCE)"
-                },
-                {
-                  "href": "http://www.openssl.org/source/",
-                  "manufacturer": "The OpenSSL Project",
-                  "why": "Designed to use General Purpose cryptography library included with OpenSSL"
-                },
-                {
-                  "href": "https://dotnet.microsoft.com/download",
-                  "manufacturer": "Microsoft",
-                  "why": "Designed to use .NET Framework Cryptography Model"
-                },
-                {
-                  "href": "https://dotnet.microsoft.com/download",
-                  "manufacturer": ".NET Foundation",
-                  "why": "Designed to use .NET Core, and build in Cryptography"
-                },
-                {
-                  "href": "http://www.jcraft.com/jsch/",
-                  "manufacturer": "JCraft, Inc.",
-                  "why": "Provides encryption SSH library"
-                },
-                {
-                  "href": "http://eclipse.org/jetty",
-                  "manufacturer": "The Eclipse Foundation",
-                  "why": "HTTPS support in Jetty (uses SSL)"
-                }
-              ]
-            },
-            {
-              "version": "2.4.0",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf/ignite.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed to use with built-in Java Cryptography Architecture (JCA)"
-                },
-                {
-                  "href": "https://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "Designed to use with built-in Java encryption libraries (JCE)"
-                },
-                {
-                  "href": "https://dotnet.microsoft.com/download",
-                  "manufacturer": "Microsoft",
-                  "why": "Designed to use .NET Framework Cryptography Model"
-                },
-                {
-                  "href": "https://dotnet.microsoft.com/download",
-                  "manufacturer": ".NET Foundation",
-                  "why": "Designed to use .NET Core, and build in Cryptography"
-                },
-                {
-                  "href": "http://www.jcraft.com/jsch/",
-                  "manufacturer": "JCraft, Inc.",
-                  "why": "Provides encryption SSH library"
-                },
-                {
-                  "href": "http://eclipse.org/jetty",
-                  "manufacturer": "The Eclipse Foundation",
-                  "why": "HTTPS support in Jetty (uses SSL)"
-                }
-              ]
-            },
-            {
-              "version": "1.0.0 - 2.3.0",
-              "eccn": "5D002",
-              "source": [
-                {
-                  "href": "https://gitbox.apache.org/repos/asf/ignite.git",
-                  "manufacturer": "ASF",
-                  "why": "Designed to use with built-in Java Cryptography Architecture (JCA)"
-                },
-                {
-                  "href": "https://www.oracle.com/technetwork/java/javase/downloads/index.html",
-                  "manufacturer": "Oracle",
-                  "why": "Designed to use with built-in Java encryption libraries (JCE)"
-                },
-                {
-                  "href": "http://www.jcraft.com/jsch/",
-                  "manufacturer": "JCraft, Inc.",
-                  "why": "Provides encryption SSH library"
-                },
-                {
-                  "href": "http://eclipse.org/jetty",
-                  "manufacturer": "The Eclipse Foundation",
-                  "why": "HTTPS support in Jetty (uses SSL)"
-                }
-              ]
-            }
-          ]
-        }
-      ]
-    }
-  ]
-}
diff --git a/data/eccn/eccnmatrix.yaml b/data/eccn/eccnmatrix.yaml
deleted file mode 100644
index dd18bba..0000000
--- a/data/eccn/eccnmatrix.yaml
+++ /dev/null
@@ -1,2700 +0,0 @@
-eccnmatrix:
-  - href: 'http://accumulo.apache.org/'
-    name: Apache Accumulo Project
-    contact: John Vines
-    product:
-      - name: Apache Accumulo Project
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/accumulo.git'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk15-137.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-          - version: 1.6.0 and on
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/accumulo.git'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk15-137.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-          - version: 1.5.x
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/accumulo.git'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-  - href: 'http://activemq.apache.org/'
-    name: Apache ActiveMQ Project
-    contact: Hiram Chirino
-    product:
-      - name: Apache ActiveMQ
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/activemq/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: 4.1 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/activemq/apache-activemq'
-                manufacturer: ASF
-                why: designed for use with encryption library
-      - name: Apache Camel
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/activemq/camel'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: 1.0.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/activemq/apache-camel'
-                manufacturer: ASF
-                why: designed for use with encryption library
-  - href: 'http://ant.apache.org/'
-    name: Apache Ant Project
-    contact: Conor MacNeill
-    product:
-      - name: Apache Ant
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/ant/core/'
-                manufacturer: ASF
-                why: designed for use with encryption (SSH) library
-          - version: 1.1 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/ant/'
-                manufacturer: ASF
-                why: designed for use with encryption (SSH) library
-      - name: Apache Ivy
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/ant/ivy/'
-                manufacturer: ASF
-                why: designed for use with encryption (SSH) library
-          - version: 2.0.0-alpha-*-incubating
-            eccn: 5D002
-            source:
-              - href: 'http://people.apache.org/dist/incubator/ivy/'
-                manufacturer: ASF
-                why: designed for use with encryption (SSH) library
-          - version: 2.0.0-alpha-*-incubating-bin-with-deps
-            eccn: 5D002
-            source:
-              - href: 'http://people.apache.org/dist/incubator/ivy/'
-                manufacturer: ASF
-                why: designed for use with encryption (SSH) library
-              - href: 'http://www.jcraft.com/jsch/'
-                manufacturer: 'JCraft, Inc.'
-                why: provides encryption (SSH) library
-          - version: 2.0.0-beta1-* and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/ant/ivy/'
-                manufacturer: ASF
-                why: designed for use with encryption (SSH) library
-          - version: 2.0.0-beta1-bin-with-deps and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/ant/ivy/'
-                manufacturer: ASF
-                why: designed for use with encryption (SSH) library
-              - href: 'http://www.jcraft.com/jsch/'
-                manufacturer: 'JCraft, Inc.'
-                why: provides encryption (SSH) library
-  - href: 'https://aries.apache.org/'
-    name: Apache Aries
-    contact: Christian Schneider
-    product:
-      - name: Apache Aries RSA
-        versions:
-          - version: development and all releases
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/aries-rsa.git'
-                manufacturer: ASF
-                why: 'Designed for use with the Java SE Security, Jetty (uses SSL)'
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: >-
-                  Java SE Security including Java Cryptography Architecture,
-                  Java Cryptography Extension library (JCE), Java Security
-                  Architecture, Java Authentication and Authorization Service
-                  (JAAS), Java Secure Sockets Extension (JSSE), Java GSS-API,
-                  and Java SASL API
-              - href: 'http://eclipse.org/jetty'
-                manufacturer: The Eclipse Foundation
-                why: HTTPS support in Jetty (uses SSL)
-  - href: 'http://cassandra.apache.org/'
-    name: Apache Cassandra Project
-    contact: Nate McCall
-    product:
-      - name: Apache Cassandra
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/cassandra.git'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: General-purpose cryptography library (JCE) included with Java
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: General-purpose cryptography library included with OpenSSL
-          - version: 0.8 and later
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/cassandra.git'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: General-purpose cryptography library (JCE) included with Java
-  - href: 'http://cayenne.apache.org/'
-    name: Apache Cayenne Project
-    contact: Andrus Adamchik
-    product:
-      - name: Apache Cayenne
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: >-
-                  http://svn.apache.org/repos/asf/cayenne/main/trunk/cayenne-crypto/
-                manufacturer: ASF
-                why: designed for use with encryption library
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: general-purpose cryptography library (JCE) included with Java
-          - version: 3.2.M2 and later
-            eccn: 5D002
-            source:
-              - href: >-
-                  http://svn.apache.org/repos/asf/cayenne/main/trunk/cayenne-crypto/
-                manufacturer: ASF
-                why: designed for use with encryption library
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: general-purpose cryptography library (JCE) included with Java
-  - href: 'http://commons.apache.org/sandbox/openpgp/'
-    name: Apache Commons Project
-    contact: Torsten Curdt
-    product:
-      - name: Apache Commons Compress
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/commons/proper/compress/trunk/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: 1.6 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/commons/compress'
-                manufacturer: ASF
-                why: designed for use with encryption library
-      - name: Apache Commons Crypto
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/commons-crypto.git'
-                manufacturer: ASF
-                why: designed for use with encryption library
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: general-purpose cryptography library included with OpenSSL
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: general-purpose cryptography library (JCE) included with Java
-          - version: 1.0.0 and later
-            eccn: 5D002
-            source:
-              - href: 'https://www.apache.org/dist/commons/crypto/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: general-purpose cryptography library included with OpenSSL
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: general-purpose cryptography library (JCE) included with Java
-      - name: Apache Commons OpenPGP
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/commons/sandbox/openpgp/trunk/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-  - href: 'http://couchdb.apache.org/'
-    name: Apache CouchDB Project
-    contact: Damien Katz
-    product:
-      - name: Apache CouchDB
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/couchdb/'
-                manufacturer: ASF
-                why: Includes a HTTP client with SSL functionality
-          - version: 0.9.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/couchdb/'
-                manufacturer: ASF
-                why: Includes a HTTP client with SSL functionality
-              - href: 'http://github.com/cmullaparthi/ibrowse/tree/master'
-                manufacturer: ibrowse
-                why: HTTP client with SSL functionality
-  - href: 'http://cxf.apache.org/'
-    name: Apache CXF Project
-    contact: Dan Kulp
-    product:
-      - name: Apache CXF
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/cxf/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with the Apache XML Security Java API, WSS4J
-                  and BouncyCastle crypto
-              - href: 'http://archive.apache.org/dist/xml/security/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-              - href: >-
-                  ftp://ftp.bouncycastle.org/pub/release1.36/bcprov-jdk14-136.tar.gz
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library API for Java 1.4.x
-          - version: all 2.*
-            eccn: 5D002
-            source:
-              - href: 'http://people.apache.org/dist/cxf/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with the Apache XML Security Java API, WSS4J
-                  and BouncyCastle crypto
-              - href: 'http://archive.apache.org/dist/xml/security/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-              - href: >-
-                  ftp://ftp.bouncycastle.org/pub/release1.36/bcprov-jdk14-136.tar.gz
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library API for Java 1.4.x
-          - version: all 2.*-incubating
-            eccn: 5D002
-            source:
-              - href: 'http://people.apache.org/dist/incubator/cxf/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with the Apache XML Security Java API, WSS4J
-                  and BouncyCastle crypto
-              - href: 'http://archive.apache.org/dist/xml/security/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-              - href: >-
-                  ftp://ftp.bouncycastle.org/pub/release1.36/bcprov-jdk14-136.tar.gz
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library API for Java 1.4.x
-  - href: 'http://db.apache.org/derby/'
-    name: Apache DB Project
-    contact: Jean T. Anderson
-    product:
-      - name: Apache Derby
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/db/derby/code/'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-          - version: derby-10.*
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/db/derby/'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-      - name: Apache DdlUtils
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/db/ddlutils/'
-                manufacturer: ASF
-                why: 'Includes Apache Ant, which includes SSL functionality'
-          - version: ddlutils-1.0 and higher
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/db/ddlutils/'
-                manufacturer: ASF
-                why: 'Includes Apache Ant, which includes SSL functionality'
-      - name: Apache ObjectRelationalBridge - OJB
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/db/ojb/'
-                manufacturer: ASF
-                why: 'Includes Apache Ant, which includes SSL functionality'
-          - version: ojb-1.0.0 and higher
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/db/ojb/'
-                manufacturer: ASF
-                why: 'Includes Apache Ant, which includes SSL functionality'
-      - name: Apache Torque
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/db/torque/'
-                manufacturer: ASF
-                why: >-
-                  The Torque Generator includes Apache Ant, which includes SSL
-                  functionality
-          - version: torque-3.1 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/db/torque/'
-                manufacturer: ASF
-                why: 'Includes Apache Ant, which includes SSL functionality'
-  - href: 'http://directory.apache.org/'
-    name: Apache Directory Project
-    contact: Emmanuel Lecharny
-    product:
-      - name: Apache Directory Server
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/directory/apacheds'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-          - version: 1.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/directory/apacheds'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-          - version: 1.5 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/directory/apacheds'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk15-136.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-      - name: Apache Directory Studio
-        versions:
-          - version: 1.2 and later
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/directory/studio'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk15-136.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-  - href: 'http://drill.apache.org/'
-    name: Apache Drill
-    contact: Parth Chandra
-    product:
-      - name: Apache Drill
-        versions:
-          - version: 1.2 and later
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/drill.git'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with the Java SE Security, SASL, Kerberos,
-                  and OpenSSL
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: >-
-                  Java SE Security including Java Cryptography Architecture,
-                  Java Cryptography Extension library (JCE), Java Security
-                  Architecture, Java Authentication and Authorization Service
-                  (JAAS), Java Secure Sockets Extension (JSSE), Java GSS-API,
-                  and Java SASL API
-              - href: 'http://eclipse.org/jetty'
-                manufacturer: The Eclipse Foundation
-                why: HTTPS support in Jetty (uses SSL)
-              - href: 'https://www.cyrusimap.org/sasl/'
-                manufacturer: The Cyrus SASL project
-                why: General purpose SASL library
-              - href: 'http://web.mit.edu/kerberos/'
-                manufacturer: MIT
-                why: General purpose Kerberos library
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: General purpose cryptography library included with OpenSSL
-  - href: 'https://felix.apache.org/'
-    name: Apache Felix
-    contact: Karl Pauls
-    product:
-      - name: Apache Felix Http Jetty
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/felix-dev.git'
-                manufacturer: ASF
-                why: 'Designed for use with the Java SE Security, Jetty (uses SSL)'
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: >-
-                  Java SE Security including Java Cryptography Architecture,
-                  Java Security Architecture, Java Authentication and
-                  Authorization Service (JAAS), Java Secure Sockets Extension
-                  (JSSE), Java GSS-API, and Java SASL API
-              - href: 'http://eclipse.org/jetty'
-                manufacturer: The Eclipse Foundation
-                why: HTTPS support in Jetty (uses SSL)
-          - version: all releases
-            eccn: 5D002
-            source:
-              - href: 'https://archive.apache.org/dist/felix/'
-                manufacturer: ASF
-                why: 'Designed for use with the Java SE Security, Jetty (uses SSL)'
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: >-
-                  Java SE Security including Java Cryptography Architecture
-                  (JCA), Java Cryptography Extension library (JCE), Java
-                  Security Architecture, Java Authentication and Authorization
-                  Service (JAAS), Java Secure Sockets Extension (JSSE), Java
-                  GSS-API, and Java SASL API
-              - href: 'http://eclipse.org/jetty'
-                manufacturer: The Eclipse Foundation
-                why: HTTPS support in Jetty (uses SSL)
-  - href: 'http://forrest.apache.org/'
-    name: Apache Forrest Project
-    contact: David Crossley
-    product:
-      - name: Apache Forrest
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/forrest/'
-                manufacturer: ASF
-                why: designed for use with encryption (SSH) library
-          - version: apache-forrest-0.6 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/forrest/'
-                manufacturer: ASF
-                why: designed for use with encryption (SSH) library
-              - href: 'http://www.jcraft.com/jsch/'
-                manufacturer: 'JCraft, Inc.'
-                why: provides encryption (SSH) library
-  - href: 'http://geode.apache.org/'
-    name: Apache Geode Project
-    contact: Mark Bretl
-    product:
-      - name: Apache Geode
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/geode.git'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'https://git-wip-us.apache.org/repos/asf/geode-native.git'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'https://git-wip-us.apache.org/repos/asf/geode-examples.git'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: >-
-                  Designed for use with Java Secure Socket Extension (JSSE) and
-                  Java Cryptography Extension (JCE)
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-          - version: all releases
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/geode.git'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'https://git-wip-us.apache.org/repos/asf/geode-native.git'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'https://git-wip-us.apache.org/repos/asf/geode-examples.git'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: >-
-                  Designed for use with Java Secure Socket Extension (JSSE) and
-                  Java Cryptography Extension (JCE)
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-  - href: 'http://geronimo.apache.org/'
-    name: Apache Geronimo Project
-    contact: Matt Hogstrom
-    product:
-      - name: Apache Geronimo
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/geronimo/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: 1.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/geronimo/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-  - href: 'http://hadoop.apache.org/'
-    name: Apache Hadoop Project
-    contact: Owen O'Malley
-    product:
-      - name: Apache Hadoop
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/hadoop/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: 17.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/hadoop/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-  - href: 'http://harmony.apache.org/'
-    name: Apache Harmony Project
-    contact: Tim Ellison
-    product:
-      - name: Apache Harmony
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/harmony/'
-                manufacturer: ASF
-                why: implements the Java Cryptography Extension (JCE) API
-          - version: 5.0M1 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/harmony/'
-                manufacturer: ASF
-                why: implements the Java Cryptography Extension (JCE) API
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk15-137.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-  - href: 'http://hawq.incubator.apache.org/'
-    name: Apache HAWQ (incubating) Project
-    contact: Roman Shaposhnik
-    product:
-      - name: Apache HAWQ (incubating) Project
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/incubator-hawq.git'
-                manufacturer: ASF
-                why: General-purpose encryption and digest code
-  - href: 'https://hive.apache.org/'
-    name: Apache Hive Project
-    contact: Owen O'Malley
-    product:
-      - name: Apache Hive
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://github.com/apache/hive'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-          - version: 1.3.0 and on
-            eccn: 5D002
-            source:
-              - href: 'https://github.com/apache/hive'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-  - href: 'http://hc.apache.org/'
-    name: Apache HttpComponents Project
-    contact: Erik Abele
-    product:
-      - name: Apache HttpComponents Core
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/httpcomponents/httpcore/'
-                manufacturer: ASF
-                why: Designed for use with Java Secure Socket Extension (JSSE)
-          - version: 4.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/httpcomponents/httpcore/'
-                manufacturer: ASF
-                why: Designed for use with Java Secure Socket Extension (JSSE)
-      - name: Apache HttpComponents Client
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/httpcomponents/httpclient/'
-                manufacturer: ASF
-                why: Designed for use with Java Secure Socket Extension (JSSE)
-          - version: 4.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/httpcomponents/httpclient/'
-                manufacturer: ASF
-                why: Designed for use with Java Secure Socket Extension (JSSE)
-          - version: '1.x, 2.x, 3.x'
-            eccn: 5D002
-            source:
-              - href: >-
-                  http://archive.apache.org/dist/httpcomponents/commons-httpclient/
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Java Secure Socket Extension (JSSE) and
-                  Java Cryptography Extension (JCE)
-  - href: 'http://httpd.apache.org/'
-    name: Apache HTTP Server Project
-    contact: Roy T. Fielding
-    product:
-      - name: Apache HTTP Server
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/httpd/'
-                manufacturer: ASF
-                why: >-
-                  mod_ssl designed for use with SSL library,
-                  apr-util/mod_session_crypto designed for use with encryption
-                  library
-          - version: apache_1.3.x
-            eccn: n/a
-          - version: httpd-2.0.x
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/httpd/'
-                manufacturer: ASF
-                why: mod_ssl designed for use with SSL library
-          - version: httpd-2.2.x
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/httpd/'
-                manufacturer: ASF
-                why: >-
-                  mod_ssl module and apr-util/ssl designed for use with SSL
-                  library
-          - version: apache_2.2.x-win32-*-openssl-*
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/httpd/'
-                manufacturer: ASF
-                why: >-
-                  mod_ssl module and apr-util/ssl designed for use with SSL
-                  library
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-          - version: httpd-2.4.x
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/httpd/'
-                manufacturer: ASF
-                why: >-
-                  mod_ssl module designed for use with SSL library,
-                  apr-util/mod_session_crypto designed for use with encryption
-                  library
-      - name: Apache Flood
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/httpd/test/flood/'
-                manufacturer: ASF
-                why: Designed for use with SSL library
-          - version: flood-0.4
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/httpd/flood/'
-                manufacturer: ASF
-                why: Designed for use with SSL library
-      - name: Apache libapreq
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/httpd/apreq/'
-                manufacturer: ASF
-                why: Designed for use with Apache httpd 2.x
-          - version: libapreq2
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/httpd/libapreq/'
-                manufacturer: ASF
-                why: Designed for use with Apache httpd 2.x
-          - version: libapreq
-            eccn: n/a
-      - name: Apache mod_ftp
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/httpd/mod_ftp/'
-                manufacturer: ASF
-                why: Designed for use with Apache httpd 2.x
-      - name: Apache mod_python
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/httpd/mod_python/'
-                manufacturer: ASF
-                why: Designed for use with Apache httpd 2.x
-          - version: mod_python-*
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/httpd/modpython/'
-                manufacturer: ASF
-                why: Designed for use with Apache httpd 2.x
-  - href: 'http://incubator.apache.org/'
-    name: Apache Incubator Project
-    contact: Roman Shaposhnik
-    product:
-      - name: Apache Abdera
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/incubator/abdera/java/'
-                manufacturer: ASF
-                why: Designed for use with the Apache XML Security Java API
-          - version: all 0.*-incubating
-            eccn: 5D002
-            source:
-              - href: 'http://people.apache.org/dist/incubator/abdera/'
-                manufacturer: ASF
-                why: Designed for use with the Apache XML Security Java API
-              - href: 'http://archive.apache.org/dist/xml/security/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk15-134.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk14-134.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.4.x
-      - name: Apache Airavata
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/incubator/airavata/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with the Bouncy Castle, Puretls and Cryptix
-                  enryption libraries.
-              - href: >-
-                  http://svn.apache.org/repos/asf/incubator/pdfbox/trunk/external/bcprov-jdk14-132.jar
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java
-              - href: 'http://www.cryptix.org/'
-                manufacturer: The Cryptix project
-                why: Provides cryptography for Java platform
-              - href: 'http://www.rtfm.com/puretls/'
-                manufacturer: Claymore Systems Puretls
-                why: Provides Java implementation of the SSLv3 and TLSv1 protocols
-              - href: 'http://www.globus.org/security/overview.html'
-                manufacturer: Globus Project
-                why: Provides implementation of Grid Security Infrastructure (GSI)
-      - name: Apache CloudStack
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://jasypt.svn.sourceforge.net/svnroot/jasypt/trunk'
-                manufacturer: JaSypt.org
-                why: Publicly available encryption library
-              - href: 'https://code.launchpad.net/~mysql/mysql-server/trunk'
-                manufacturer: Oracle
-                why: Publicly available database encryption libraries
-              - href: 'http://www.bouncycastle.org/download/'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java
-              - href: 'http://svn.apache.org/repos/asf/webservices/wss4j/trunk/'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'http://git.openswan.org/openswan.git'
-                manufacturer: OpenSwan.org
-                why: Designed for use with encryption library
-              - href: 'http://www.jcraft.com/jsch/'
-                manufacturer: 'JCraft, Inc.'
-                why: provides encryption (SSH) library
-              - href: >-
-                  http://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git
-                manufacturer: ASF
-                why: Makes use of publicly available encryption libraries
-      - name: Apache Hop
-        versions:
-          - version: Development
-            eccn: 5D002
-            source:
-              - href: 'https://github.com/apache/incubator-hop'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: all releases
-            eccn: 5D002
-            source:
-              - href: 'https://archive.apache.org/dist/incubator/hop/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-      - name: Apache Impala
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/incubator-impala.git'
-                manufacturer: ASF
-                why: Designed for use with OpenSSL.
-          - version: 2.7.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/incubator/impala'
-                manufacturer: ASF
-                why: Designed for use with OpenSSL.
-      - name: Apache Milagro
-        versions:
-          - version: Development - C Library
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto-c.git
-                manufacturer: ASF
-                why: General purpose and Apache Milagro servers.
-          - version: Development - JavaScript Library
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto-js.git
-                manufacturer: ASF
-                why: General purpose and Apache Milagro servers.
-          - version: Development - Rust Library
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto-rust.git
-                manufacturer: ASF
-                why: General purpose and Apache Milagro servers.
-          - version: Libraries and Servers 0.0.1 and later
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-milagro-dta.git
-                manufacturer: ASF
-                why: 'Milagro C, Rust and JavaScript Libraries and Milagro Servers'
-      - name: Apache NiFi
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://jasypt.svn.sourceforge.net/svnroot/jasypt/trunk'
-                manufacturer: JaSypt.org
-                why: Publicly available encryption library
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: >-
-                  general-purpose cryptography library (JCE) and secure socket
-                  (JSSE) included with Java
-              - href: 'http://www.bouncycastle.org/download/'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java
-              - href: 'http://www.jcraft.com/jsch/'
-                manufacturer: 'JCraft, Inc.'
-                why: provides encryption (SSH) library
-              - href: 'http://git-wip-us.apache.org/repos/asf/incubator-nifi.git'
-                manufacturer: ASF
-                why: Makes use of publicly available encryption libraries
-          - version: 0.0.1-incubating and later
-            eccn: 5D002
-            source:
-              - href: 'http://jasypt.svn.sourceforge.net/svnroot/jasypt/trunk'
-                manufacturer: JaSypt.org
-                why: Publicly available encryption library
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: >-
-                  general-purpose cryptography library (JCE) and secure socket
-                  (JSSE) included with Java
-              - href: 'http://www.bouncycastle.org/download/'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java
-              - href: 'http://www.jcraft.com/jsch/'
-                manufacturer: 'JCraft, Inc.'
-                why: provides encryption (SSH) library
-              - href: 'http://git-wip-us.apache.org/repos/asf/incubator-nifi.git'
-                manufacturer: ASF
-                why: Makes use of publicly available encryption libraries
-      - name: Apache PDFBox
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/incubator/pdfbox/trunk/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with the Java Cryptography Architecture (JCA)
-                  and the Bouncy Castle enryption libraries.
-              - href: >-
-                  http://svn.apache.org/repos/asf/incubator/pdfbox/trunk/external/bcprov-jdk14-132.jar
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.4
-              - href: >-
-                  http://svn.apache.org/repos/asf/incubator/pdfbox/trunk/external/bcmail-jdk14-132.jar
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.4.x
-      - name: Apache Pirk
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://git1-us-west.apache.org/repos/asf?p=incubator-pirk.git'
-                manufacturer: ASF
-                why: Includes cryptographic software implementation
-          - version: 0.1.0-incubating and later
-            eccn: 5D002
-            source:
-              - href: 'https://dist.apache.org/repos/dist/dev/incubator/pirk/'
-                manufacturer: ASF
-                why: Includes cryptographic software implementation
-      - name: Apache Pulsar
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://github.com/apache/incubator-pulsar'
-                manufacturer: ASF
-                why: Designed for use with the Bouncy Castle enryption libraries.
-              - href: >-
-                  ftp://ftp.bouncycastle.org/pub/release1.55/bcprov-jdk15on-155.jar
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library
-          - version: 1.20-incubating and greater
-            eccn: 5D002
-            source:
-              - href: 'https://github.com/apache/incubator-pulsar'
-                manufacturer: ASF
-                why: Designed for use with the Bouncy Castle enryption libraries.
-              - href: >-
-                  ftp://ftp.bouncycastle.org/pub/release1.55/bcprov-jdk15on-155.jar
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library
-      - name: Apache Shindig
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/incubator/shindig/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-      - name: Apache Slider
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/incubator-slider.git'
-                manufacturer: ASF
-                why: designed for use with encryption library
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: general-purpose cryptography library (JCE) included with Java
-              - href: 'http://eclipse.org/jetty'
-                manufacturer: The Eclipse Foundation
-                why: SSL library for Jetty
-          - version: 0.30-incubating
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/incubator-slider.git'
-                manufacturer: ASF
-                why: designed for use with encryption library
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: general-purpose cryptography library (JCE) included with Java
-          - version: 0.40-incubating and later
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/incubator-slider.git'
-                manufacturer: ASF
-                why: designed for use with encryption library
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: general-purpose cryptography library (JCE) included with Java
-              - href: 'http://eclipse.org/jetty'
-                manufacturer: The Eclipse Foundation
-                why: SSL library for Jetty
-      - name: Apache Taverna
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-language.git
-                manufacturer: ASF
-                why: Designed for use with Apache HttpComponents
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi.git
-                manufacturer: ASF
-                why: Designed for use with Apache HttpComponents
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-engine.git
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Java Secure Socket Extension (JSSE),
-                  Java Cryptography Extension (JCE), BouncyCastle crypto, Apache
-                  Derby, Apache Taverna Language and Apache Taverna OSGi
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities.git
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Java Secure Socket Extension (JSSE),
-                  Jetty, Apache WSS4J, Apache XML Security for Java, Apache
-                  HttpComponents and Apache Taverna Engine
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-commandline.git
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Apache WSS4J, Apache XML Security for
-                  Java, Apache HttpComponents, BouncyCastle crypto, Apache
-                  Taverna Engine and Apache Taverna Common Activities
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-server.git
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Java Secure Socket Extension (JSSE),
-                  Java Cryptography Extension (JCE), BouncyCastle crypto, Apache
-                  CXF and Apache Taverna Command Line
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench.git
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Java Secure Socket Extension (JSSE) and
-                  Apache Taverna Engine
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities.git
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Apache Taverna Workbench and Apache
-                  Taverna Common Activities
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-product.git
-                manufacturer: ASF
-                why: >-
-                  Builds distribution that includes Apache WSS4J, Apache XML
-                  Security for Java, Apache HttpComponents and BouncyCastle
-                  crypto
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component.git
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Apache HttpComponents, Apache Taverna
-                  Engine, Apache Taverna Common Activities
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics.git
-                manufacturer: ASF
-                why: Designed for use with Apache Taverna Engine
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis.git
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Apache Taverna Engine, Apache Taverna
-                  Common Activities
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile.git
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Android SDK https support, Dropbox
-                  Android SDK and Apache HttpComponent
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-taverna-databundle-viewer.git
-                manufacturer: ASF
-                why: Designed for use with Ruby OpenSSL
-              - href: 'http://bouncycastle.org/download/bcprov-jdk15on-154.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://eclipse.org/jetty'
-                manufacturer: The Eclipse Foundation
-                why: SSL library for Jetty
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: general-purpose cryptography library (JCE) included with Java
-              - href: 'http://www.apache.org/dist/santuario/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-              - href: >-
-                  http://svn.apache.org/viewvc/santuario/xml-security-java/branches/1.5.x-fixes/
-                manufacturer: ASF
-                why: Implements XML Signature and Encryption specs
-              - href: 'http://people.apache.org/dist/cxf/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with the Apache XML Security Java API, WSS4J
-                  and BouncyCastle crypto
-              - href: 'http://archive.apache.org/dist/xml/security/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-              - href: 'http://archive.apache.org/dist/db/derby/'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-              - href: 'https://www.dropbox.com/developers-v1/core/sdks/android'
-                manufacturer: Dropbox
-                why: >-
-                  designed for use with Android SDK, adds a
-                  SecureSSLSocketFactory
-              - href: 'https://android.googlesource.com/'
-                manufacturer: Google
-                why: >-
-                  includes encryption code adapted from OpenSSL, BouncyCastle,
-                  BoringSSL
-              - href: 'https://github.com/ruby/openssl'
-                manufacturer: Ruby Programming Language
-                why: designed for use with OpenSSL
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-          - version: all releases
-            eccn: 5D002
-            source:
-              - href: 'https://archive.apache.org/dist/incubator/taverna/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Apache CXF, Apache WSS4J, Apache XML
-                  Security for Java, Apache HttpComponents, Apache Derby,
-                  BouncyCastle crypto, Jetty, Java Secure Socket Extension
-                  (JSSE), Java Cryptography Extension (JCE)
-              - href: 'http://bouncycastle.org/download/bcprov-jdk15on-154.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://eclipse.org/jetty'
-                manufacturer: The Eclipse Foundation
-                why: SSL library for Jetty
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: general-purpose cryptography library (JCE) included with Java
-              - href: 'http://www.apache.org/dist/santuario/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-              - href: >-
-                  http://svn.apache.org/viewvc/santuario/xml-security-java/branches/1.5.x-fixes/
-                manufacturer: ASF
-                why: Implements XML Signature and Encryption specs
-              - href: 'http://people.apache.org/dist/cxf/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with the Apache XML Security Java API, WSS4J
-                  and BouncyCastle crypto
-              - href: 'http://archive.apache.org/dist/xml/security/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-              - href: 'http://archive.apache.org/dist/db/derby/'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-              - href: 'https://www.dropbox.com/developers-v1/core/sdks/android'
-                manufacturer: Dropbox
-                why: >-
-                  designed for use with Android SDK, adds a
-                  SecureSSLSocketFactory
-              - href: 'https://android.googlesource.com/'
-                manufacturer: Google
-                why: >-
-                  includes encryption code adapted from OpenSSL, BouncyCastle,
-                  BoringSSL
-              - href: 'https://github.com/ruby/openssl'
-                manufacturer: Ruby Programming Language
-                why: designed for use with OpenSSL
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-      - name: Apache Trafodion
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf/incubator-trafodion.git
-                manufacturer: ASF
-                why: Designed for use with encryption libraries
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: general-purpose cryptography library (JCE) included with Java
-          - version: all releases
-            eccn: 5D002
-            source:
-              - href: 'https://archive.apache.org/dist/incubator/trafodion/'
-                manufacturer: ASF
-                why: Designed for use with encryption libraries
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: general-purpose cryptography library (JCE) included with Java
-      - name: Apache Tuweni
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/incubator-tuweni.git'
-                manufacturer: ASF
-                why: Designed for use with encryption libraries
-              - href: 'https://www.bouncycastle.org/download/bcprov-jdk15on-166.jar'
-                manufacturer: Bouncy Castle
-                why: general-purpose encryption library
-              - href: 'https://www.bouncycastle.org/download/bcpkix-jdk15on-166.jar'
-                manufacturer: Bouncy Castle
-                why: >-
-                  APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate
-                  generation
-          - version: all releases
-            eccn: 5D002
-            source:
-              - href: 'https://archive.apache.org/dist/incubator/tuweni/'
-                manufacturer: ASF
-                why: Designed for use with encryption libraries
-              - href: 'https://www.bouncycastle.org/download/bcprov-jdk15on-166.jar'
-                manufacturer: Bouncy Castle
-                why: general-purpose encryption library
-              - href: 'https://www.bouncycastle.org/download/bcpkix-jdk15on-166.jar'
-                manufacturer: Bouncy Castle
-                why: >-
-                  APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate
-                  generation
-      - name: Apache Whirr
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/incubator/whirr'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: all 0.*-incubating
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/incubator/whirr/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk14-129.tar.gz'
-                manufacturer: Bouncy Castle
-                why: general-purpose encryption library
-              - href: 'http://www.jcraft.com/jsch/'
-                manufacturer: 'JCraft, Inc.'
-                why: provides encryption (SSH) library
-              - href: 'http://juliusdavies.ca/commons-ssl/'
-                manufacturer: Not-Yet-Commons-SSL
-                why: general-purpose encryption library
-  - href: 'http://jakarta.apache.org/jmeter'
-    name: Apache Jakarta JMeter Project
-    contact: Martin van den Bemt
-    product:
-      - name: Apache Jakarta JMeter
-        versions:
-          - version: 1.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/jakarta/jmeter/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Java Secure Socket Extension (JSSE) and
-                  Java Cryptography Extension (JCE)
-  - href: 'http://james.apache.org/'
-    name: Apache JAMES Project
-    contact: Norman Maurer
-    product:
-      - name: Apache JAMES Server
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/james/server/'
-                manufacturer: ASF
-                why: includes bcmail encryption library
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk14-129.tar.gz'
-                manufacturer: Bouncy Castle
-                why: general-purpose encryption library
-          - version: 2.3.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/james/server/source/'
-                manufacturer: ASF
-                why: includes bcmail encryption library
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk14-129.tar.gz'
-                manufacturer: Bouncy Castle
-                why: general-purpose encryption library
-      - name: Apache JAMES jDKIM
-        versions:
-          - version: 0.1 and later
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/james/jdkim/'
-                manufacturer: ASF
-                why: Use crypto algorithm to sign and verify signatures
-              - href: 'http://juliusdavies.ca/commons-ssl/'
-                manufacturer: Not-Yet-Commons-SSL
-                why: general-purpose encryption library
-      - name: Apache JAMES Mailet Crypto
-        versions:
-          - version: 0.1 and later
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/james/mailet/trunk/crypto/'
-                manufacturer: ASF
-                why: Use crypto algorithm to sign and verify via SMIME
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk16-146.jar'
-                manufacturer: Bouncy Castle
-                why: general-purpose encryption library
-      - name: Apache JAMES Mime4J
-        versions:
-          - version: 0.4 and later
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/james/mime4j/'
-                manufacturer: ASF
-                why: >-
-                  Use crypto algorithm to crypt and uncrypt temporary stored
-                  data for protection
-  - href: 'http://jena.apache.org/'
-    name: Apache Jena
-    contact: Andy Seaborne
-    product:
-      - name: Apache Jena (distribution)
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://repository.apache.org/content/repositories/snapshots/org/apache/jena/
-                manufacturer: ASF
-                why: Designed for use with Java Secure Socket Extension (JSSE)
-          - version: binary distribution
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/jena/'
-                manufacturer: ASF
-                why: Designed for use with Java Secure Socket Extension (JSSE)
-              - href: >-
-                  https://repository.apache.org/content/repositories/releases/org/apache/jena/
-                manufacturer: ASF
-                why: Designed for use with Java Secure Socket Extension (JSSE)
-  - href: 'https://kafka.apache.org/'
-    name: Apache Kafka Project
-    contact: Rajini Sivaram
-    product:
-      - name: Apache Kafka
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf?p=kafka.git'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with built-in Java Secure Socket Extension
-                  (JSSE), Java Generic Security Services (GSS-API) and Java
-                  Cryptography Extension (JCE)
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: >-
-                  General-purpose Java Secure Socket Extension (JSSE), Java
-                  Generic Security Services (GSS-API) and Java Cryptography
-                  Extension (JCE)
-          - version: 0.10.2 and later
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf?p=kafka.git'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with built-in Java Secure Socket Extension
-                  (JSSE), Java Generic Security Services (GSS-API) and Java
-                  Cryptography Extension (JCE)
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: >-
-                  General-purpose Java Secure Socket Extension (JSSE), Generic
-                  Security Services (GSS-API) and Java Cryptography Extension
-                  (JCE) included with Java
-          - version: 0.9.0 and later
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf?p=kafka.git'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with built-in Java Secure Socket Extension
-                  (JSSE) and Java Generic Security Services (GSS-API)
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: >-
-                  General-purpose Java Secure Socket Extension (JSSE) and Java
-                  Generic Security Services (GSS-API) included with Java
-  - href: 'http://kudu.apache.org'
-    name: Apache Kudu Project
-    contact: Todd Lipcon
-    product:
-      - name: Apache Kudu
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/kudu.git'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with OpenSSL. Designed for use with Java SE
-                  Security libraries including Java Secure Socket Extension
-                  (JSSE), Java Generic Security Service (JGSS), and Java
-                  Authentication and Authorization APIs (JAAS).
-          - version: 1.1.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/kudu/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with OpenSSL. Designed for use with Java SE
-                  Security libraries including Java Secure Socket Extension
-                  (JSSE), Java Generic Security Service (JGSS), and Java
-                  Authentication and Authorization APIs (JAAS).
-  - href: 'http://labs.apache.org'
-    name: Apache Labs Project
-    contact: Bernd Fondermann
-    product:
-      - name: Apache BaDCA
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/labs/badca/'
-                manufacturer: ASF
-                why: >-
-                  BaDCA includes an interface to OpenSSL cryptographic functions
-                  for use in creating CA's and signing certificates.
-      - name: Apache Vysper
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/labs/vysper/'
-                manufacturer: ASF
-                why: Includes Bounty Castle bcprov encryption library
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk15-135.tar.gz'
-                manufacturer: Bouncy Castle
-                why: general-purpose encryption library
-  - href: 'http://lucene.apache.org'
-    name: Apache Lucene Project
-    contact: Grant Ingersoll
-    product:
-      - name: Apache Nutch
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/lucene/nutch/trunk/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with the PDFBox decrypt API in the parse-pdf
-                  plugin
-          - version: 0.7 and later
-            eccn: 5D002
-            source:
-              - href: 'http://www.apache.org/dist/lucene/nutch/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with the PDFBox decrypt API in the parse-pdf
-                  plugin
-              - href: >-
-                  http://sourceforge.net/project/showfiles.php?group_id=78314&amp;package_id=79377&amp;release_id=454954
-                manufacturer: PDFBox
-                why: >-
-                  PDFBox is a Java PDF Library. This project will allow access
-                  to all of the components in a PDF document. More PDF
-                  manipulation features will be added as the project matures.
-                  This ships with a utility to take a PDF document and output a
-                  text file.
-      - name: Apache Solr
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/lucene/solr/trunk/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with the Apache Tika API in the
-                  contrib/extraction libraries
-          - version: 1.4 and later
-            eccn: 5D002
-            source:
-              - href: 'http://www.apache.org/dist/lucene/solr/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with the Apache Tika API in the
-                  contrib/extraction libraries
-              - href: 'http://svn.apache.org/repos/asf/lucene/tika/trunk/'
-                manufacturer: Apache Tika
-                why: >-
-                  Apache Tika is a Java Content Extraction Library. This project
-                  will allow access to all of the components in a PDF document.
-      - name: Apache Tika
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/lucene/tika/trunk/'
-                manufacturer: ASF
-                why: Designed for use with the Bouncy Castle encryption libraries
-          - version: 0.2-incubating and later
-            eccn: 5D002
-            source:
-              - href: 'http://www.apache.org/dist/lucene/tika/'
-                manufacturer: ASF
-                why: Designed for use with the Bouncy Castle encryption libraries
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk14-136.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.4
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk14-136.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.4.x
-  - href: 'http://myfaces.apache.org/'
-    name: Apache MyFaces Project
-    contact: Dennis Byrne
-    product:
-      - name: Apache MyFaces
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/myfaces/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: 1.1.2 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/myfaces/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-  - href: 'http://mynewt.apache.org/'
-    name: Apache Mynewt (incubating) Project
-    contact: Sterling Hughes
-    product:
-      - name: Apache Mynewt
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf?p=incubator-mynewt-core.git;a=tree;f=crypto/mbedtls;h=d5f6a7013f36a68d25b9232769a273e990278477;hb=HEAD
-                manufacturer: ARM mbed
-                why: >-
-                  Uses open source mbed TLS for cryptographic and SSL/TLS
-                  capabilities
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf?p=incubator-mynewt-core.git;a=tree;f=crypto/tinycrypt;h=13294d0db5cdf2b0e882839f8c204d7d2ddd3bd1;hb=HEAD
-                manufacturer: TinyCrypt
-                why: >-
-                  Uses open source cryptography library with small footprint for
-                  constrained devices.
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf?p=incubator-mynewt-core.git;a=tree;f=net/ip/lwip_base/src/netif/ppp/polarssl;h=47a41b927b1faff57e562b0dac21c82c040e8025;hb=HEAD
-                manufacturer: PolarSSL
-                why: >-
-                  Uses lightweight open source crypto blocks for ARM and MIPS
-                  architectures.
-  - href: 'http://oltu.apache.org//'
-    name: Apache Oltu Project
-    contact: Antonio Sanso
-    product:
-      - name: Apache Oltu
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/oltu/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-  - href: 'http://ofbiz.apache.org/'
-    name: Apache Open For Business Project
-    contact: David E. Jones
-    product:
-      - name: Apache Open For Business
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/ofbiz/trunk/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Java Secure Socket Extension (JSSE) and
-                  Java Cryptography Extension (JCE)
-          - version: 4.0 release branch
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/ofbiz/branches/release4.0/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Java Secure Socket Extension (JSSE) and
-                  Java Cryptography Extension (JCE)
-  - href: 'http://openejb.apache.org/'
-    name: Apache OpenEJB Project
-    contact: David Blevins
-    product:
-      - name: Apache OpenEJB
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/openejb/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: 1.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/openejb/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: All 0.x
-            eccn: n/a
-  - href: 'https://orc.apache.org/'
-    name: Apache ORC Project
-    contact: Owen O'Malley
-    product:
-      - name: Apache ORC
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://github.com/apache/orc'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-          - version: 1.6.0 and on
-            eccn: 5D002
-            source:
-              - href: 'https://github.com/apache/orc'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-  - href: 'http://perl.apache.org/'
-    name: Apache Perl Project
-    contact: Geoffrey Young
-    product:
-      - name: mod_perl
-        versions:
-          - version: Perl-*-win32-bin-*.exe
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/perl/win32-bin/'
-                manufacturer: ASF
-                why: mod_perl module and Perl designed for use with SSL library
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-  - href: 'http://poi.apache.org/'
-    name: Apache POI Project
-    contact: Nick Burch
-    product:
-      - name: Apache POI
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/poi/'
-                manufacturer: ASF
-                why: Designed for use with Java Cryptography Extension (JCE)
-          - version: 3.5 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/poi/'
-                manufacturer: ASF
-                why: Designed for use with Java Cryptography Extension (JCE)
-  - href: 'http://polygene.apache.org/'
-    name: Apache Polygene Project
-    contact: Niclas Hedhman
-    product:
-      - name: Apache Polygene
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf?p=polygene-java.git;a=tree;hb=develop
-                manufacturer: ASF
-                why: Designed for use with Java Cryptography Extensions (JCE)
-              - href: www.bouncycastle.org/download/bcprov-jdk15on-156.tar.gz
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-          - version: '2.1'
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://git-wip-us.apache.org/repos/asf?p=polygene-java.git;a=tree;hb=a789141d5af7f9137dddb9bfc0f0e0af47ebec2d
-                manufacturer: ASF
-                why: Designed for use with Java Cryptography Extensions (JCE)
-              - href: www.bouncycastle.org/download/bcprov-jdk15on-152.tar.gz
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-  - href: 'http://shiro.apache.org/'
-    name: Apache Shiro Project
-    contact: Les Hazlewood
-    product:
-      - name: Apache Shiro
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/shiro/'
-                manufacturer: ASF
-                why: Designed for use with Java Cryptography Extensions (JCE)
-          - version: 1.1 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/shiro/'
-                manufacturer: ASF
-                why: Designed for use with Java Cryptography Extensions (JCE)
-          - version: '1.0'
-            eccn: 5D002
-            source:
-              - href: 'http://www.apache.org/dist/incubator/shiro'
-                manufacturer: ASF
-                why: Designed for use with Java Cryptography Extensions (JCE)
-          - version: All 0.x
-            eccn: n/a
-  - href: 'http://servicemix.apache.org/'
-    name: Apache ServiceMix Project
-    contact: Guillaume Nodet
-    product:
-      - name: Apache ServiceMix 3.x
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/servicemix/smx3/trunk'
-                manufacturer: ASF
-                why: designed for use with encryption library
-              - href: 'http://archive.apache.org/dist/xml/security/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-              - href: >-
-                  ftp://ftp.bouncycastle.org/pub/release1.36/bcprov-jdk14-136.tar.gz
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library API for Java 1.4.x
-          - version: All 3.x versions
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/servicemix/servicemix-3'
-                manufacturer: ASF
-                why: designed for use with encryption library
-              - href: 'http://archive.apache.org/dist/xml/security/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-              - href: >-
-                  ftp://ftp.bouncycastle.org/pub/release1.36/bcprov-jdk14-136.tar.gz
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library API for Java 1.4.x
-      - name: Apache ServiceMix 4.x
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/servicemix/smx4/features/trunk'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: 4.0-m1
-            eccn: n/a
-      - name: Apache ServiceMix NMR
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/servicemix/smx4/nmr/trunk'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: '1.0-m1, 1.0-m2'
-            eccn: n/a
-      - name: Apache ServiceMix Kernel
-        versions:
-          - version: development
-            eccn: n/a
-          - version: All 1.0 milestones
-            eccn: n/a
-  - href: 'http://servicecomb.apache.org/'
-    name: Apache ServiceComb Project
-    contact: Willem Jiang
-    product:
-      - name: Apache ServiceComb Java-Chassis
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: General-purpose cryptography library (JCE) included with Java
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: General-purpose cryptography library included with OpenSSL
-          - version: 1.0.0-m1 and later
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: General-purpose cryptography library (JCE) included with Java
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: General-purpose cryptography library included with OpenSSL
-      - name: Apache ServiceComb Service-Center
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://gitbox.apache.org/repos/asf/servicecomb-service-center.git
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: 'https://github.com/golang/go/tree/master/src/crypto'
-                manufacturer: The golang Project
-                why: General-purpose cryptography with Go Language
-          - version: 1.0.0-m1 and later
-            eccn: 5D002
-            source:
-              - href: >-
-                  https://gitbox.apache.org/repos/asf/servicecomb-service-center.git
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: 'https://github.com/golang/go/tree/master/src/crypto'
-                manufacturer: The golang Project
-                why: General-purpose cryptography with Go Language
-      - name: Apache ServiceComb Pack
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf/servicecomb-pack.git'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: General-purpose cryptography library (JCE) included with Java
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: General-purpose cryptography library included with OpenSSL
-          - version: 0.2.0 and later
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf/servicecomb-pack.git'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: General-purpose cryptography library (JCE) included with Java
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: General-purpose cryptography library included with OpenSSL
-  - href: 'http://rocketmq.apache.org/'
-    name: Apache RocketMQ Project
-    contact: Heng Du
-    product:
-      - name: Apache RocketMQ
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf?p=rocketmq.git'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: General-purpose cryptography library (JCE) included with Java
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: General-purpose cryptography library included with OpenSSL
-          - version: rocketmq-4.0.0-incubating and later
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf?p=rocketmq.git'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: General-purpose cryptography library (JCE) included with Java
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: General-purpose cryptography library included with OpenSSL
-      - name: Apache RocketMQ ONS
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf?p=rocketmq-ons.git'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: General-purpose cryptography library (JCE) included with Java
-          - version: 1.8.0 and later
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf?p=rocketmq-ons.git'
-                manufacturer: ASF
-                why: Designed for use with built in Java encryption libraries
-              - href: >-
-                  http://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: General-purpose cryptography library (JCE) included with Java
-  - href: 'http://apr.apache.org/'
-    name: Apache Portable Runtime Project
-    contact: Garrett Rooney
-    product:
-      - name: APR
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/apr/apr/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-      - name: APR-Util
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/apr/apr-util/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-          - version: '0.9.x, 1.2.x'
-            eccn: n/a
-          - version: 1.4.x and later
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/apr/apr-util/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-  - href: 'http://santuario.apache.org/'
-    name: Apache Santuario Project
-    contact: Colm O hEigeartaigh
-    product:
-      - name: Apache XML Security for Java
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: >-
-                  http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/
-                manufacturer: ASF
-                why: Implements XML Signature and Encryption specs
-          - version: 1.5.x
-            eccn: 5D002
-            source:
-              - href: >-
-                  http://svn.apache.org/viewvc/santuario/xml-security-java/branches/1.5.x-fixes/
-                manufacturer: ASF
-                why: Implements XML Signature and Encryption specs
-      - name: Apache XML Security for C++
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/viewvc/santuario/xml-security-cpp/trunk/'
-                manufacturer: ASF
-                why: Implements XML Signature and Encryption specs
-  - href: 'http://spamassassin.apache.org/'
-    name: Apache SpamAssassin Project
-    contact: Justin Mason
-    product:
-      - name: Apache SpamAssassin
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/spamassassin'
-                manufacturer: ASF
-                why: designed for use with SSL library
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-              - href: 'http://search.cpan.org/dist/IO-Socket-SSL/'
-                manufacturer: Steffen Ullrich
-                why: Publicly available SSL encryption library
-          - version: 3.0.x and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/spamassassin/'
-                manufacturer: ASF
-                why: designed for use with SSL library
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-              - href: 'http://search.cpan.org/dist/IO-Socket-SSL/'
-                manufacturer: Steffen Ullrich
-                why: Publicly available SSL encryption library
-  - href: 'https://spark.apache.org/'
-    name: Apache Spark Project
-    contact: Matei Zaharia
-    product:
-      - name: Apache Spark
-        versions:
-          - version: 2.2.0 through 2.3.x
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/commons-crypto.git'
-                manufacturer: ASF
-                why: Authentication and encryption/decryption of network traffic
-              - href: 'http://bouncycastle.org/download/bcprov-jdk15on-158.jar'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java
-          - version: 2.4.0 and later
-            eccn: 5D002
-            source:
-              - href: 'https://git-wip-us.apache.org/repos/asf/commons-crypto.git'
-                manufacturer: ASF
-                why: Authentication and encryption/decryption of network traffic
-  - href: 'http://tomcat.apache.org/'
-    name: Apache Tomcat Project
-    contact: Mladen Turk
-    product:
-      - name: Apache Tomcat
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/tomcat/'
-                manufacturer: ASF
-                why: Designed for use with Java Secure Socket Extension (JSSE)
-          - version: 3.x and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/tomcat/'
-                manufacturer: ASF
-                why: Designed for use with Java Secure Socket Extension (JSSE)
-      - name: Apache Tomcat native connector
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/tomcat/connectors/'
-                manufacturer: ASF
-                why: Designed for use with Java Secure Socket Extension (JSSE)
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-          - version: 1.x and later
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/tomcat/connectors/'
-                manufacturer: ASF
-                why: Designed for use with Java Secure Socket Extension (JSSE)
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-  - href: 'http://uima.apache.org/'
-    name: Apache UIMA Project
-    contact: Marshall Schor
-    product:
-      - name: Apache UIMA-AS
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: >-
-                  http://svn.apache.org/repos/asf/incubator/uima/sandbox/trunk/uima-as
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Apache ActiveMQ, and UIMA-AS includes
-                  Apache ActiveMQ in its distribution
-          - version: all releases starting with 2.2.2-incubating
-            eccn: 5D002
-            source:
-              - href: 'http://people.apache.org/dist/incubator/uima/source/uima-as/'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Apache ActiveMQ, and UIMA-AS includes
-                  Apache ActiveMQ in its distribution
-      - name: Apache UIMA Addons
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/uima/addons/trunk'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with, and includes, Apache Tika, which is in
-                  turn classifed 5D002
-          - version: 2.3.0 and later
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/uima/addons/trunk'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with, and includes, Apache Tika, which is in
-                  turn classifed 5D002
-      - name: Apache UIMA Addon Tika Annotator
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: >-
-                  http://svn.apache.org/repos/asf/uima/addons/trunk/TikaAnnotator
-                manufacturer: ASF
-                why: >-
-                  Designed for use with, and includes, Apache Tika, which is in
-                  turn classifed 5D002
-          - version: 2.3.0 and later
-            eccn: 5D002
-            source:
-              - href: >-
-                  http://svn.apache.org/repos/asf/uima/addons/trunk/TikaAnnotator
-                manufacturer: ASF
-                why: >-
-                  Designed for use with, and includes, Apache Tika, which is in
-                  turn classifed 5D002
-      - name: Apache UIMA-DUCC
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/uima/sandbox/uima-ducc'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Apache ActiveMQ, and UIMA-DUCC includes
-                  Apache ActiveMQ in its distribution
-          - version: all releases starting with 1.0
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/uima/ducc'
-                manufacturer: ASF
-                why: >-
-                  Designed for use with Apache ActiveMQ, and UIMA-DUCC includes
-                  Apache ActiveMQ in its distribution
-  - href: 'http://vcl.apache.org/'
-    name: Apache VCL Project
-    contact: Andy Kurth
-    product:
-      - name: Apache VCL
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/vcl/trunk/'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-          - version: 2.1 to 2.2.2
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/vcl/'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-          - version: 2.3 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/vcl/'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'https://github.com/phpseclib/phpseclib'
-                manufacturer: phpseclib
-                why: Publicly available encryption library
-  - href: 'http://ws.apache.org/'
-    name: Apache Web Services Project
-    contact: Ruchith Fernando
-    product:
-      - name: Apache WSS4J
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/webservices/wss4j/trunk/'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: www.bouncycastle.org/download/bcprov-jdk15on-151.tar.gz
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java
-              - href: 'http://www.apache.org/dist/santuario/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-          - version: '1.6'
-            eccn: 5D002
-            source:
-              - href: >-
-                  http://svn.apache.org/repos/asf/webservices/wss4j/branches/1_6_x-fixes/
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: www.bouncycastle.org/download/bcprov-jdk15on-151.tar.gz
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java
-              - href: 'http://www.apache.org/dist/santuario/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-          - version: 1.0 to 1.5
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/ws/wss4j/'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk13-132.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.3
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk15-132.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://archive.apache.org/dist/santuario/java-library/'
-                manufacturer: ASF
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-      - name: Apache Rampart/Java
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/webservices/rampart/trunk/java'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk13-132.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.3
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk15-132.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://xml.apache.org/security/dist/java-library/'
-                manufacturer: Apache Santuario
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-          - version: 1.1 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/ws/rampart/'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk13-132.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.3
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk15-132.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://xml.apache.org/security/dist/java-library/'
-                manufacturer: Apache Santuario
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-      - name: Apache Rampart/C
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/webservices/rampart/trunk/c/'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-          - version: 0.09 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/ws/rampart/c/'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: Publicly available SSL encryption library
-      - name: Apache Synapse
-        versions:
-          - version: '1.0, 1.1, 1.1.1, 1.2, 2.0.0'
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/synapse/'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk13-132.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.3
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk15-132.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://www.bouncycastle.org/download/bcprov-ext-jdk15-140.jar'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk14-140.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://xml.apache.org/security/dist/java-library/'
-                manufacturer: Apache Santuario
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-  - href: 'http://synapse.apache.org/'
-    name: Apache Synapse Project
-    contact: Paul Fremantle
-    product:
-      - name: Apache Synapse
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/synapse'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk13-132.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.3
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk15-132.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://www.bouncycastle.org/download/bcprov-ext-jdk15-140.jar'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk14-140.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://xml.apache.org/security/dist/java-library/'
-                manufacturer: Apache Santuario
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-          - version: 1.1.1 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/synapse/'
-                manufacturer: ASF
-                why: Designed for use with encryption library
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk13-132.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.3
-              - href: 'http://www.bouncycastle.org/download/bcmail-jdk15-132.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-              - href: 'http://xml.apache.org/security/dist/java-library/'
-                manufacturer: Apache Santuario
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-  - href: 'http://wicket.apache.org/'
-    contact: Janne Hietamaki
-    name: Apache Wicket Project
-    product:
-      - name: Apache Wicket
-        versions:
-          - version: '1.3, development'
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/wicket/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-  - href: 'http://mina.apache.org/'
-    name: Apache MINA Project
-    contact: Julien Vermillard
-    product:
-      - name: Apache MINA
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/mina/trunk'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-          - version: '1.0, 1.1, 2.0'
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/mina/'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-      - name: Apache Vysper
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/mina/sandbox/vysper'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk15-140.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-      - name: Apache FtpServer
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/mina/ftpserver'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-          - version: '1.0'
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/mina/ftpserver/'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-      - name: Apache SSHD
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/mina/sshd'
-                manufacturer: ASF
-                why: >-
-                  designed for use with the Java Cryptography Extension (JCE)
-                  API
-              - href: 'http://www.bouncycastle.org/download/bcprov-jdk15-140.tar.gz'
-                manufacturer: Bouncy Castle
-                why: General-purpose encryption library for Java 1.5
-  - href: 'http://wookie.apache.org/'
-    name: Apache Wookie Project
-    contact: Scott Wilson
-    product:
-      - name: Apache Wookie
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'http://svn.apache.org/repos/asf/wookie/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-              - href: 'http://archive.apache.org/dist/santuario/java-library/'
-                manufacturer: Apache Santuario
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-          - version: 0.13 and later
-            eccn: 5D002
-            source:
-              - href: 'http://archive.apache.org/dist/wookie/'
-                manufacturer: ASF
-                why: designed for use with encryption library
-              - href: 'http://archive.apache.org/dist/santuario/java-library/'
-                manufacturer: Apache Santuario
-                why: >-
-                  General-purpose XML encryption and digital signature
-                  implementation
-  - href: 'http://ignite.apache.org/'
-    name: Apache Ignite Project
-    contact: Denis Magda
-    product:
-      - name: Apache Ignite
-        versions:
-          - version: development
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf/ignite.git'
-                manufacturer: ASF
-                why: >-
-                  Designed to use with built-in Java Cryptography Architecture
-                  (JCA)
-              - href: >-
-                  https://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: Designed to use with built-in Java encryption libraries (JCE)
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: >-
-                  Designed to use General Purpose cryptography library included
-                  with OpenSSL
-              - href: 'https://dotnet.microsoft.com/download'
-                manufacturer: Microsoft
-                why: Designed to use .NET Framework Cryptography Model
-              - href: 'https://dotnet.microsoft.com/download'
-                manufacturer: .NET Foundation
-                why: 'Designed to use .NET Core, and build in Cryptography'
-              - href: 'http://www.jcraft.com/jsch/'
-                manufacturer: 'JCraft, Inc.'
-                why: Provides encryption SSH library
-              - href: 'http://eclipse.org/jetty'
-                manufacturer: The Eclipse Foundation
-                why: HTTPS support in Jetty (uses SSL)
-          - version: 2.5.0 - latest
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf/ignite.git'
-                manufacturer: ASF
-                why: >-
-                  Designed to use with built-in Java Cryptography Architecture
-                  (JCA)
-              - href: >-
-                  https://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: Designed to use with built-in Java encryption libraries (JCE)
-              - href: 'http://www.openssl.org/source/'
-                manufacturer: The OpenSSL Project
-                why: >-
-                  Designed to use General Purpose cryptography library included
-                  with OpenSSL
-              - href: 'https://dotnet.microsoft.com/download'
-                manufacturer: Microsoft
-                why: Designed to use .NET Framework Cryptography Model
-              - href: 'https://dotnet.microsoft.com/download'
-                manufacturer: .NET Foundation
-                why: 'Designed to use .NET Core, and build in Cryptography'
-              - href: 'http://www.jcraft.com/jsch/'
-                manufacturer: 'JCraft, Inc.'
-                why: Provides encryption SSH library
-              - href: 'http://eclipse.org/jetty'
-                manufacturer: The Eclipse Foundation
-                why: HTTPS support in Jetty (uses SSL)
-          - version: 2.4.0
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf/ignite.git'
-                manufacturer: ASF
-                why: >-
-                  Designed to use with built-in Java Cryptography Architecture
-                  (JCA)
-              - href: >-
-                  https://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: Designed to use with built-in Java encryption libraries (JCE)
-              - href: 'https://dotnet.microsoft.com/download'
-                manufacturer: Microsoft
-                why: Designed to use .NET Framework Cryptography Model
-              - href: 'https://dotnet.microsoft.com/download'
-                manufacturer: .NET Foundation
-                why: 'Designed to use .NET Core, and build in Cryptography'
-              - href: 'http://www.jcraft.com/jsch/'
-                manufacturer: 'JCraft, Inc.'
-                why: Provides encryption SSH library
-              - href: 'http://eclipse.org/jetty'
-                manufacturer: The Eclipse Foundation
-                why: HTTPS support in Jetty (uses SSL)
-          - version: 1.0.0 - 2.3.0
-            eccn: 5D002
-            source:
-              - href: 'https://gitbox.apache.org/repos/asf/ignite.git'
-                manufacturer: ASF
-                why: >-
-                  Designed to use with built-in Java Cryptography Architecture
-                  (JCA)
-              - href: >-
-                  https://www.oracle.com/technetwork/java/javase/downloads/index.html
-                manufacturer: Oracle
-                why: Designed to use with built-in Java encryption libraries (JCE)
-              - href: 'http://www.jcraft.com/jsch/'
-                manufacturer: 'JCraft, Inc.'
-                why: Provides encryption SSH library
-              - href: 'http://eclipse.org/jetty'
-                manufacturer: The Eclipse Foundation
-                why: HTTPS support in Jetty (uses SSL)
-
diff --git a/pelicanconf.py b/pelicanconf.py
deleted file mode 100644
index 0df3bf1..0000000
--- a/pelicanconf.py
+++ /dev/null
@@ -1,169 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*- #
-# vim: encoding=utf-8
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-from __future__ import unicode_literals
-from datetime import date
-
-# import os
-# import sys
-
-PATH = 'content'
-
-TIMEZONE = 'UTC'
-
-DEFAULT_LANG = u'en'
-
-# Website specific settings
-AUTHOR = u'Template Community'
-SITENAME = u'Apache Template'
-SITEDOMAIN = 'template.apache.org'
-SITEURL = 'https://template.apache.org'
-SITELOGO = 'https://template.apache.org/images/logo.png'
-SITEDESC = u'Assists external project communities interested in becoming an Apache project learn how The ASF works and its views on how to build a healthy community'
-TRADEMARKS = u'Apache, the Apache feather logo, and Template are trademarks or registered trademarks'
-SITEREPOSITORY = 'https://github.com/apache/template-site/blob/main/content/'
-CURRENTYEAR = date.today().year
-
-# ASF Data specification
-ASF_DATA_YAML = "asfdata.yaml"
-
-# Save pages using full directory preservation
-PAGE_PATHS = ['.']
-
-# Path with no extension
-PATH_METADATA = '(?P<path_no_ext>.*)\..*'
-
-# We are not slugifying any pages
-ARTICLE_URL = ARTICLE_SAVE_AS = PAGE_URL = PAGE_SAVE_AS = '{path_no_ext}.html'
-
-# If we wanted to have articles.
-# SLUGIFY_SOURCE = 'basename'
-# ARTICLE_SAVE_AS = '{slug}.html'
-
-# Disable these pages
-ARCHIVES_SAVE_AS = ''
-AUTHORS_SAVE_AS = ''
-CATEGORIES_SAVE_AS = ''
-INDEX_SAVE_AS = ''
-TAGS_SAVE_AS = ''
-
-# We want to serve our static files mixed with content.
-STATIC_PATHS = ['.']
-
-# We don't use articles, but we don't want pelican to think
-# that content/ contains articles.
-ARTICLE_PATHS = ['articles']
-
-# ignore README.md files in the content tree
-IGNORE_FILES = ['README.md','include']
-
-# No translations
-PAGE_TRANSLATION_ID = None
-
-# Enable ATOM feed and Disable other feeds
-FEED_DOMAIN = SITEURL
-FEED_ALL_ATOM = 'feeds/all.atom.xml'
-CATEGORY_FEED_ATOM = None
-TRANSLATION_FEED_ATOM = None
-AUTHOR_FEED_ATOM = None
-AUTHOR_FEED_RSS = None
-
-# Theme
-THEME = './theme/apache'
-
-# Uncomment this to put the build date on every page.
-# DEFAULT_DATE = 'fs'
-
-# Pelican Plugins
-# The provided location. If the buildbot does not have a new plugin then look into requirements.txt
-PLUGIN_PATHS = ['./theme/plugins']
-PLUGINS = ['asfgenid', 'asfdata', 'pelican-gfm', 'asfreader', 'sitemap']
-
-TYPOGRAPHY = True
-TYPOGRAPHY_IGNORE_TAGS = ['pre', 'code', 'style', 'script']
-
-# Lifecycle and plugins:
-# (1) Initialization:
-#     asfdata - populate a sitewide dictionary of ASF_DATA
-# (2) Readers process content into metadata and html
-#     pelican-gfm (GFMReader) - reads GFM Markdown with metadata and generates html
-#     asfreader (ASFReader) - reads GFM Markdown with embedded ezt templates uses metadata enhanced
-#          by the sitewide dictionary to generate markdown with ezt and then generate html
-# (3) HTML Content enhancement
-#     asfgenid - performs a series of enhancements to the HTML - see ASF_GENID
-# (4) Site generation
-#     sitemap - produces a sitemap.xml
-
-# Configure the asfdata plugin
-ASF_DATA = {
-    'data': ASF_DATA_YAML,
-    'metadata': {
-        'site_url': SITEURL
-    },
-    'debug': False
-}
-
-# Configure the asfgenid plugin
-ASF_GENID = {
-    'metadata': True,
-    'elements': True,
-    'headings': True,
-    'headings_re': r'^h[1-4]',
-    'permalinks': True,
-    'toc': True,
-    'toc_headers': r"h[1-4]",
-    'tables': True,
-    'debug': False
-}
-
-# Sitemap Generator
-SITEMAP = {
-    "exclude": ["tag/", "category/"],
-    "format": "xml",
-    "priorities": {
-        "articles": 0.1,
-        "indexes": 0.1,
-        "pages": 0.8
-    },
-    "changefreqs": {
-        "articles": "never",
-        "indexes": "never",
-        "pages": "monthly"
-    }
-}
-
-# Markdown Configuration
-# When using GFMReader or ASFReader then MARKDOWN configuration is meaningless to GFM
-# MARKDOWN = {
-# }
-
-# TOC Generator
-# When using ASF_GENID TOC generation then this is unused.
-# TOC_HEADERS = r"h[1-6]"
-
-# Unused links
-LINKS = ( )
-SOCIAL = ( )
-
-DEFAULT_PAGINATION = False
-
-# Uncomment following line if you want document-relative URLs when developing
-# RELATIVE_URLS = True
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index 10ac40b..0000000
--- a/requirements.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-pelican
-pelican-sitemap
-BeautifulSoup4
-ezt
-PyYAML
-requests
diff --git a/theme/apache/templates/README.md b/theme/apache/templates/README.md
deleted file mode 100644
index 00e0dd6..0000000
--- a/theme/apache/templates/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Apache Theme
-
-The Apache Theme included here consists two types of files.
-
-1. Page templates.
-  There should be one template for each page type.
-2. CSS stylesheets.
-  There are css overrides for the site and/or template.
-
-## Page Templates
-
-1. base.html - there is only one page type.
-
-Change the base page as necessary and add new page types as required.
-
-## CSS Stylesheets
-
-These are site or template specific overrides to the stylesheet frameworks.
-You can choose to include these in your template, or you can move the file into your assets.
-
-1. styles.css - consists of custom site CSS overrides. Edit as needed.
-
-See [Web Developer](../../../DEVELOPER.md) for framework and other information.
-
-Each of the above files should be edited as needed for the deployed website.
-
-## Pelican Variables set in [pelicanconf.py](../../../pelicanconf.py)
-
-~~~python
-SITENAME = u'Apache <pmc>'
-SITEDOMAIN = '<pmc>.apache.org'
-SITEURL = 'https://<pmc>.apache.org'
-SITELOGO = 'https://<pmc>.apache.org/images/logo.png'
-SITEDESC = u'<pmc desc>'
-SITEREPOSITORY = 'https://github.com/apache/<pmc-site>/blob/<branch>/content/'
-TRADEMARKS = u'Apache, the Apache feather logo, and <pmc> are trademarks or registered trademarks'
-CURRENTYEAR = date.today().year
-~~~
diff --git a/theme/apache/templates/base.html b/theme/apache/templates/base.html
deleted file mode 100644
index d7e6a6b..0000000
--- a/theme/apache/templates/base.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!doctype html>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         https://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<html lang="en" prefix="og: https://ogp.me/ns#">
-  <head>
-    {% block head %}
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-    <title>{{ SITENAME }} - {{ page.title }}</title>
-    {% endblock %}
-    <!-- Below Meta Tags Generated via https://www.opengraph.xyz -->
-    <!-- If you don't care about social media then remove this section -->
-    <!-- Values are set in pelicanconf.py -->
-    <!-- HTML Meta Tags -->
-    <meta name="description" content="{{ SITEDESC }}">
-    <!-- Facebook Meta Tags -->
-    <meta property="og:url" content="{{ SITEURL }}">
-    <meta property="og:type" content="website">
-    <meta property="og:title" content="{{ SITENAME }}">
-    <meta property="og:description" content="{{ SITEDESC }}">
-    <meta property="og:image" content="{{ SITELOGO }}">
-    <!-- Twitter Meta Tags -->
-    <meta name="twitter:card" content="summary_large_image">
-    <meta property="twitter:domain" content="{{ SITEDOMAIN }}">
-    <meta property="twitter:url" content="{{ SITEURL }}">
-    <meta name="twitter:title" content="{{ SITENAME }}">
-    <meta name="twitter:description" content="{{ SITEDESC }}">
-    <meta name="twitter:image" content="{{ SITELOGO }}">
-    <!-- Above Meta Tags Generated via https://www.opengraph.xyz -->
-
-    <!-- Start favicon styles - use apache feather -->
-    <link rel="shortcut icon" href="https://www.apache.org/favicons/favicon.ico">
-    <link rel="apple-touch-icon" sizes="57x57" href="https://www.apache.org/favicons/apple-touch-icon-57x57.png">
-    <link rel="apple-touch-icon" sizes="60x60" href="https://www.apache.org/favicons/apple-touch-icon-60x60.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="https://www.apache.org/favicons/apple-touch-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="76x76" href="https://www.apache.org/favicons/apple-touch-icon-76x76.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="https://www.apache.org/favicons/apple-touch-icon-114x114.png">
-    <link rel="apple-touch-icon" sizes="120x120" href="https://www.apache.org/favicons/apple-touch-icon-120x120.png">
-    <link rel="apple-touch-icon" sizes="144x144" href="https://www.apache.org/favicons/apple-touch-icon-144x144.png">
-    <link rel="apple-touch-icon" sizes="152x152" href="https://www.apache.org/favicons/apple-touch-icon-152x152.png">
-    <link rel="apple-touch-icon" sizes="180x180" href="https://www.apache.org/favicons/apple-touch-icon-180x180.png">
-    <link rel="icon" type="image/png" href="https://www.apache.org/favicons/favicon-32x32.png" sizes="32x32">
-    <link rel="icon" type="image/png" href="https://www.apache.org/favicons/favicon-194x194.png" sizes="194x194">
-    <link rel="icon" type="image/png" href="https://www.apache.org/favicons/favicon-96x96.png" sizes="96x96">
-    <link rel="icon" type="image/png" href="https://www.apache.org/favicons/android-chrome-192x192.png" sizes="192x192">
-    <link rel="icon" type="image/png" href="https://www.apache.org/favicons/favicon-16x16.png" sizes="16x16">
-    <!--<link rel="manifest" href="https://www.apache.org/favicons/manifest.json" crossorigin="anonymous">-->
-    <meta name="msapplication-TileColor" content="#603cba">
-    <meta name="msapplication-TileImage" content="https://www.apache.org/favicons/mstile-144x144.png">
-    <meta name="msapplication-config" content="https://www.apache.org/favicons/browserconfig.xml">
-    <meta name="theme-color" content="#282661">
-    <!-- End favicon styles - use apache feather -->
-
-    <!-- Start load of stylesheets (will need to upgrade periodically) -->
-    <link rel="stylesheet"
-      href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
-      integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
-      crossorigin="anonymous">
-    <link rel="stylesheet"
-      href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/3.0.1/github-markdown.min.css"
-      crossorigin="anonymous">
-    <!-- Override css for this site. You can do this inline as shown here or with a site asset. See comment.-->
-    <style>
-      {% include "styles.css" %}
-
-    </style>
-    <!--<link rel="stylesheet" href="/styles/styles.css">-->
-    <!-- End stylesheets -->
-  </head>
-
-  <body id="index" class="home">
-    <!-- Start branding and top navigation -->
-    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
-      <img src="https://www.apache.org/foundation/press/kit/feather.svg"
-        width="30" height="30" class="d-inline-block align-top"
-        alt="Apache Feather">
-      <a class="navbar-brand" href="/">{{ SITENAME }}</a>
-      <button class="navbar-toggler" type="button"
-        data-toggle="collapse" data-target="#navbarSupportedContent"
-        aria-controls="navbarSupportedContent" aria-expanded="false"
-        aria-label="Toggle navigation">
-        <span class="navbar-toggler-icon"></span>
-      </button>
-
-      <div class="collapse navbar-collapse" id="navbarSupportedContent">
-        <ul class="navbar-nav mr-auto">
-          <li class="nav-item active">
-            <a class="nav-link" href="/index.html">Home</a>
-          </li>
-          <li class="nav-item active">
-            <a class="nav-link" href="/projects.html">Projects</a>
-          </li>
-          <li class="nav-item active">
-            <a class="nav-link" href="/mentors.html">Mentors</a>
-          </li>
-          <li class="nav-item active">
-            <a class="nav-link" href="/faq.html">FAQ</a>
-          </li>
-        </ul>
-        <div class="navbar-nav">
-          <div class="nav-item dropdown dropdown-menu-right active">
-            <a class="nav-link dropdown-toggle" href="#"
-              role="button" data-toggle="dropdown" aria-haspopup="true"
-              aria-expanded="false">About</a>
-            <div class="dropdown-menu dropdown-menu-right">
-              <a class="dropdown-item" href="https://www.apache.org/">Foundation</a>
-              <div class="dropdown-divider"></div>
-              <a class="dropdown-item"
-                href="https://www.apache.org/licenses/">License</a>
-              <a class="dropdown-item"
-                href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
-              <a class="dropdown-item"
-                href="https://www.apache.org/foundation/thanks.html">Thanks</a>
-              <div class="dropdown-divider"></div>
-              <a class="dropdown-item"
-                href="https://www.apache.org/security/">Security</a>
-            </div>
-          </div>
-        </div>
-      </div>
-    </nav>
-    <!-- End branding and top navigation -->
-
-    <!-- Start main content area -->
-    <div class="container">
-      {% block content %}
-      {% endblock %}
-      {% if page.source_button is defined %}
-        <!-- button to view source in github -->
-      <h2><span class="badge badge-secondary">
-	  <a href="{{ SITEREPOSITORY }}{{ page.relative_source_path }}" style="color:white">Page Source</a>
-      </span></h2>
-      {% endif %}
-    </div>
-    <!-- End main content area -->
-
-    <!-- Start footer -->
-    <footer class="navbar-expand-lg navbar-light bg-light">
-      <div class="footer" id="footer">
-        <div class="row container-fluid">
-          <div class="col-sm">
-            <a href="https://www.apache.org/">
-              <img src="https://www.apache.org/img/asf_logo.png" alt="The Apache Software Foundation" style="border: 0; margin-top: 2px" width="200">
-            </a>
-          </div>
-          <div class="col-sm center-align">
-            <a href="https://www.apache.org/foundation/contributing.html">
-              <img src="https://www.apache.org/images/SupportApache-small.png" alt="Support The ASF" height="80" width="80">
-            </a>
-          </div>
-          <div class="col-sm right-align">
-            <a class="acevent" data-format="wide" data-mode="light" data-event="random"></a>
-          </div>
-        </div>
-
-        <div class="container-fluid">
-          Copyright &copy; {{ CURRENTYEAR }} The Apache Software Foundation,
-          Licensed under the
-          <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0.</a>
-          <br/>
-          {{ TRADEMARKS }} of <a href="https://www.apache.org/">The Apache Software Foundation.</a>
-        </div><!-- #container-fluid -->
-
-      </div>
-    </footer>
-    <!-- End footer -->
-
-    <!-- Start the loading of javascript frameworks (will need to upgrade periodically) -->
-    <script src="https://www.apachecon.com/event-images/snippet.js"></script>
-    <script
-      src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.slim.min.js"
-      integrity="sha512-6ORWJX/LrnSjBzwefdNUyLCMTIsGoNP6NftMy2UAm1JBm6PRZCO1d7OHBStWpVFZLO+RerTvqX/Z9mBFfCJZ4A=="
-      crossorigin="anonymous"></script>
-    <script
-      src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
-      integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
-      crossorigin="anonymous"></script>
-    <script
-      src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
-      integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
-      crossorigin="anonymous"></script>
-    <!-- End the loading of javascript frameworks -->
-
-    <!-- Source: {{ page.relative_source_path }}; Template: {{ page.default_template }}; Url: {{ page.url }} -->
-  </body>
-</html>
diff --git a/theme/apache/templates/styles.css b/theme/apache/templates/styles.css
deleted file mode 100644
index cd22c4e..0000000
--- a/theme/apache/templates/styles.css
+++ /dev/null
@@ -1,65 +0,0 @@
-html {
-  font-size: 18px;
-}
-body {
-  font-family: 'Montserrat', 'Source Sans Pro','Helvetica Neue', Helvetica, Arial, sans-serif;
-  font-weight: 300;
-  background-color: #fff;
-}
-.markdown-body {
-  box-sizing: border-box;
-  min-width: 200px;
-  max-width: 980px;
-  margin: 0 auto;
-  padding: 45px;
-}
-@media (max-width: 767px) {
-  .markdown-body {
-    padding: 15px;
-  }
-}
-.footer {
-  border-top: 1px solid black;
-  padding-top: 3px;
-}
-.right-align {
-  text-align: right;
-}
-.center-align {
-  text-align: center;
-}
-blockquote {
-  background: bisque;
-}
-.bg-primary {
-  background-color: #005bff!important;
-}
-a {
-  font-weight: 400;
-  color: #4643aa;
-#  color: #005bff;
-}
-#li {
-#  line-height: 2;
-#}
-.h1, h1 {
-  font-size: 1.5rem;
-}
-.h2, h2 {
-  font-size: 1.4rem;
-}
-.h3, h3 {
-  font-size: 1.3rem;
-}
-.h4, h4 {
-  font-size: 1.2rem;
-}
-.h5, h5 {
-  font-size: 1.1rem;
-}
-.headerlink {
-  visibility: hidden;
-}
-h1:hover > .headerlink, h2:hover > .headerlink, h3:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, h6:hover > .headerlink {
-  visibility: visible
-}
diff --git a/theme/plugins/README.md b/theme/plugins/README.md
deleted file mode 100644
index 9f8dd92..0000000
--- a/theme/plugins/README.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# Plugin Architecture
-
-The plugins used operate at various points in a pelican build.
-Pelican uses signals at various points. These are documented [here](https://docs.getpelican.com/en/latest/plugins.html#list-of-signals).
-At a high level consider the following sequence of events:
-
-1. Pelican Settings. Settings for a Pelican Build are in your [Pelican Configuration](../../pelicanconf.py)
-
-```python
-PLUGIN_PATHS = ['./theme/plugins']
-PLUGINS = ['asfgenid', 'asfdata', 'pelican-gfm', 'asfreader', 'sitemap']
-```
-
-2. Init (initialized). At this point any ASF_DATA is read into a metadata dictionary made available in every page.
-
-- The [asfdata plugin](./asfdata.py) reads an .asfdata.yaml file and creates the metadata dictionary.
-
-```python
-ASF_DATA_YAML = ".asfdata.yaml"
-ASF_DATA = {
-    'data': ASF_DATA_YAML,
-    'metadata': { },
-    'debug': True
-}
-```
-
-- The [asfgenid plugin](./asfgenid.py) configures its features.
-
-```python
-ASF_GENID = {
-    'metadata': True,
-    'elements': True,
-    'headings': True,
-    'permalinks': True,
-    'toc': True,
-    'toc_headers': r"h[1-6]",
-    'debug': False
-}
-```
-
-3. Readers (readers_init). Two important readers are set at this point. Readers are responsible for transforming page files to html and
-    providing a metadata dictionary
-    - GFMReader by the pelican-gfm plugin. This code is in a private repository - ask Infra. Transforms GitHub Flavored Markdown(GFM) to HTML.
-        * .md
-        * .markdown
-        * .mkd
-        * .mdown
-    - ASFReader by the [asfreader plugin](./asfreader.py). Transforms an [ezt template](https://github.com/gstein/ezt) into GFM and then to HTML.
-        * .ezmd
-4. Content Init (content_object_init). This is signaled after a Reader has processed content.
-    At this point plugins can review, record, and transform the html content.
-    - The [asfgenid plugin](./asfgenid.py) performs a number of steps. Some of the steps are optional.
-        * Metadata transformation by looking up {{ key_expression }} in the page metadata.
-        * Inventory of existing id attributes.
-        * Set id and class attributes specified by {#id} and {.class} syntax.
-        * Assign id to all headings without ids.
-        * Insert a Table of Contents if a [TOC] tag is present.
diff --git a/theme/plugins/asfdata.py b/theme/plugins/asfdata.py
deleted file mode 100644
index 89b48c2..0000000
--- a/theme/plugins/asfdata.py
+++ /dev/null
@@ -1,584 +0,0 @@
-#!/usr/bin/python -B
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-#
-# asfdata.py -- Pelican plugin that processes a yaml specification of data into a setting directory
-#
-
-import os.path
-import sys
-import random
-import json
-import traceback
-import operator
-import pprint
-
-import requests
-import yaml
-import ezt
-
-import xml.dom.minidom
-
-import pelican.plugins.signals
-import pelican.utils
-
-
-ASF_DATA = {
-    'metadata': { },
-    'debug': False,
-}
-
-# read the asfdata configuration in order to get data load and transformation instructions.
-def read_config(config_yaml):
-    with pelican.utils.pelican_open(config_yaml) as text:
-        config_data = yaml.safe_load(text)
-        pp = pprint.PrettyPrinter(indent=2)
-        pp.pprint(config_data)
-    return config_data
-
-
-# load yaml and json data sources.
-def load_data(path, content):
-    parts = path.split('/')
-    extension = os.path.splitext(parts[-1])[1]  # split off ext, keep ext
-    print(f'Loading {extension} from {path}')
-    if extension == '.json':
-        load = json.loads(content)
-    elif extension == '.yaml':
-        load = yaml.safe_load(content)
-    else:
-        load = { }
-    return load
-
-
-# load data source from a url.
-def url_data(url):
-    return load_data( url, requests.get(url).text )
-
-
-# load data source from a file.
-def file_data(rel_path):
-    return load_data( rel_path, open(rel_path,'r').read() )
-
-
-# remove parts of a data source we don't want ro access
-def remove_part(reference, part):
-    for refs in reference:
-        if refs == part:
-            del reference[part]
-            return
-        elif isinstance(reference[refs], dict):
-            remove_part(reference[refs], part)
-
-
-# trim out parts of a data source that don't match part = True
-def where_parts(reference, part):
-    # currently only works on True parts
-    # if we trim as we go we invalidate the iterator. Instead create a deletion list.
-    filtered = [ ]
-    # first find the list that needs to be trimmed.
-    for refs in reference:
-        if not reference[refs][part]:
-            filtered.append(refs)
-    # remove the parts to be trimmed.
-    for refs in filtered:
-        del reference[refs]
-
-
-# perform alphabetation. HTTP Server is special and is put before 'A'
-def alpha_part(reference, part):
-    for refs in reference:
-        name = reference[refs][part]
-        if name == 'HTTP Server':
-            # when sorting by letter HTTPD Server is wanted first
-            letter = ' '
-        else:
-            letter = name[0].upper()
-        reference[refs]['letter'] = letter
-
-
-# rotate a roster list singleton into an name and availid 
-def asfid_part(reference, part):
-    for refs in reference:
-        fix = reference[refs][part]
-        for k in fix:
-            availid = k
-            name = fix[k]['name']
-        reference[refs][part] = name
-        reference[refs]['availid'] = availid
-
-
-# add logo attribute with HEAD check for existence. If nonexistent use default.
-def add_logo(reference, part):
-    # split between logo pattern and default.
-    parts = part.split(',')
-    for item in reference:
-        # the logo pattern includes a place to insert the project/podling key
-        logo = (parts[0].format(item.key_id))
-        # HEAD request
-        response = requests.head('https://www.apache.org/' + logo)
-        if response.status_code != 200:
-            # logo not found - use the default logo
-            logo = parts[1]
-        # save the logo path as an attribute
-        setattr(item, 'logo', logo)
-    return reference
-
-
-# convert a dictionary into a sequence (list)
-def sequence_dict(seq, reference):
-    sequence = [ ]
-    for refs in reference:
-        # converting dicts into objects with attrributes. Ignore non-dict content.
-        if isinstance(reference[refs], dict):
-            # put the key of the dict  into the dictionary
-            reference[refs]['key_id'] = refs
-            for item in reference[refs]:
-                if isinstance(reference[refs][item], bool):
-                    # fixup any boolean values to be ezt.boolean - essentially True -> "yes"
-                    reference[refs][item] = ezt.boolean(reference[refs][item])
-            # convert the dict into an object with attributes and append to the sequence
-            sequence.append(type(seq, (), reference[refs]))
-    return sequence
-
-
-# convert a list into a sequence. convert dictionaries items into objects.
-def sequence_list(seq, reference):
-    sequence = [ ]
-    for refs in reference:
-        # only convert dicts into objects
-        if isinstance(refs, dict):
-            for item in refs:
-                if isinstance(refs[item], bool):
-                    # fixup any boolean values to be ezt.boolean - essentially True -> "yes"
-                    refs[item] = ezt.boolean(refs[item])
-                elif isinstance(refs[item], list):
-                    # recursively convert sub-lists
-                    refs[item] = sequence_list(item, refs[item])
-            # convert the dict into an object with attributes and append to the sequence
-            sequence.append(type(f'{seq}', (), refs))
-    return sequence
-
-
-# split a list into equal sized columns. Adds letter breaks in the alphabetical sequence.
-def split_list(metadata, seq, reference, split):
-    # copy sequence
-    sequence = list(reference)
-    # sort the copy
-    sequence.sort(key=lambda x: (x.letter, x.display_name))
-    # size of list
-    size = len(sequence)
-    # size of columns
-    percol = int((size+26+split-1)/split)
-    # positions
-    start = nseq = nrow = 0
-    letter = ' '
-    # create each column
-    for column in range(split):
-        subsequence = [ ]
-        end = min(size+26, start+percol)
-        while nrow < end:
-            if letter < sequence[nseq].letter:
-                # new letter - add a letter break into the column. If a letter has no content it is skipped
-                letter = sequence[nseq].letter
-                subsequence.append(type(seq, (), { 'letter': letter, 'display_name': letter }))
-            else:
-                # add the project into the sequence
-                subsequence.append(sequence[nseq])
-                nseq = nseq+1
-            nrow = nrow+1
-        # save the column sequence in the metadata
-        metadata[f'{seq}_{column}'] = subsequence
-        start = end
-    if nseq < size:
-        print(f'WARNING: {seq} not all of sequence consumed: short {size-nseq} projects')
-
-
-# process sequencing transformations to the data source
-def process_sequence(metadata, seq, sequence, load, debug):
-    reference = load
-    # has been converted to a sequence
-    is_sequence = False
-    # has been converted to a dictionary - won't be made into a sequence
-    is_dictionary = False
-    # save metadata at the end
-    save_metadata = True
-
-    # description
-    if 'description' in sequence:
-        print(f'{seq}: {sequence["description"]}')
-
-    # select sub dictionary
-    if 'path' in sequence:
-        print(f'path: {sequence["path"]}')
-        parts = sequence['path'].split('.')
-        for part in parts:
-            reference = reference[part]
-
-    # filter dictionary by attribute value. if filter is false discard
-    if 'where' in sequence:
-        print(f'where: {sequence["where"]}')
-        where_parts(reference, sequence['where'])
-
-    # remove irrelevant keys
-    if 'trim' in sequence:
-        print(f'trim: {sequence["trim"]}')
-        parts = sequence['trim'].split(',')
-        for part in parts:
-            remove_part(reference, part)
-
-    # transform roster and chair patterns
-    if 'asfid' in sequence:
-        print(f'asfid: {sequence["asfid"]}')
-        asfid_part(reference, sequence['asfid'])
-
-    # add first letter ofr alphabetic categories
-    if 'alpha' in sequence:
-        print(f'alpha: {sequence["alpha"]}')
-        alpha_part(reference, sequence['alpha'])
-
-    # this dictionary is derived from sub-dictionaries
-    if 'dictionary' in sequence:
-        print(f'dictionary: {sequence["dictionary"]}')
-        reference = { }
-        paths = sequence['dictionary'].split(',')
-        # create a dictionary from the keys in one or more sub-dictionaries
-        for path in paths:
-            for key in load[path]:
-                reference[key] = load[path][key]
-        # dictionary result, do not sequence
-        is_dictionary = True
-
-    # this sequence is derived from another sequence
-    if 'sequence' in sequence:
-        print(f'sequence: {sequence["sequence"]}')
-        reference = metadata[sequence['sequence']]
-        # sequences derived from prior sequences do not need to be converted to a sequence
-        is_sequence = True
-
-    # this sequence is a random sample of another sequence
-    if 'random' in sequence:
-        print(f'random: {sequence["random"]}')
-        if is_sequence:
-            reference = random.sample(reference, sequence['random'])
-        else:
-            print(f'{seq} - random requires an existing sequence to sample')
-
-    # for a project or podling see if the logo exists w/HEAD and set the relative path.
-    if 'logo' in sequence:
-        print(f'logo: {sequence["logo"]}')
-        if is_sequence:
-            # determine the project or podling logo
-            reference = add_logo(reference, sequence['logo'])
-            if seq == 'featured_pods':
-                # for podlings strip "Apache" from the beginning and "(incubating)" from the end.
-                # this is Sally's request
-                for item in reference:
-                    setattr(item, 'name', ' '.join(item.name.split(' ')[1:-1]))
-        else:
-            print(f'{seq} - logo requires an existing sequence')
-
-    # this sequence is a sorted list divided into multiple columns
-    if 'split' in sequence:
-        print(f'split: {sequence["split"]}')
-        if is_sequence:
-            # create a sequence for each column
-            split_list(metadata, seq, reference, sequence['split'])
-            # created column sequences are already saved to metadata so do not do so later
-            save_metadata = False
-        else:
-            print(f'{seq} - split requires an existing sequence to split')
-
-    # if this not already a sequence or dictionary then convert to a sequence
-    if not is_sequence and not is_dictionary:
-        # convert the dictionary/list to a sequence of objects
-        print(f'{seq}: create sequence')
-        if isinstance(reference, dict):
-            reference = sequence_dict(seq, reference)
-        elif isinstance(reference, list):
-            reference = sequence_list(seq, reference)
-        else:
-            print(f'{seq}: cannot proceed invalid type, must be dict or list')
-
-    # save sequence in metadata
-    if save_metadata:
-        metadata[seq] = reference
-
-
-# create metadata sequences and dictionaries from a data load
-def process_load(metadata, value, load, debug):
-    for seq in value:
-        if seq not in ('url', 'file'):
-            # one or more sequences
-            sequence = value[seq]
-            process_sequence(metadata, seq, sequence, load, debug)
-
-
-# get xml text node
-def get_node_text(nodelist):
-    """http://www.python.org/doc/2.5.2/lib/minidom-example.txt"""
-    rc = ''
-    for node in nodelist:
-        if node.nodeType == node.TEXT_NODE:
-            rc = rc + node.data
-    return rc
-
-
-# get xml element's text nodes.
-def get_element_text(entry, child):
-    elements = entry.getElementsByTagName(child)
-    return get_node_text(elements[0].childNodes)
-
-
-# retrieve blog posts from an Atom feed.
-def process_blog(feed, count, debug):
-    print(f'blog feed: {feed}')
-    content = requests.get(feed).text
-    dom = xml.dom.minidom.parseString(content)
-    # dive into the dom to get 'entry' elements
-    entries = dom.getElementsByTagName('entry')
-    # we only want count many from the beginning
-    entries = entries[:count]
-    v = [ ]
-    for entry in entries:
-        if debug:
-            print(entry.tagName)
-        # we only want the title and href
-        v.append(
-            {
-                'id': get_element_text(entry, 'id'),
-                'title': get_element_text(entry, 'title'),
-            }
-        )
-    if debug:
-        for s in v:
-            print(s)
-
-    return [ Blog(href=s['id'],
-                  title=s['title'])
-             for s in v ]
-
-
-# to be updated from hidden location. (Need to discuss local.)
-def twitter_auth():
-    authtokens = os.path.join(os.path.expanduser('~'), '.authtokens')
-    try:
-        for line in open(authtokens).readlines():
-            if line.startswith('twitter:'):
-                token = line.strip().split(':')[1] 
-                # do not print or display token as it is a secret
-                return token
-    except:
-        traceback.print_exc()
-    return None
-
-
-# retrieve from twitter
-def connect_to_endpoint(url, headers):
-    response = requests.request('GET', url, headers=headers)
-    if response.status_code != 200:
-        raise Exception(response.status_code, response.text)
-    return response.json()
-
-
-# retrieve the last count recent tweets from the handle.
-def process_twitter(handle, count):
-    print(f'-----\ntwitter feed: {handle}')
-    bearer_token = twitter_auth()
-    if not bearer_token:
-        return {
-            'text': 'Add twitter bearer token to ~/.authtokens'
-            }
-    # do not print or display bearer_token as it is a secret
-    query = f'from:{handle}'
-    tweet_fields = 'tweet.fields=author_id'
-    url = f'https://api.twitter.com/2/tweets/search/recent?query={query}&{tweet_fields}'
-    headers = {'Authorization': f'Bearer {bearer_token}'}
-    load = connect_to_endpoint(url, headers)
-    reference = sequence_list('twitter', load['data'])
-    if load['meta']['result_count'] < count:
-        v = reference
-    else:
-        v = reference[:count]
-    return v
-
-
-# create sequence of sequences of ASF ECCN data.
-def process_eccn(fname):
-    print('-----\nECCN:', fname)
-    j = yaml.safe_load(open(fname))
-
-    # versions have zero or more controlled sources
-    def make_sources(sources):
-        return [ Source(href=s['href'],
-                        manufacturer=s['manufacturer'],
-                        why=s['why'])
-                 for s in sources ]
-
-    # products have one or more versions
-    def make_versions(vsns):
-        return [ Version(version=v['version'],
-                         eccn=v['eccn'],
-                         source=make_sources(v.get('source', [ ])),
-                         )
-                 for v in sorted(vsns,
-                                 key=operator.itemgetter('version')) ]
-
-    # projects have one or more products
-    def make_products(prods):
-        return [ Product(name=p['name'],
-                         versions=make_versions(p['versions']),
-                         )
-                 for p in sorted(prods,
-                                 key=operator.itemgetter('name')) ]
-
-    # eccn matrix has one or more projects
-    return [ Project(name=proj['name'],
-                     href=proj['href'],
-                     contact=proj['contact'],
-                     product=make_products(proj['product']))
-             for proj in sorted(j['eccnmatrix'],
-                                key=operator.itemgetter('name')) ]
-
-
-# object wrappers
-class wrapper:
-    def __init__(self, **kw):
-        vars(self).update(kw)
-
-# Improve the names when failures occur.
-class Source(wrapper): pass
-class Version(wrapper): pass
-class Product(wrapper): pass
-class Project(wrapper): pass
-class Blog(wrapper): pass
-
-
-# create metadata according to instructions.
-def config_read_data(pel_ob):
-    print('-----\nasfdata')
-
-    asf_data = pel_ob.settings.get('ASF_DATA')
-
-    if not asf_data:
-        print('This Pelican installation is not using ASF_DATA')
-        return
-
-    for key in asf_data:
-        print(f'config: [{key}] = {asf_data[key]}')
-
-    debug = asf_data['debug']
-    
-    # This must be present in ASF_DATA. It contains data for use
-    # by our plugins, and possibly where we load/inject data from
-    # other sources.
-    metadata = asf_data['metadata']
-
-    # Lift data from ASF_DATA['data'] into METADATA
-    if 'data' in asf_data:
-        print(f'Processing {asf_data["data"]}')
-        config_data = read_config(asf_data['data'])
-        for key in config_data:
-            # first check for data that is a singleton with special handling
-            if key == 'eccn':
-                # process eccn data
-                fname = config_data[key]['file']
-                metadata[key] = v = process_eccn(fname)
-                if debug:
-                    print('ECCN V:', v)
-                continue
-
-            if key == 'twitter':
-                # process twitter data
-                # if we decide to have multiple twitter feeds available then move next to blog below
-                handle = config_data[key]['handle']
-                count = config_data[key]['count']
-                metadata[key] = v = process_twitter(handle, count)
-                if debug:
-                    print('TWITTER V:', v)
-                continue
-
-            value = config_data[key]
-            if isinstance(value, dict):
-                # dictionaries may have multiple data structures that are processed with a sequence of actions
-                # into multiple sequences and dictionaries.
-                print(f'-----\n{key} creates one or more sequences')
-                if debug:
-                    print(value)
-                # special cases that are multiple are processed first
-                if 'blog' in value:
-                    # process blog feed
-                    feed = config_data[key]['blog']
-                    count = config_data[key]['count']
-                    metadata[key] = v = process_blog(feed, count, debug)
-                    if debug:
-                        print('BLOG V:', v)
-                    continue
-
-                elif 'url' in value:
-                    # process a url based data source
-                    load = url_data(value['url'])
-                    process_load(metadata, value, load, debug)
-
-                elif 'file' in value:
-                    # process a file from within the site tree
-                    load = file_data(value['file'])
-                    process_load(metadata, value, load, debug)
-
-                else:
-                    # should probably be an error but doesn't matter
-                    metadata[key] = value
-            else:
-                # simple metadata values - either an int or str
-                print(f'{key} = {value}')
-                metadata[key] = value
-
-    # display asfdata metadata or metadata type
-    print('-----')
-    for key in metadata:
-        if debug:
-            print(f'metadata[{key}] =')
-            print(metadata[key])
-            print('-----')
-        elif isinstance(metadata[key], str):
-            print(f'metadata[{key}] = "{metadata[key]}"')
-        elif isinstance(metadata[key], int):
-            print(f'metadata[{key}] = {metadata[key]}')
-        elif isinstance(metadata[key], list):
-            print(f'metadata[{key}] is a sequence.')
-        elif isinstance(metadata[key], dict):
-            print(f'metadata[{key}] is a dictionary.')
-        else:
-            keytype = type(metadata[key])
-            print(f'metadata[{key}] is a {keytype}')
-
-
-def tb_initialized(pel_ob):
-    """ Print any exception, before Pelican chews it into nothingness."""
-    try:
-        config_read_data(pel_ob)
-    except:
-        print('-----', file=sys.stderr)
-        traceback.print_exc()
-        # exceptions here stop the build
-        raise
-
-
-def register():
-    # Hook the "initialized" signal, to load our custom data.
-    pelican.plugins.signals.initialized.connect(tb_initialized)
diff --git a/theme/plugins/asfgenid.py b/theme/plugins/asfgenid.py
deleted file mode 100644
index f0ff875..0000000
--- a/theme/plugins/asfgenid.py
+++ /dev/null
@@ -1,384 +0,0 @@
-'''
-asfgenid
-===================================
-Generates HeadingIDs, ElementID, and PermaLinks
-First find all specified IDs and classes. Assure unique ID and permalink
-Next find all headings missing IDs. Assure unique ID and permalink
-Generates a Table of Content
-'''
-
-# from __future__ import unicode_literals
-
-import sys
-import traceback
-import re
-import unicodedata
-
-from bs4 import BeautifulSoup, Comment
-
-import pelican.contents
-import pelican.plugins.signals
-
-'''
-Based on
-https://github.com/waylan/Python-Markdown/blob/master/markdown/extensions/headerid.py
-Which is BSD licensed, but is very much rewritten.
-'''
-
-ASF_GENID = {
-    'metadata': True,          # {{ metadata }} inclusion of data in the html.
-    'elements': True,	       # {#id} and {.class} annotations.
-    'headings': True,	       # add slugified id to headings missing id. Can be overridden by page metadata.
-    'headings_re': r'^h[1-6]', # regex for which headings to check.
-    'permalinks': True,	       # add permalinks to elements and headings when id is added.
-    'toc': True,  	       # check for [TOC] and add Table of Content if present.
-    'toc_headers': r'h[1-6]',  # regex for which headings to include in the [TOC]
-    'tables': True,	       # add class="table" for tables missing class.
-    'debug': False
-}
-
-# Fixup tuples for HTML that GFM makes into text.
-FIXUP_UNSAFE = [
-    (re.compile(r'&lt;script'),'<script'),
-    (re.compile(r'&lt;/script'),'</script'),
-    (re.compile(r'&lt;style'),'<style'),
-    (re.compile(r'&lt;/style'),'</style'),
-    (re.compile(r'&lt;iframe'),'<iframe'),
-    (re.compile(r'&lt;/iframe'),'</iframe')
-]
-
-# Find {{ metadata }} inclusions
-METADATA_RE = re.compile(r'{{\s*(?P<meta>[-_:a-zA-Z0-9]+)\s*}}')
-
-# Find {#id} or {.class} elementid annotations
-ELEMENTID_RE = re.compile(r'(?:[ \t]*[{\[][ \t]*(?P<type>[#.])(?P<id>[-._:a-zA-Z0-9 ]+)[}\]])(\n|$)')
-
-# ID duplicates match
-IDCOUNT_RE = re.compile(r'^(.*)_([0-9]+)$')
-
-# For permalinks
-LINK_CHAR = '¶'
-
-# strip permalink chars from headings for ToC
-PARA_MAP = {
-    ord(LINK_CHAR): None
-}
-
-# Find table tags - to check for ones without class attribute.
-TABLE_RE = re.compile(r'^table')
-
-# An item in a Table of Contents - from toc.py
-class HtmlTreeNode(object):
-    def __init__(self, parent, header, level, id):
-        self.children = []
-        self.parent = parent
-        self.header = header
-        self.level = level
-        self.id = id
-
-    def add(self, new_header):
-        new_level = new_header.name
-        new_string = new_header.string
-        new_id = new_header.attrs.get('id')
-
-        if not new_string:
-            new_string = new_header.find_all(
-                text=lambda t: not isinstance(t, Comment),
-                recursive=True)
-            new_string = ''.join(new_string)
-        new_string = new_string.translate(PARA_MAP)
-
-        if self.level < new_level:
-            new_node = HtmlTreeNode(self, new_string, new_level, new_id)
-            self.children += [new_node]
-            return new_node, new_header
-        elif self.level == new_level:
-            new_node = HtmlTreeNode(self.parent, new_string, new_level, new_id)
-            self.parent.children += [new_node]
-            return new_node, new_header
-        elif self.level > new_level:
-            return self.parent.add(new_header)
-
-    def __str__(self):
-        ret = ''
-        if self.parent:
-            ret = "<a class='toc-href' href='#{0}' title='{1}'>{1}</a>".format(
-                self.id, self.header)
-
-        if self.children:
-            ret += "<ul>{}</ul>".format('{}' * len(self.children)).format(
-                *self.children)
-
-        if self.parent:
-            ret = "<li>{}</li>".format(ret)
-
-        if not self.parent:
-            ret = "<div id='toc'>{}</div>".format(ret)
-
-        return ret
-
-
-# assure configuration
-def init_default_config(pelican):
-    from pelican.settings import DEFAULT_CONFIG
-
-    DEFAULT_CONFIG.setdefault('ASF_GENID', ASF_GENID)
-    if(pelican):
-        pelican.settings.setdefault('ASF_GENID', ASF_GENID)
-
-
-# from Apache CMS markdown/extensions/headerid.py - slugify in the same way as the Apache CMS
-def slugify(value, separator):
-    """ Slugify a string, to make it URL friendly. """
-    value = unicodedata.normalize('NFKD', value).encode('ascii', 'ignore')
-    value = re.sub('[^\\w\\s-]', '', value.decode('ascii')).strip().lower()
-    return re.sub('[%s\\s]+' % separator, separator, value)
-
-
-# Ensure an id is unique in a set of ids. Append '_1', '_2'... if not
-def unique(id, ids):
-    while id in ids or not id:
-        m = IDCOUNT_RE.match(id)
-        print(f'id="{id}" is a duplicate')
-        if m:
-            id = '%s_%d' % (m.group(1), int(m.group(2)) + 1)
-        else:
-            id = '%s_%d' % (id, 1)
-    ids.add(id)
-    return id
-
-
-# append a permalink
-def permalink(soup, mod_element):
-    new_tag = soup.new_tag('a', href='#' + mod_element['id'])
-    new_tag['class'] = 'headerlink'
-    new_tag['title'] = 'Permalink'
-    new_tag.string = LINK_CHAR
-    mod_element.append(new_tag)
-
-
-# fixup cmark content - note that this may be too hungry. It may need to occur later and skipped in codeblock and pre tags.
-def fixup_content(content):
-    text = content._content
-    modified = False
-    # Find messed up html
-    for regex, replace in FIXUP_UNSAFE:
-        m = regex.search(text)
-        if m:
-            modified = True
-            text = re.sub(regex, replace, text)
-    if modified:
-        content._content = text
-
-
-# expand metadata found in {{ key }}
-def expand_metadata(tag, metadata):
-    this_string = str(tag.string)
-    m = 1
-    modified = False
-    while m:
-        m = METADATA_RE.search(this_string)
-        if m:
-            this_data = m.group(1).strip()
-            format_string = '{{{0}}}'.format(this_data)
-            try:
-                new_string = format_string.format(**metadata)
-                print(f'{{{{{m.group(1)}}}}} -> {new_string}')
-            except Exception:
-                # the data expression was not found
-                print(f'{{{{{m.group(1)}}}}} is not found')
-                new_string = format_string
-            # replace the first pattern with the new_string
-            this_string = re.sub(METADATA_RE, new_string, this_string, count=1)
-            modified = True
-    if modified:
-        tag.string.replace_with(this_string)
-
-
-# do elementid transformation for {#id} and {.class} attribute annotations.
-def elementid_transform(ids, soup, tag, permalinks, perma_set, debug):
-    tagnav = tag.parent
-    this_string = str(tag.string)
-    if debug:
-        print(f'name = {tagnav.name}, string = {this_string}')
-    if tagnav.name not in ['[document]', 'code', 'pre']:
-        m = ELEMENTID_RE.search(tag.string)
-        if m:
-            # this replacement could be better it truncates and likely drops additional annotations
-            tag.string.replace_with(this_string[:m.start()])
-            if m.group('type') == '#':
-                # id attribute annotation
-                tagnav['id'] = unique(m.group('id'), ids)
-                if permalinks:
-                    permalink(soup, tagnav)
-                    unique(tagnav['id'], perma_set)
-                if debug:
-                    print(f'# insertion {tagnav}')
-            else:
-                # class attribute annotation (regex only recognizes the two types)
-                tagnav['class'] = m.group('id')
-                if debug:
-                    print(f'Class {tag.name} : {tagnav["class"]}')
-
-
-# generate id for a heading
-def headingid_transform(ids, soup, tag, permalinks, perma_set):
-    new_string = tag.string
-    if not new_string:
-        # roll up strings if no immediate string
-        new_string = tag.find_all(
-            text=lambda t: not isinstance(t, Comment),
-            recursive=True)
-        new_string = ''.join(new_string)
-
-    # don't have an id create it from text
-    new_id = slugify(new_string, '-')
-    tag['id'] = unique(new_id, ids)
-    if permalinks:
-        permalink(soup, tag)
-        # inform if there is a duplicate permalink
-        unique(tag['id'], perma_set)
-
-
-# generate table of contents from headings after [TOC] content
-def generate_toc(content, tags, title, toc_headers):
-    settoc = False
-    tree = node = HtmlTreeNode(None, title, 'h0', '')
-    # find the last [TOC]
-    taglast = tags[0]
-    for tag in tags:
-        taglast = tag
-    # find all headings after the final [TOC]
-    heading_re = re.compile(toc_headers)
-    for header in taglast.findAllNext(heading_re):
-        # we have heading content for the ToC
-        settoc = True
-        # add the heading.
-        node, _new_header = node.add(header)
-    # convert the ToC to Beautiful Soup
-    tree_soup = ''
-    if settoc:
-        print('  ToC')
-        # convert the HtmlTreeNode into Beautiful Soup
-        tree_string = '{}'.format(tree)
-        tree_soup = BeautifulSoup(tree_string, 'html.parser')
-        # Make the ToC availble to the theme's template
-        content.toc = tree_soup.decode(formatter='html')
-    # replace the first [TOC] with the generated table of contents
-    for tag in tags:
-        tag.replaceWith(tree_soup)
-        # replace additional [TOC] with nothing
-        tree_soup = ''
-
-
-# add the asfdata metadata into GFM content.
-def add_data(content):
-    """ Mix in ASF data as metadata """
-
-    # if the reader is 'asf' then the asf metadata is already in place during asfreader plugin.
-    if content.metadata.get('reader') != 'asf':
-        asf_metadata = content.settings.get('ASF_DATA', { }).get('metadata')
-        if asf_metadata:
-            content.metadata.update(asf_metadata)
-
-
-# main worker transforming the html
-def generate_id(content):
-    if isinstance(content, pelican.contents.Static):
-        return
-
-    # track the id tags
-    ids = set()
-    # track permalinks
-    permalinks = set()
-    
-    # step 1 - fixup html that cmark marks unsafe - move to later?
-    fixup_content(content)
-
-    # step 2 - prepare for genid processes
-    # parse html content into BeautifulSoup4
-    soup = BeautifulSoup(content._content, 'html.parser')
-    # page title
-    title = content.metadata.get('title', 'Title')
-    # assure relative source path is in the metadata
-    content.metadata['relative_source_path'] = content.relative_source_path
-    # display output path and title
-    print(f'{content.relative_source_path} - {title}')
-    # enhance metadata if done by asfreader
-    add_data(content)
-    # get plugin settings
-    asf_genid = content.settings['ASF_GENID']
-    # asf_headings setting may be overridden
-    asf_headings = content.metadata.get('asf_headings', str(asf_genid['headings']))
-    # show active plugins
-    if asf_genid['debug']:
-        print('asfgenid:\nshow plugins in case one is processing before this one')
-        for name in content.settings['PLUGINS']:
-            print(f'plugin: {name}')
-
-    # step 3 - metadata expansion
-    if asf_genid['metadata']:
-        if asf_genid['debug']:
-            print(f'metadata expansion: {content.relative_source_path}')
-        for tag in soup.findAll(string=METADATA_RE):
-            expand_metadata(tag, content.metadata)
-
-    # step 4 - find all id attributes already present
-    for tag in soup.findAll(id=True):
-        unique(tag['id'], ids)
-        # don't change existing ids
-
-    # step 5 - find all {#id} and {.class} text and assign attributes
-    if asf_genid['elements']:
-        if asf_genid['debug']:
-            print(f'elementid: {content.relative_source_path}')
-        for tag in soup.findAll(string=ELEMENTID_RE):
-            elementid_transform(ids, soup, tag, asf_genid['permalinks'], permalinks, asf_genid['debug'])
-
-    # step 6 - find all headings w/o ids already present or assigned with {#id} text
-    if asf_headings == 'True':
-        if asf_genid['debug']:
-            print(f'headings: {content.relative_source_path}')
-        # Find heading tags
-        HEADING_RE = re.compile(asf_genid['headings_re'])
-        for tag in soup.findAll(HEADING_RE, id=False):
-            headingid_transform(ids, soup, tag, asf_genid['permalinks'], permalinks)
-
-    # step 7 - find all tables without class
-    if asf_genid['tables']:
-        if asf_genid['debug']:
-            print(f'tables: {content.relative_source_path}')
-        for tag in soup.findAll(TABLE_RE, _class=False):
-            tag['class'] = 'table'
-
-    # step 8 - find TOC tag and generate Table of Contents
-    if asf_genid['toc']:
-        tags = soup('p', text='[TOC]')
-        if tags:
-            generate_toc(content, tags, title, asf_genid['toc_headers'])
-
-    # step 9 - reset the html content
-    content._content = soup.decode(formatter='html')
-
-    # step 10 - output all of the permalinks created
-    for tag in permalinks:
-        print(f'    #{tag}')
-
-
-def tb_connect(pel_ob):
-    """Print any exception, before Pelican chews it into nothingness."""
-    try:
-        generate_id(pel_ob)
-    except:
-        print('-----', file=sys.stderr)
-        print('FATAL: %s' % (pel_ob.relative_source_path), file=sys.stderr)
-        traceback.print_exc()
-        # if we have errors in this module then we want to quit to avoid erasing the site
-        sys.exit(4)
-
-
-def register():
-    pelican.plugins.signals.initialized.connect(init_default_config)
-
-
-pelican.plugins.signals.content_object_init.connect(tb_connect)
diff --git a/theme/plugins/asfreader.py b/theme/plugins/asfreader.py
deleted file mode 100644
index 750a2cc..0000000
--- a/theme/plugins/asfreader.py
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/bin/python -B
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-#
-# asfreader.py -- Pelican plugin that processes ezt template Markdown through ezt and  then GitHub Flavored Markdown.
-#
-
-import sys
-import io
-import os
-import traceback
-
-import re
-import ezt
-
-import pelican.plugins.signals
-import pelican.readers
-import pelican.settings
-
-GFMReader = sys.modules['pelican-gfm.gfm'].GFMReader
-
-METADATA_RE = re.compile(r'\[{\s*(?P<meta>[-._:a-zA-Z0-9\[\]]+)\s*}\]')
-
-class ASFTemplateReader(ezt.Reader):
-    """Enables inserts relative to the template we loaded."""
-
-    def __init__(self, source_path, text):
-        self.source_dir, self.fname = os.path.split(source_path)
-        self.text = text
-
-    def read_other(self, relative):
-        return ezt._FileReader(os.path.join(self.source_dir, relative))
-
-    def filename(self):
-        return self.fname
-
-
-class ASFReader(GFMReader):
-    """GFM-flavored Reader for the Pelican system that adds ASF data and ezt
-    generation prior to processing the GFM
-    """
-
-    def add_data(self, text, metadata):
-        "Mix in ASF data as metadata"
-
-        asf_metadata = self.settings.get('ASF_DATA', { }).get('metadata')
-        if asf_metadata:
-            metadata.update(asf_metadata)
-            # insert any direct references
-            m = 1
-            while m:
-                m = METADATA_RE.search(text)
-                if m:
-                    this_data = m.group(1).strip()
-                    format_string = '{{{0}}}'.format(this_data)
-                    try:
-                        new_string = format_string.format(**metadata)
-                        print(f'{{{{{m.group(1)}}}}} -> {new_string}')
-                    except Exception:
-                        # the data expression was not found
-                        new_string = format_string
-                        print(f'{{{{{m.group(1)}}}}} is not found')
-                    text = re.sub(METADATA_RE, new_string, text, count=1)
-        return text, metadata
-
-
-    def read(self, source_path):
-        "Read metadata and content, process content as ezt template, then render into HTML."
-        try:
-            # read content with embedded ezt - use GFMReader
-            text, metadata = super().read_source(source_path)
-            assert text
-            assert metadata
-            # supplement metadata with ASFData if available
-            text, metadata = self.add_data(text, metadata)
-            # prepare text as an ezt template
-            # compress_whitespace=0 is required as blank lines and indentation have meaning in markdown.
-            template = ezt.Template(compress_whitespace=0)
-            reader = ASFTemplateReader(source_path, text)
-            template.parse(reader, base_format=ezt.FORMAT_HTML)
-            assert template
-            # generate content from ezt template with metadata
-            fp = io.StringIO()
-            template.generate(fp, metadata)
-            # Render the markdown into HTML
-            content = super().render(fp.getvalue().encode('utf-8')).decode('utf-8')
-            assert content
-        except:
-            print('-----', file=sys.stderr)
-            print('ERROR: %s' % (source_path), file=sys.stderr)
-            traceback.print_exc()
-            raise
-
-        return content, metadata
-
-
-# The following are required or ezmd files are not read instead they are static.
-# For direct subclasses of BaseReader like GFMReader the following two
-# callables are optional if the class includes enabled=True and file_extenaions.
-def add_readers(readers):
-    readers.reader_classes['ezmd'] = ASFReader
-
-
-def register():
-    pelican.plugins.signals.readers_init.connect(add_readers)
diff --git a/tools/convert2md.sh b/tools/convert2md.sh
index 22591ed..3025824 100755
--- a/tools/convert2md.sh
+++ b/tools/convert2md.sh
@@ -29,5 +29,5 @@
 # convert .mdtext to .md by unconditionally dropping last 4 chars
 MDPATH=${1:0:${#1}-4}
 echo "Convert "${1}" to "${MDPATH}
-awk -f tools/convert2md.awk ${1} > ${MDPATH}
+awk -f ../../tools/convert2md.awk ${1} > ${MDPATH}
 
diff --git a/tools/diff2md.sh b/tools/diff2md.sh
new file mode 100755
index 0000000..34bb5ca
--- /dev/null
+++ b/tools/diff2md.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# tools/convert2md.sh ${1}
+# ${1} Path of mdtext file to convert to md file
+
+if test "$#" != 1; then
+  echo "USAGE: $0 Type Path"
+  exit 1
+fi
+
+# convert .mdtext to .md by unconditionally dropping last 4 chars
+MDPATH=${1:0:${#1}-4}
+echo "Diff "${1}" to "${MDPATH}
+diff ${1} ${MDPATH}
+
diff --git a/tools/diff2md2.sh b/tools/diff2md2.sh
new file mode 100755
index 0000000..19b0eed
--- /dev/null
+++ b/tools/diff2md2.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# tools/convert2md.sh ${1}
+# ${1} Path of mdtext file to convert to md file
+
+if test "$#" != 2; then
+  echo "USAGE: $0 md-rel-path cms-dir"
+  exit 1
+fi
+
+# convert .mdtext to .md by unconditionally dropping last 4 chars
+echo "==== "${1}
+diff -w ${2}/${1} ${1}
+
diff --git a/tools/diff2md3.sh b/tools/diff2md3.sh
new file mode 100755
index 0000000..9fe82ee
--- /dev/null
+++ b/tools/diff2md3.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# tools/convert2md.sh ${1}
+# ${1} Path of mdtext file to convert to md file
+
+if test "$#" != 2; then
+  echo "USAGE: $0 md-rel-path cms-dir"
+  exit 1
+fi
+
+# convert .mdtext to .md by unconditionally dropping last 4 chars
+echo "==== "${1}
+CMSPAGE=${1:0:${#1}-2}cmsPage
+diff -w ${2}/${CMSPAGE} ${1}
+
diff --git a/tools/diff2mdtext.sh b/tools/diff2mdtext.sh
new file mode 100755
index 0000000..c347b24
--- /dev/null
+++ b/tools/diff2mdtext.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# tools/convert2md.sh ${1}
+# ${1} Path of mdtext file to convert to md file
+
+if test "$#" != 2; then
+  echo "USAGE: $0 md-rel-path cms-dir"
+  exit 1
+fi
+
+# convert .mdtext to .md by unconditionally dropping last 4 chars
+echo "==== "${1}
+diff -w ${2}/${1}text ${1}
+
diff --git a/tools/mv2md.sh b/tools/mv2md.sh
new file mode 100755
index 0000000..eee2af6
--- /dev/null
+++ b/tools/mv2md.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# tools/convert2md.sh ${1}
+# ${1} Path of mdtext file to convert to md file
+
+if test "$#" != 1; then
+  echo "USAGE: $0 Type Path"
+  exit 1
+fi
+
+# convert .mdtext to .md by unconditionally dropping last 4 chars
+MDPATH=${1:0:${#1}-4}
+echo "Rename "${1}" to "${MDPATH}
+mv ${1} ${MDPATH}
+
diff --git a/tools/sync-plugin.sh b/tools/sync-plugin.sh
new file mode 100755
index 0000000..a5ee30a
--- /dev/null
+++ b/tools/sync-plugin.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+find . -name "*-site" -type d -exec cp ../petri/template-site/theme/plugins/${1} {}/theme/plugins/. \;
+
+
diff --git a/tools/what-plugin.sh b/tools/what-plugin.sh
new file mode 100755
index 0000000..4a4d9b5
--- /dev/null
+++ b/tools/what-plugin.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+find . -name "plugins" -type d -print -exec ls -la {} \;
+
