{
  "resourceType" : "Library",
  "id" : "IMMZD2DTPneumococcalElements",
  "meta" : {
    "profile" : ["http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary",
    "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary",
    "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library",
    "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"]
  },
  "text" : {
    "status" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n    <table class=\"grid dict\">\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Title: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZD2DTPneumococcalElements</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZD2DTPneumococcalElements</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">0.2.0</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Url: </b></th>\n            <td style=\"padding-left: 4px;\"><a href=\"Library-IMMZD2DTPneumococcalElements.html\">IMMZD2DTPneumococcalElements</a></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Status: </b></th>\n            <td style=\"padding-left: 4px;\">draft</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Experimental: </b></th>\n            <td style=\"padding-left: 4px;\">true</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Type: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                    \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>system: </b> <span><a href=\"http://terminology.hl7.org/6.0.2/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></span>\n                        </p>\n                        \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>code: </b> <span>logic-library</span>\n                        </p>\n                        \n                        \n                    \n                \n                \n            </td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Date: </b></th>\n            <td style=\"padding-left: 4px;\">2025-06-25 20:08:00+0000</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Publisher: </b></th>\n            <td style=\"padding-left: 4px;\">WHO</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Description: </b></th>\n            <td style=\"padding-left: 4px;\"><div><p>This library defines context-independent elements for Pneumococcal used throughout the Immunization CPG</p>\n</div></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Related Artifacts: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                \n                \n                <p><b>Dependencies</b></p>\n                <ul>\n                  \n                    <li><a href=\"Library-WHOConcepts.html\">WHOConcepts</a></li>\n                  \n                    <li><a href=\"Library-WHOCommon.html\">WHOCommon</a></li>\n                  \n                    <li><a href=\"Library-WHOElements.html\">WHOElements</a></li>\n                  \n                    <li><a href=\"Library-IMMZCommon.html\">IMMZCommon</a></li>\n                  \n                    <li><a href=\"Library-IMMZConcepts.html\">IMMZConcepts</a></li>\n                  \n                    <li><a href=\"Library-IMMZElements.html\">IMMZElements</a></li>\n                  \n                </ul>\n                \n                \n                \n                \n                \n            </td>\n        </tr>\n        \n\n        \n        <tr>\n          <th scope=\"row\"><b>Parameters: </b></th>\n          <td style=\"padding-left: 4px;\">\n            <table class=\"grid-dict\">\n              <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n              \n                <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Pneumococcal Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Date of First Pneumococcal Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Date of Latest Pneumococcal Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Pneumococcal Primary Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Number of Pneumococcal Primary Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No pneumococcal primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One pneumococcal primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Two pneumococcal primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Three pneumococcal primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Pneumococcal Booster Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Number of Pneumococcal Booster Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No pneumococcal booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One pneumococcal booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Two pneumococcal booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The client's age is less than 6 weeks</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The client's age is between 6 weeks and 5 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The client's age is less than or equal to 5 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The client's age is less than or equal to five years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The client's age is less than 12 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The client's age is more than or equal to 12 months and less than 24 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The client's age is less than 24 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The client's age is more than or equal to 24 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The client's age is more than 5 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The first pneumococcal dose was administered within 24 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The first pneumococcal dose was administered after 24 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The first pneumococcal dose was administered within 12 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The first pneumococcal dose was administered after 12 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The first pneumococcal dose was administered at 12–24 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest pneumococcal dose was administered within 12 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest pneumococcal dose was administered after 12 months post birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest pneumococcal dose was administered less than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest pneumococcal dose was administered more than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest pneumococcal dose was administered less than 8 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest pneumococcal dose was administered more than 8 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client is at high risk for pneumococcal infection</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client is not at high risk for pneumococcal infection</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's HIV status is positive</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's HIV status is negative or unknown</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client had preterm birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client did not have preterm birth</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n            </table>\n          </td>\n        </tr>\n        \n\n        \n\n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n              <tr><td><pre><code class=\"language-cql\">\n/*\n  * Library: IMMZD2DTPneumococcalElements\n  */\nlibrary IMMZD2DTPneumococcalElements\n\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOConcepts\ninclude WHOCommon called WC\ninclude WHOElements called WE\n\ninclude IMMZCommon called Common\ninclude IMMZConcepts called Concepts\ninclude IMMZElements called Elements\n\ncontext Patient\n\n/*\n@internal: Pneumococcal containing Doses Administered to Patient\n*/\ndefine &quot;Pneumococcal Doses Administered to Patient&quot;:\n  Elements.&quot;Doses Administered to Patient&quot; I\n  where\n    I.vaccineCode in Concepts.&quot;Pneumococcal vaccines&quot;\n\n/*\n@internal: Date and time of first Pneumococcal dose\n*/\ndefine &quot;Date of First Pneumococcal Dose&quot;:\n  date from start of &quot;Pneumococcal Doses Administered to Patient&quot;.earliest().occurrence.toInterval()\n\n/*\n@internal: Date and time of last Pneumococcal dose\n*/\ndefine &quot;Date of Latest Pneumococcal Dose&quot;:\n  date from start of &quot;Pneumococcal Doses Administered to Patient&quot;.mostRecent().occurrence.toInterval()\n\n/*\n@internal: Pneumococcal containing Doses Administered to Patient that are in the Primary series\n*/\ndefine &quot;Pneumococcal Primary Series Doses Administered to Patient&quot;:\n  &quot;Pneumococcal Doses Administered to Patient&quot;.seriesPrimary()\n\n/*\n@internal: Number of Pneumococcal Primary Series doses\n*/\ndefine &quot;Number of Pneumococcal Primary Series Doses Administered&quot;:\n  Count(&quot;Pneumococcal Primary Series Doses Administered to Patient&quot;)\n\n/*\n@input: No pneumococcal primary series doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 0\n@decision: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;No pneumococcal primary series doses were administered&quot;:\n  &quot;Number of Pneumococcal Primary Series Doses Administered&quot; = 0\n\n/*\n@input: One pneumococcal primary series dose was administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;One pneumococcal primary series dose was administered&quot;:\n  &quot;Number of Pneumococcal Primary Series Doses Administered&quot; = 1\n\n/*\n@input: Two pneumococcal primary series doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 2\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;Two pneumococcal primary series doses were administered&quot;:\n  &quot;Number of Pneumococcal Primary Series Doses Administered&quot; = 2\n\n/*\n@input: Three pneumococcal primary series doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 3\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;Three pneumococcal primary series doses were administered&quot;:\n  &quot;Number of Pneumococcal Primary Series Doses Administered&quot; = 3\n\n/*\n@internal: Pneumococcal containing Doses Administered to Patient that are in the Booster series\n*/\ndefine &quot;Pneumococcal Booster Series Doses Administered to Patient&quot;:\n  &quot;Pneumococcal Doses Administered to Patient&quot;.seriesBooster()\n\n/*\n@internal: Number of Pneumococcal Booster Series doses\n*/\ndefine &quot;Number of Pneumococcal Booster Series Doses Administered&quot;:\n  Count(&quot;Pneumococcal Booster Series Doses Administered to Patient&quot;)\n\n/*\n@input: No pneumococcal booster dose was administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 0\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;No pneumococcal booster dose was administered&quot;:\n  &quot;Number of Pneumococcal Booster Series Doses Administered&quot; = 0\n\n/*\n@input: One pneumococcal booster dose was administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 1\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;One pneumococcal booster dose was administered&quot;:\n  &quot;Number of Pneumococcal Booster Series Doses Administered&quot; = 1\n\n/*\n@input: Two pneumococcal booster doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 2\n@decision: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;Two pneumococcal booster doses were administered&quot;:\n  &quot;Number of Pneumococcal Booster Series Doses Administered&quot; = 2\n\n/*\n@input: The client's age is less than 6 weeks\n@pseudocode: Today's date − &quot;Date of birth&quot; &lt; 6 weeks\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The client's age is less than 6 weeks&quot;:\n  Elements.&quot;Current Patient Age In Weeks&quot; &lt; 6\n\n/*\n@input: The client's age is between 6 weeks and 5 years\n@pseudocode: 6 weeks ≤ Today's date − &quot;Date of birth&quot; ≤ 5 years\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The client's age is between 6 weeks and 5 years&quot;:\n  6 &lt;= Elements.&quot;Current Patient Age In Weeks&quot; \n  and Elements.&quot;Current Patient Age In Years&quot; &lt;= 5\n\n/*\n@input: The client's age is less than or equal to 5 years\n@pseudocode: 'Today's date − &quot;Date of birth&quot; ≤ 5 years\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The client's age is less than or equal to 5 years&quot;:\n  Elements.&quot;Current Patient Age In Years&quot; &lt;= 5\n\n/*\n@input: The client's age is less than or equal to five years\n@pseudocode: Today's date − &quot;Date of birth&quot; ≤ 5 years\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The client's age is less than or equal to five years&quot;:\n  &quot;The client's age is less than or equal to 5 years&quot;\n\n/*\n@input: The client's age is less than 12 months\n@pseudocode: Today's date − &quot;Date of birth&quot; &lt; 12 months\n@decision: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;The client's age is less than 12 months&quot;:\n  Elements.&quot;Current Patient Age In Months&quot; &lt; 12\n\n/*\n@input: The client's age is more than or equal to 12 months and less than 24 months\n@pseudocode: 12 months ≤ Today's date − &quot;Date of birth&quot; &lt; 24 months\n@decision: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;The client's age is more than or equal to 12 months and less than 24 months&quot;:\n  12 &lt;= Elements.&quot;Current Patient Age In Months&quot; \n  and Elements.&quot;Current Patient Age In Months&quot; &lt; 24\n\n/*\n@input: The client's age is less than 24 months\n@pseudocode: Today's date − &quot;Date of birth&quot; &lt; 24 months\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The client's age is less than 24 months&quot;:\n  Elements.&quot;Current Patient Age In Months&quot; &lt; 24\n\n/*\n@input: The client's age is more than or equal to 24 months\n@pseudocode: Today's date − &quot;Date of birth&quot; ≥ 24 months\n@decision: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;The client's age is more than or equal to 24 months&quot;:\n  Elements.&quot;Current Patient Age In Months&quot; &gt;= 24\n\n/*\n@input: The client's age is more than 5 years\n@pseudocode: Today's date − &quot;Date of birth&quot; &gt; 5 years\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n\n*/\ndefine &quot;The client's age is more than 5 years&quot;:\n  Elements.&quot;Current Patient Age In Months&quot; &gt; 5\n  \n/*\n@input: The first pneumococcal dose was administered within 24 months post birth\n@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot;) − &quot;Date of birth&quot; &lt; 24 months\n@decision: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;The first pneumococcal dose was administered within 24 months post birth&quot;:\n  AgeInMonthsAt(&quot;Date of First Pneumococcal Dose&quot;) &lt; 24\n\n/*\n@input: The first pneumococcal dose was administered after 24 months post birth\n@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot;) − &quot;Date of birth&quot; ≥ 24 months\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The first pneumococcal dose was administered after 24 months post birth&quot;:\n  AgeInMonthsAt(&quot;Date of First Pneumococcal Dose&quot;) &gt;= 24\n\n/*\n@input: The first pneumococcal dose was administered within 12 months post birth\n@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot; AND &quot;Dose number&quot; = 1) − &quot;Date of birth&quot; &lt; 12 months\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The first pneumococcal dose was administered within 12 months post birth&quot;:\n  AgeInMonthsAt(&quot;Date of First Pneumococcal Dose&quot;) &lt; 12\n\n/*\n@input: The first pneumococcal dose was administered after 12 months post birth\n@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot; AND &quot;Dose number&quot; = 1) − &quot;Date of birth&quot; ≥ 12 months\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The first pneumococcal dose was administered after 12 months post birth&quot;:\n  AgeInMonthsAt(&quot;Date of First Pneumococcal Dose&quot;) &gt;= 12\n\n/*\n@input: The first pneumococcal dose was administered at 12–24 months post birth\n@pseudocode: 12 months ≤ &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot;) − &quot;Date of birth&quot; &lt; 24 months\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The first pneumococcal dose was administered at 12–24 months post birth&quot;:\n  AgeInMonthsAt(&quot;Date of First Pneumococcal Dose&quot;) &gt;= 12\n  and AgeInMonthsAt(&quot;Date of First Pneumococcal Dose&quot;) &lt; 24\n\n/*\n@input: The latest pneumococcal dose was administered within 12 months post birth\n@pseudocode: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot;) − &quot;Date of birth&quot; &lt; 12 months\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The latest pneumococcal dose was administered within 12 months post birth&quot;:\n  AgeInMonthsAt(&quot;Date of Latest Pneumococcal Dose&quot;) &lt; 12\n\n/*\n@input: The latest pneumococcal dose was administered after 12 months post birth\n@pseudocode: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot;) − &quot;Date of birth&quot; ≥ 12 months\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The latest pneumococcal dose was administered after 12 months post birth&quot;:\n  AgeInMonthsAt(&quot;Date of Latest Pneumococcal Dose&quot;) &gt;= 12\n\n/*\n@input: The latest pneumococcal dose was administered less than 4 weeks ago\n@pseudocode: Today's date − &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot;) &lt; 4 weeks\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The latest pneumococcal dose was administered less than 4 weeks ago&quot;:\n  &quot;Date of Latest Pneumococcal Dose&quot; is not null\n    and duration in weeks between &quot;Date of Latest Pneumococcal Dose&quot; and Now() &lt; 4\n\n/*\n@input: The latest pneumococcal dose was administered more than 4 weeks ago\n@pseudocode: Today's date − &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot;) ≥ 4 weeks\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The latest pneumococcal dose was administered more than 4 weeks ago&quot;:\n  not &quot;The latest pneumococcal dose was administered less than 4 weeks ago&quot;\n\n/*\n@input: The latest pneumococcal dose was administered less than 8 weeks ago\n@pseudocode: Today's date − &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot;) &lt; 8 weeks\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The latest pneumococcal dose was administered less than 8 weeks ago&quot;:\n  &quot;Date of Latest Pneumococcal Dose&quot; is not null\n    and duration in weeks between &quot;Date of Latest Pneumococcal Dose&quot; and Now() &lt; 8\n\n/*\n@input: The latest pneumococcal dose was administered more than 8 weeks ago\n@pseudocode: Today's date − &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Pneumococcal vaccines&quot;) ≥ 8 weeks\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;The latest pneumococcal dose was administered more than 8 weeks ago&quot;:\n  not &quot;The latest pneumococcal dose was administered less than 8 weeks ago&quot;\n\n\n/*\n@input: Client is at high risk for pneumococcal infection\n@pseudocode: &quot;At high risk for pneumococcal infection&quot; = TRUE\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;Client is at high risk for pneumococcal infection&quot;:\n  Elements.&quot;Client is at high risk for pneumococcal infection&quot;\n\n/*\n@input: Client is not at high risk for pneumococcal infection\n@pseudocode: &quot;At high risk for pneumococcal infection&quot; = FALSE\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;Client is not at high risk for pneumococcal infection&quot;:\n  Elements.&quot;Client is not at high risk for pneumococcal infection&quot;\n\n/*\n@input: Client's HIV status is positive\n@pseudocode: &quot;HIV status&quot; = &quot;HIV-positive&quot;\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;Client's HIV status is positive&quot;:\n  Elements.&quot;Client's HIV status is positive&quot;\n\n/*\n@input: Client's HIV status is negative or unknown\n@pseudocode: &quot;HIV status&quot; ≠ &quot;HIV-positive&quot;\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;Client's HIV status is negative or unknown&quot;:\n  Elements.&quot;Client's HIV status is negative or unknown&quot;\n\n/*\n@input: Client had preterm birth\n@pseudocode: &quot;Preterm birth&quot; = TRUE\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;Client had preterm birth&quot;:\n  Elements.&quot;Client was a premature infant at birth&quot;\n\n/*\n@input: Client did not have preterm birth\n@pseudocode: &quot;Preterm birth&quot; ≠ TRUE\n@decision: 2 primary doses with a booster dose (2p+1)\n@decision: 3 primary doses (3p+0)\n*/\ndefine &quot;Client did not have preterm birth&quot;:\n  Elements.&quot;Client was not a premature infant at birth&quot;\n\n</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n        \n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><b>Content: </b> application/elm+xml</th></tr>\n              <tr><td><pre><code>Encoded data (115932 characters)</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n    </table>\n</div>\n</div>"
  },
  "extension" : [{
    "url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
    "valueCode" : "computable"
  }],
  "url" : "http://smart.who.int/immunizations/Library/IMMZD2DTPneumococcalElements",
  "version" : "0.2.0",
  "name" : "IMMZD2DTPneumococcalElements",
  "title" : "IMMZD2DTPneumococcalElements",
  "status" : "draft",
  "experimental" : true,
  "type" : {
    "coding" : [{
      "system" : "http://terminology.hl7.org/CodeSystem/library-type",
      "code" : "logic-library"
    }]
  },
  "date" : "2025-06-25T20:08:00+00:00",
  "publisher" : "WHO",
  "contact" : [{
    "name" : "WHO",
    "telecom" : [{
      "system" : "url",
      "value" : "http://who.int"
    }]
  }],
  "description" : "This library defines context-independent elements for Pneumococcal used throughout the Immunization CPG",
  "relatedArtifact" : [{
    "type" : "depends-on",
    "display" : "Library WHOConcepts",
    "resource" : "http://smart.who.int/immunizations/Library/WHOConcepts"
  },
  {
    "type" : "depends-on",
    "display" : "Library WC",
    "resource" : "http://smart.who.int/immunizations/Library/WHOCommon"
  },
  {
    "type" : "depends-on",
    "display" : "Library WE",
    "resource" : "http://smart.who.int/immunizations/Library/WHOElements"
  },
  {
    "type" : "depends-on",
    "display" : "Library Common",
    "resource" : "http://smart.who.int/immunizations/Library/IMMZCommon"
  },
  {
    "type" : "depends-on",
    "display" : "Library Concepts",
    "resource" : "http://smart.who.int/immunizations/Library/IMMZConcepts"
  },
  {
    "type" : "depends-on",
    "display" : "Library Elements",
    "resource" : "http://smart.who.int/immunizations/Library/IMMZElements"
  }],
  "parameter" : [{
    "name" : "Patient",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "Patient"
  },
  {
    "name" : "Pneumococcal Doses Administered to Patient",
    "use" : "out",
    "min" : 0,
    "max" : "*",
    "type" : "Immunization"
  },
  {
    "name" : "Date of First Pneumococcal Dose",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "date"
  },
  {
    "name" : "Date of Latest Pneumococcal Dose",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "date"
  },
  {
    "name" : "Pneumococcal Primary Series Doses Administered to Patient",
    "use" : "out",
    "min" : 0,
    "max" : "*",
    "type" : "Immunization"
  },
  {
    "name" : "Number of Pneumococcal Primary Series Doses Administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "integer"
  },
  {
    "name" : "No pneumococcal primary series doses were administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "One pneumococcal primary series dose was administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Two pneumococcal primary series doses were administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Three pneumococcal primary series doses were administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Pneumococcal Booster Series Doses Administered to Patient",
    "use" : "out",
    "min" : 0,
    "max" : "*",
    "type" : "Immunization"
  },
  {
    "name" : "Number of Pneumococcal Booster Series Doses Administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "integer"
  },
  {
    "name" : "No pneumococcal booster dose was administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "One pneumococcal booster dose was administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Two pneumococcal booster doses were administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The client's age is less than 6 weeks",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The client's age is between 6 weeks and 5 years",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The client's age is less than or equal to 5 years",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The client's age is less than or equal to five years",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The client's age is less than 12 months",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The client's age is more than or equal to 12 months and less than 24 months",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The client's age is less than 24 months",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The client's age is more than or equal to 24 months",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The client's age is more than 5 years",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The first pneumococcal dose was administered within 24 months post birth",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The first pneumococcal dose was administered after 24 months post birth",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The first pneumococcal dose was administered within 12 months post birth",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The first pneumococcal dose was administered after 12 months post birth",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The first pneumococcal dose was administered at 12–24 months post birth",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The latest pneumococcal dose was administered within 12 months post birth",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The latest pneumococcal dose was administered after 12 months post birth",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The latest pneumococcal dose was administered less than 4 weeks ago",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The latest pneumococcal dose was administered more than 4 weeks ago",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The latest pneumococcal dose was administered less than 8 weeks ago",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The latest pneumococcal dose was administered more than 8 weeks ago",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Client is at high risk for pneumococcal infection",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Client is not at high risk for pneumococcal infection",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Client's HIV status is positive",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Client's HIV status is negative or unknown",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Client had preterm birth",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Client did not have preterm birth",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  }],
  "content" : [{
    "contentType" : "text/cql",
    "data" : "Ci8qCiAgKiBMaWJyYXJ5OiBJTU1aRDJEVFBuZXVtb2NvY2NhbEVsZW1lbnRzCiAgKi8KbGlicmFyeSBJTU1aRDJEVFBuZXVtb2NvY2NhbEVsZW1lbnRzCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db25jZXB0cwppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0MKaW5jbHVkZSBXSE9FbGVtZW50cyBjYWxsZWQgV0UKCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgSU1NWkNvbmNlcHRzIGNhbGxlZCBDb25jZXB0cwppbmNsdWRlIElNTVpFbGVtZW50cyBjYWxsZWQgRWxlbWVudHMKCmNvbnRleHQgUGF0aWVudAoKLyoKQGludGVybmFsOiBQbmV1bW9jb2NjYWwgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudAoqLwpkZWZpbmUgIlBuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgRWxlbWVudHMuIkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBJCiAgd2hlcmUKICAgIEkudmFjY2luZUNvZGUgaW4gQ29uY2VwdHMuIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIKCi8qCkBpbnRlcm5hbDogRGF0ZSBhbmQgdGltZSBvZiBmaXJzdCBQbmV1bW9jb2NjYWwgZG9zZQoqLwpkZWZpbmUgIkRhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UiOgogIGRhdGUgZnJvbSBzdGFydCBvZiAiUG5ldW1vY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5lYXJsaWVzdCgpLm9jY3VycmVuY2UudG9JbnRlcnZhbCgpCgovKgpAaW50ZXJuYWw6IERhdGUgYW5kIHRpbWUgb2YgbGFzdCBQbmV1bW9jb2NjYWwgZG9zZQoqLwpkZWZpbmUgIkRhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlIjoKICBkYXRlIGZyb20gc3RhcnQgb2YgIlBuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIubW9zdFJlY2VudCgpLm9jY3VycmVuY2UudG9JbnRlcnZhbCgpCgovKgpAaW50ZXJuYWw6IFBuZXVtb2NvY2NhbCBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IHRoYXQgYXJlIGluIHRoZSBQcmltYXJ5IHNlcmllcwoqLwpkZWZpbmUgIlBuZXVtb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgIlBuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIuc2VyaWVzUHJpbWFyeSgpCgovKgpAaW50ZXJuYWw6IE51bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgZG9zZXMKKi8KZGVmaW5lICJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCI6CiAgQ291bnQoIlBuZXVtb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIpCgovKgpAaW5wdXQ6IE5vIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQbmV1bW9jb2NjYWwgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMApAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQoqLwpkZWZpbmUgIk5vIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDAKCi8qCkBpbnB1dDogT25lIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG5ldW1vY29jY2FsIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDEKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiT25lIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAxCgovKgpAaW5wdXQ6IFR3byBwbmV1bW9jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG5ldW1vY29jY2FsIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDIKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiVHdvIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDIKCi8qCkBpbnB1dDogVGhyZWUgcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAzCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIlRocmVlIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDMKCi8qCkBpbnRlcm5hbDogUG5ldW1vY29jY2FsIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdGhhdCBhcmUgaW4gdGhlIEJvb3N0ZXIgc2VyaWVzCiovCmRlZmluZSAiUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICAiUG5ldW1vY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5zZXJpZXNCb29zdGVyKCkKCi8qCkBpbnRlcm5hbDogTnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBkb3NlcwoqLwpkZWZpbmUgIk51bWJlciBvZiBQbmV1bW9jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIjoKICBDb3VudCgiUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IikKCi8qCkBpbnB1dDogTm8gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIkJvb3N0ZXIgZG9zZSIpID0gMApAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJObyBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAwCgovKgpAaW5wdXQ6IE9uZSBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG5ldW1vY29jY2FsIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAxCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIk9uZSBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAxCgovKgpAaW5wdXQ6IFR3byBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQbmV1bW9jb2NjYWwgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJCb29zdGVyIGRvc2UiKSA9IDIKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICJUd28gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAyCgovKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDYgd2Vla3MKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgNiB3ZWVrcwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA2IHdlZWtzIjoKICBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBXZWVrcyIgPCA2CgovKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA2IHdlZWtzIGFuZCA1IHllYXJzCkBwc2V1ZG9jb2RlOiA2IHdlZWtzIOKJpCBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaQgNSB5ZWFycwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgY2xpZW50J3MgYWdlIGlzIGJldHdlZW4gNiB3ZWVrcyBhbmQgNSB5ZWFycyI6CiAgNiA8PSBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBXZWVrcyIgCiAgYW5kIEVsZW1lbnRzLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiA8PSA1CgovKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDUgeWVhcnMKQHBzZXVkb2NvZGU6ICdUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaQgNSB5ZWFycwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byA1IHllYXJzIjoKICBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPD0gNQoKLyoKQGlucHV0OiBUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBmaXZlIHllYXJzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaQgNSB5ZWFycwpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBmaXZlIHllYXJzIjoKICAiVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNSB5ZWFycyIKCi8qCkBpbnB1dDogVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDEyIG1vbnRocwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQoqLwpkZWZpbmUgIlRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocyI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiA8IDEyCgovKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocyBhbmQgbGVzcyB0aGFuIDI0IG1vbnRocwpAcHNldWRvY29kZTogMTIgbW9udGhzIOKJpCBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDI0IG1vbnRocwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQoqLwpkZWZpbmUgIlRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocyBhbmQgbGVzcyB0aGFuIDI0IG1vbnRocyI6CiAgMTIgPD0gRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiAKICBhbmQgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiA8IDI0CgovKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDI0IG1vbnRocwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPCAyNCBtb250aHMKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMjQgbW9udGhzIjoKICBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiIDwgMjQKCi8qCkBpbnB1dDogVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMjQgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaUgMjQgbW9udGhzCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAiVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMjQgbW9udGhzIjoKICBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiID49IDI0CgovKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDUgeWVhcnMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiID4gNSB5ZWFycwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKCiovCmRlZmluZSAiVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNSB5ZWFycyI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiA+IDUKICAKLyoKQGlucHV0OiBUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMjQgbW9udGhzIHBvc3QgYmlydGgKQHBzZXVkb2NvZGU6ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG5ldW1vY29jY2FsIHZhY2NpbmVzIikg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDI0IG1vbnRocwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQoqLwpkZWZpbmUgIlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAyNCBtb250aHMgcG9zdCBiaXJ0aCI6CiAgQWdlSW5Nb250aHNBdCgiRGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSIpIDwgMjQKCi8qCkBpbnB1dDogVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMjQgbW9udGhzIHBvc3QgYmlydGgKQHBzZXVkb2NvZGU6ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG5ldW1vY29jY2FsIHZhY2NpbmVzIikg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaUgMjQgbW9udGhzCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDI0IG1vbnRocyBwb3N0IGJpcnRoIjoKICBBZ2VJbk1vbnRoc0F0KCJEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlIikgPj0gMjQKCi8qCkBpbnB1dDogVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDEyIG1vbnRocyBwb3N0IGJpcnRoCkBwc2V1ZG9jb2RlOiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIgQU5EICJEb3NlIG51bWJlciIgPSAxKSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMTIgbW9udGhzCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAxMiBtb250aHMgcG9zdCBiaXJ0aCI6CiAgQWdlSW5Nb250aHNBdCgiRGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSIpIDwgMTIKCi8qCkBpbnB1dDogVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMTIgbW9udGhzIHBvc3QgYmlydGgKQHBzZXVkb2NvZGU6ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG5ldW1vY29jY2FsIHZhY2NpbmVzIiBBTkQgIkRvc2UgbnVtYmVyIiA9IDEpIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omlIDEyIG1vbnRocwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhZnRlciAxMiBtb250aHMgcG9zdCBiaXJ0aCI6CiAgQWdlSW5Nb250aHNBdCgiRGF0ZSBvZiBGaXJzdCBQbmV1bW9jb2NjYWwgRG9zZSIpID49IDEyCgovKgpAaW5wdXQ6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGF0IDEy4oCTMjQgbW9udGhzIHBvc3QgYmlydGgKQHBzZXVkb2NvZGU6IDEyIG1vbnRocyDiiaQgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQbmV1bW9jb2NjYWwgdmFjY2luZXMiKSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMjQgbW9udGhzCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGF0IDEy4oCTMjQgbW9udGhzIHBvc3QgYmlydGgiOgogIEFnZUluTW9udGhzQXQoIkRhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UiKSA+PSAxMgogIGFuZCBBZ2VJbk1vbnRoc0F0KCJEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlIikgPCAyNAoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDEyIG1vbnRocyBwb3N0IGJpcnRoCkBwc2V1ZG9jb2RlOiBMYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQbmV1bW9jb2NjYWwgdmFjY2luZXMiKSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMTIgbW9udGhzCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMTIgbW9udGhzIHBvc3QgYmlydGgiOgogIEFnZUluTW9udGhzQXQoIkRhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlIikgPCAxMgoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMTIgbW9udGhzIHBvc3QgYmlydGgKQHBzZXVkb2NvZGU6IExhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIpIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omlIDEyIG1vbnRocwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMTIgbW9udGhzIHBvc3QgYmlydGgiOgogIEFnZUluTW9udGhzQXQoIkRhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlIikgPj0gMTIKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIpIDwgNCB3ZWVrcwpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvIjoKICAiRGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UiIGlzIG5vdCBudWxsCiAgICBhbmQgZHVyYXRpb24gaW4gd2Vla3MgYmV0d2VlbiAiRGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UiIGFuZCBOb3coKSA8IDQKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIpIOKJpSA0IHdlZWtzCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28iOgogIG5vdCAiVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyIKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA4IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIpIDwgOCB3ZWVrcwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvIjoKICAiRGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UiIGlzIG5vdCBudWxsCiAgICBhbmQgZHVyYXRpb24gaW4gd2Vla3MgYmV0d2VlbiAiRGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UiIGFuZCBOb3coKSA8IDgKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBuZXVtb2NvY2NhbCB2YWNjaW5lcyIpIOKJpSA4IHdlZWtzCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gOCB3ZWVrcyBhZ28iOgogIG5vdCAiVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA4IHdlZWtzIGFnbyIKCgovKgpAaW5wdXQ6IENsaWVudCBpcyBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24KQHBzZXVkb2NvZGU6ICJBdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24iID0gVFJVRQpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJDbGllbnQgaXMgYXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uIjoKICBFbGVtZW50cy4iQ2xpZW50IGlzIGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiIKCi8qCkBpbnB1dDogQ2xpZW50IGlzIG5vdCBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24KQHBzZXVkb2NvZGU6ICJBdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24iID0gRkFMU0UKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiQ2xpZW50IGlzIG5vdCBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24iOgogIEVsZW1lbnRzLiJDbGllbnQgaXMgbm90IGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiIKCi8qCkBpbnB1dDogQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBwb3NpdGl2ZQpAcHNldWRvY29kZTogIkhJViBzdGF0dXMiID0gIkhJVi1wb3NpdGl2ZSIKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBwb3NpdGl2ZSI6CiAgRWxlbWVudHMuIkNsaWVudCdzIEhJViBzdGF0dXMgaXMgcG9zaXRpdmUiCgovKgpAaW5wdXQ6IENsaWVudCdzIEhJViBzdGF0dXMgaXMgbmVnYXRpdmUgb3IgdW5rbm93bgpAcHNldWRvY29kZTogIkhJViBzdGF0dXMiIOKJoCAiSElWLXBvc2l0aXZlIgpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJDbGllbnQncyBISVYgc3RhdHVzIGlzIG5lZ2F0aXZlIG9yIHVua25vd24iOgogIEVsZW1lbnRzLiJDbGllbnQncyBISVYgc3RhdHVzIGlzIG5lZ2F0aXZlIG9yIHVua25vd24iCgovKgpAaW5wdXQ6IENsaWVudCBoYWQgcHJldGVybSBiaXJ0aApAcHNldWRvY29kZTogIlByZXRlcm0gYmlydGgiID0gVFJVRQpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICJDbGllbnQgaGFkIHByZXRlcm0gYmlydGgiOgogIEVsZW1lbnRzLiJDbGllbnQgd2FzIGEgcHJlbWF0dXJlIGluZmFudCBhdCBiaXJ0aCIKCi8qCkBpbnB1dDogQ2xpZW50IGRpZCBub3QgaGF2ZSBwcmV0ZXJtIGJpcnRoCkBwc2V1ZG9jb2RlOiAiUHJldGVybSBiaXJ0aCIg4omgIFRSVUUKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAiQ2xpZW50IGRpZCBub3QgaGF2ZSBwcmV0ZXJtIGJpcnRoIjoKICBFbGVtZW50cy4iQ2xpZW50IHdhcyBub3QgYSBwcmVtYXR1cmUgaW5mYW50IGF0IGJpcnRoIgoK"
  },
  {
    "contentType" : "application/elm+xml",
    "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIFtyZWZlcmVuY2VdIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIFtyZWZlcmVuY2VdIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIFtyZWZlcmVuY2VdIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iNTgxIj4KICAgICAgICAgPGE6cz4vKgogICogTGlicmFyeTogSU1NWkQyRFRQbmV1bW9jb2NjYWxFbGVtZW50cwogICovCmxpYnJhcnkgSU1NWkQyRFRQbmV1bW9jb2NjYWxFbGVtZW50czwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iSU1NWkQyRFRQbmV1bW9jb2NjYWxFbGVtZW50cyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSI3OjEtNzoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgPGE6cz51c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA3IiBsb2NhdG9yPSI4OjEtODozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2hsNy5vcmcvZmhpci9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDciPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMDgiIGxvY2F0b3I9IjEwOjEtMTA6MTkiIGxvY2FsSWRlbnRpZmllcj0iV0hPQ29uY2VwdHMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2ltbXVuaXphdGlvbnMvV0hPQ29uY2VwdHMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDgiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwOSIgbG9jYXRvcj0iMTE6MS0xMToyNyIgbG9jYWxJZGVudGlmaWVyPSJXQyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9XSE9Db21tb24iPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDkiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0M8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSIxMjoxLTEyOjI5IiBsb2NhbElkZW50aWZpZXI9IldFIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL1dIT0VsZW1lbnRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPldIT0VsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjExIiBsb2NhdG9yPSIxNDoxLTE0OjMyIiBsb2NhbElkZW50aWZpZXI9IkNvbW1vbiIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9JTU1aQ29tbW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBDb21tb248L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjEyIiBsb2NhdG9yPSIxNToxLTE1OjM2IiBsb2NhbElkZW50aWZpZXI9IkNvbmNlcHRzIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpDb25jZXB0cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBDb25jZXB0czwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTMiIGxvY2F0b3I9IjE2OjEtMTY6MzYiIGxvY2FsSWRlbnRpZmllcj0iRWxlbWVudHMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2ltbXVuaXphdGlvbnMvSU1NWkVsZW1lbnRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEzIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpFbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIEVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE3IiBsb2NhdG9yPSIxODoxLTE4OjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxNSIgbG9jYXRvcj0iMTg6MS0xODoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIxNiIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTQiIGxvY2F0b3I9IjE4OjEtMTg6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTkiIGxvY2F0b3I9IjIzOjEtMjY6NTMiIG5hbWU9IlBuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iUG5ldW1vY29jY2FsIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLz4KICAgICAgICAgICAgPGE6cyByPSIyMTkiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogUG5ldW1vY29jY2FsIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICZxdW90O1BuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMzAiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50cy4mcXVvdDtEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFjY2luZUNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjMwIiBsb2NhdG9yPSIyNDozLTI2OjUzIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIyMCIgbG9jYXRvcj0iMjQ6My0yNDo0NCIgYWxpYXM9IkkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMjIiIGxvY2F0b3I9IjI0OjMtMjQ6NDIiIG5hbWU9IkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjI3IiBsb2NhdG9yPSIyNTozLTI2OjUzIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjI5IiBuYW1lPSJ0OkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNvZGUgbG9jYWxJZD0iMjI4IiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI0IiBsb2NhdG9yPSIyNjo1LTI2OjE3IiBwYXRoPSJ2YWNjaW5lQ29kZSIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyMjYiIGxvY2F0b3I9IjI2OjIyLTI2OjUzIiBuYW1lPSJQbmV1bW9jb2NjYWwgdmFjY2luZXMiIGxpYnJhcnlOYW1lPSJDb25jZXB0cyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMzIiIGxvY2F0b3I9IjMxOjEtMzI6MTAwIiBuYW1lPSJEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJEYXRlIGFuZCB0aW1lIG9mIGZpcnN0IFBuZXVtb2NvY2NhbCBkb3NlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjMyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW50ZXJuYWw6IERhdGUgYW5kIHRpbWUgb2YgZmlyc3QgUG5ldW1vY29jY2FsIGRvc2UKKi8KZGVmaW5lICZxdW90O0RhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5kYXRlIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5lYXJsaWVzdCgpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vY2N1cnJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz50b0ludGVydmFsKCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMzI6My0zMjoxMDAiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNCIgbG9jYXRvcj0iMzI6MTMtMzI6MTAwIiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDAiIGxvY2F0b3I9IjMyOjIyLTMyOjEwMCIgbmFtZT0idG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IldDIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjMyOjIyLTMyOjg3IiBwYXRoPSJvY2N1cnJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIzNiIgbG9jYXRvcj0iMzI6MjItMzI6NzYiIG5hbWU9ImVhcmxpZXN0IiBsaWJyYXJ5TmFtZT0iV0MiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjM3IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iMjM4IiBuYW1lPSJmaGlyOkltbXVuaXphdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NpZ25hdHVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM1IiBsb2NhdG9yPSIzMjoyMi0zMjo2NSIgbmFtZT0iUG5ldW1vY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNDIiIGxvY2F0b3I9IjM3OjEtMzg6MTAyIiBuYW1lPSJEYXRlIG9mIExhdGVzdCBQbmV1bW9jb2NjYWwgRG9zZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iRGF0ZSBhbmQgdGltZSBvZiBsYXN0IFBuZXVtb2NvY2NhbCBkb3NlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjQyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW50ZXJuYWw6IERhdGUgYW5kIHRpbWUgb2YgbGFzdCBQbmV1bW9jb2NjYWwgZG9zZQoqLwpkZWZpbmUgJnF1b3Q7RGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5kYXRlIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tb3N0UmVjZW50KCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9jY3VycmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnRvSW50ZXJ2YWwoKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQzIiBsb2NhdG9yPSIzODozLTM4OjEwMiIgeHNpOnR5cGU9IkRhdGVGcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ0IiBsb2NhdG9yPSIzODoxMy0zODoxMDIiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MCIgbG9jYXRvcj0iMzg6MjItMzg6MTAyIiBuYW1lPSJ0b0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iV0MiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0OSIgbG9jYXRvcj0iMzg6MjItMzg6ODkiIHBhdGg9Im9jY3VycmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQ2IiBsb2NhdG9yPSIzODoyMi0zODo3OCIgbmFtZT0ibW9zdFJlY2VudCIgbGlicmFyeU5hbWU9IldDIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI0NyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjI0OCIgbmFtZT0iZmhpcjpJbW11bml6YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zaWduYXR1cmU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NSIgbG9jYXRvcj0iMzg6MjItMzg6NjUiIG5hbWU9IlBuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUyIiBsb2NhdG9yPSI0MzoxLTQ0OjYyIiBuYW1lPSJQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnRlcm5hbCIgdmFsdWU9IlBuZXVtb2NvY2NhbCBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IHRoYXQgYXJlIGluIHRoZSBQcmltYXJ5IHNlcmllcyIvPgogICAgICAgICAgICA8YTpzIHI9IjI1MiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBQbmV1bW9jb2NjYWwgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgUHJpbWFyeSBzZXJpZXMKKi8KZGVmaW5lICZxdW90O1BuZXVtb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UG5ldW1vY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNlcmllc1ByaW1hcnkoKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1NCIgbG9jYXRvcj0iNDQ6My00NDo2MiIgbmFtZT0ic2VyaWVzUHJpbWFyeSIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUzIiBsb2NhdG9yPSI0NDozLTQ0OjQ2IiBuYW1lPSJQbmV1bW9jb2NjYWwgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU2IiBsb2NhdG9yPSI0OToxLTUwOjY4IiBuYW1lPSJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iTnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBkb3NlcyIvPgogICAgICAgICAgICA8YTpzIHI9IjI1NiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIGRvc2VzCiovCmRlZmluZSAmcXVvdDtOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjAiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvdW50KDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2MCIgbG9jYXRvcj0iNTA6My01MDo2OCIgeHNpOnR5cGU9IkNvdW50Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNTciIGxvY2F0b3I9IjUwOjktNTA6NjciIG5hbWU9IlBuZXVtb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNjIiIGxvY2F0b3I9IjU3OjEtNTg6NjQiIG5hbWU9Ik5vIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iTm8gcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjYyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IE5vIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDAKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICZxdW90O05vIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY1Ij4gPSAwPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNjMiIGxvY2F0b3I9IjU4OjMtNTg6NjQiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjY2IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyNjciIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjQiIGxvY2F0b3I9IjU4OjMtNTg6NjAiIG5hbWU9Ik51bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjUiIGxvY2F0b3I9IjU4OjY0IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjY5IiBsb2NhdG9yPSI2NjoxLTY3OjY0IiBuYW1lPSJPbmUgcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iT25lIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAxIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSIyNjkiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogT25lIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAxCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7T25lIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjcwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MiI+ID0gMTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjcwIiBsb2NhdG9yPSI2NzozLTY3OjY0IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI3MyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjc0IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjcxIiBsb2NhdG9yPSI2NzozLTY3OjYwIiBuYW1lPSJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjcyIiBsb2NhdG9yPSI2Nzo2NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3NiIgbG9jYXRvcj0iNzU6MS03Njo2NCIgbmFtZT0iVHdvIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVHdvIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjI3NiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUd28gcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMgpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1R3byBwbmV1bW9jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjc3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OSI+ID0gMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjc3IiBsb2NhdG9yPSI3NjozLTc2OjY0IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI4MCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjgxIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc4IiBsb2NhdG9yPSI3NjozLTc2OjYwIiBuYW1lPSJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc5IiBsb2NhdG9yPSI3Njo2NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI4MyIgbG9jYXRvcj0iODM6MS04NDo2NCIgbmFtZT0iVGhyZWUgcG5ldW1vY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaHJlZSBwbmV1bW9jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjgzIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRocmVlIHBuZXVtb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDMKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtUaHJlZSBwbmV1bW9jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjg0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBQbmV1bW9jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+ID0gMzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjg0IiBsb2NhdG9yPSI4NDozLTg0OjY0IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI4NyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjg4IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg1IiBsb2NhdG9yPSI4NDozLTg0OjYwIiBuYW1lPSJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg2IiBsb2NhdG9yPSI4NDo2NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI5MCIgbG9jYXRvcj0iODk6MS05MDo2MiIgbmFtZT0iUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJQbmV1bW9jb2NjYWwgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgQm9vc3RlciBzZXJpZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIyOTAiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogUG5ldW1vY29jY2FsIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdGhhdCBhcmUgaW4gdGhlIEJvb3N0ZXIgc2VyaWVzCiovCmRlZmluZSAmcXVvdDtQbmV1bW9jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjkyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BuZXVtb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zZXJpZXNCb29zdGVyKCk8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyOTIiIGxvY2F0b3I9IjkwOjMtOTA6NjIiIG5hbWU9InNlcmllc0Jvb3N0ZXIiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MSIgbG9jYXRvcj0iOTA6My05MDo0NiIgbmFtZT0iUG5ldW1vY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI5NCIgbG9jYXRvcj0iOTU6MS05Njo2OCIgbmFtZT0iTnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnRlcm5hbCIgdmFsdWU9Ik51bWJlciBvZiBQbmV1bW9jb2NjYWwgQm9vc3RlciBTZXJpZXMgZG9zZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIyOTQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogTnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBkb3NlcwoqLwpkZWZpbmUgJnF1b3Q7TnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjk4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Db3VudCg8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyOTgiIGxvY2F0b3I9Ijk2OjMtOTY6NjgiIHhzaTp0eXBlPSJDb3VudCI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjk1IiBsb2NhdG9yPSI5Njo5LTk2OjY3IiBuYW1lPSJQbmV1bW9jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzAwIiBsb2NhdG9yPSIxMDQ6MS0xMDU6NjQiIG5hbWU9Ik5vIHBuZXVtb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iTm8gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7Qm9vc3RlciBkb3NlJnF1b3Q7KSA9IDAiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjMwMCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBObyBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtCb29zdGVyIGRvc2UmcXVvdDspID0gMApAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O05vIHBuZXVtb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMDEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAzIj4gPSAwPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMDEiIGxvY2F0b3I9IjEwNTozLTEwNTo2NCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMDQiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMwNSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwMiIgbG9jYXRvcj0iMTA1OjMtMTA1OjYwIiBuYW1lPSJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAzIiBsb2NhdG9yPSIxMDU6NjQiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMDciIGxvY2F0b3I9IjExMzoxLTExNDo2NCIgbmFtZT0iT25lIHBuZXVtb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iT25lIHBuZXVtb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O0Jvb3N0ZXIgZG9zZSZxdW90OykgPSAxIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSIzMDciPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogT25lIHBuZXVtb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O0Jvb3N0ZXIgZG9zZSZxdW90OykgPSAxCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7T25lIHBuZXVtb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMDgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEwIj4gPSAxPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMDgiIGxvY2F0b3I9IjExNDozLTExNDo2NCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMTEiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxMiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwOSIgbG9jYXRvcj0iMTE0OjMtMTE0OjYwIiBuYW1lPSJOdW1iZXIgb2YgUG5ldW1vY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEwIiBsb2NhdG9yPSIxMTQ6NjQiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMTQiIGxvY2F0b3I9IjEyMToxLTEyMjo2NCIgbmFtZT0iVHdvIHBuZXVtb2NvY2NhbCBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUd28gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtCb29zdGVyIGRvc2UmcXVvdDspID0gMiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzE0Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFR3byBwbmV1bW9jb2NjYWwgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O0Jvb3N0ZXIgZG9zZSZxdW90OykgPSAyCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAmcXVvdDtUd28gcG5ldW1vY29jY2FsIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBQbmV1bW9jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNyI+ID0gMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzE1IiBsb2NhdG9yPSIxMjI6My0xMjI6NjQiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzE4IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMTkiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTYiIGxvY2F0b3I9IjEyMjozLTEyMjo2MCIgbmFtZT0iTnVtYmVyIG9mIFBuZXVtb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxNyIgbG9jYXRvcj0iMTIyOjY0IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzIxIiBsb2NhdG9yPSIxMzA6MS0xMzE6NDUiIG5hbWU9IlRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDYgd2Vla3MiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDYgd2Vla3MiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDYgd2Vla3MiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjMyMSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA2IHdlZWtzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyA2IHdlZWtzCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNiB3ZWVrcyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMjIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFdlZWtzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjUiPiAmbHQ7IDY8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMyMiIgbG9jYXRvcj0iMTMxOjMtMTMxOjQ1IiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzI2IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMjciIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjQiIGxvY2F0b3I9IjEzMTozLTEzMTo0MSIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBXZWVrcyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjUiIGxvY2F0b3I9IjEzMTo0NSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI2IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMyOSIgbG9jYXRvcj0iMTM5OjEtMTQxOjUwIiBuYW1lPSJUaGUgY2xpZW50J3MgYWdlIGlzIGJldHdlZW4gNiB3ZWVrcyBhbmQgNSB5ZWFycyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDYgd2Vla3MgYW5kIDUgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaQgNSB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzI5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA2IHdlZWtzIGFuZCA1IHllYXJzCkBwc2V1ZG9jb2RlOiA2IHdlZWtzIOKJpCBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omkIDUgeWVhcnMKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtUaGUgY2xpZW50J3MgYWdlIGlzIGJldHdlZW4gNiB3ZWVrcyBhbmQgNSB5ZWFycyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMzAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMyIj42ICZsdDs9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFdlZWtzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IAogIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDAiPiAmbHQ7PSA1PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzMwIiBsb2NhdG9yPSIxNDA6My0xNDE6NTAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzEiIGxvY2F0b3I9IjE0MDozLTE0MDo0NiIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMzUiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMzNiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzMiIgbG9jYXRvcj0iMTQwOjMiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM0IiBsb2NhdG9yPSIxNDA6OC0xNDA6NDYiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gV2Vla3MiIGxpYnJhcnlOYW1lPSJFbGVtZW50cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzciIGxvY2F0b3I9IjE0MTo3LTE0MTo1MCIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNDEiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM0MiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzOSIgbG9jYXRvcj0iMTQxOjctMTQxOjQ1IiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0MCIgbG9jYXRvcj0iMTQxOjUwIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNDQiIGxvY2F0b3I9IjE0OToxLTE1MDo0NiIgbmFtZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNSB5ZWFycyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNSB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpCA1IHllYXJzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSIzNDQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNSB5ZWFycwpAcHNldWRvY29kZTogJ1RvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaQgNSB5ZWFycwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDUgeWVhcnMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ4Ij4gJmx0Oz0gNTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzQ1IiBsb2NhdG9yPSIxNTA6My0xNTA6NDYiIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzQ5IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNTAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDciIGxvY2F0b3I9IjE1MDozLTE1MDo0MSIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDgiIGxvY2F0b3I9IjE1MDo0NiIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI1IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM1MiIgbG9jYXRvcj0iMTU3OjEtMTU4OjUzIiBuYW1lPSJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBmaXZlIHllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBmaXZlIHllYXJzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omkIDUgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSIzNTIiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gZml2ZSB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpCA1IHllYXJzCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gZml2ZSB5ZWFycyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNTMiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDUgeWVhcnMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM1MyIgbG9jYXRvcj0iMTU4OjMtMTU4OjUzIiBuYW1lPSJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byA1IHllYXJzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNTUiIGxvY2F0b3I9IjE2NToxLTE2Njo0NyIgbmFtZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDEyIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzU1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgMTIgbW9udGhzCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAmcXVvdDtUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzU2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1OSI+ICZsdDsgMTI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM1NiIgbG9jYXRvcj0iMTY2OjMtMTY2OjQ3IiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzYwIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNjEiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTgiIGxvY2F0b3I9IjE2NjozLTE2Njo0MiIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiIGxpYnJhcnlOYW1lPSJFbGVtZW50cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzU5IiBsb2NhdG9yPSIxNjY6NDYtMTY2OjQ3IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM2MyIgbG9jYXRvcj0iMTczOjEtMTc1OjUxIiBuYW1lPSJUaGUgY2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMgYW5kIGxlc3MgdGhhbiAyNCBtb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocyBhbmQgbGVzcyB0aGFuIDI0IG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgMjQgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6cyByPSIzNjMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzIGFuZCBsZXNzIHRoYW4gMjQgbW9udGhzCkBwc2V1ZG9jb2RlOiAxMiBtb250aHMg4omkIFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDI0IG1vbnRocwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzIGFuZCBsZXNzIHRoYW4gMjQgbW9udGhzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjYiPjEyICZsdDs9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiAKICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzcxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3NCI+ICZsdDsgMjQ8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNjQiIGxvY2F0b3I9IjE3NDozLTE3NTo1MSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2NSIgbG9jYXRvcj0iMTc0OjMtMTc0OjQ4IiB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM2OSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzcwIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzY2IiBsb2NhdG9yPSIxNzQ6My0xNzQ6NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzY4IiBsb2NhdG9yPSIxNzQ6OS0xNzQ6NDgiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzcxIiBsb2NhdG9yPSIxNzU6Ny0xNzU6NTEiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNzUiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM3NiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3MyIgbG9jYXRvcj0iMTc1OjctMTc1OjQ2IiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzQiIGxvY2F0b3I9IjE3NTo1MC0xNzU6NTEiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNzgiIGxvY2F0b3I9IjE4MjoxLTE4Mzo0NyIgbmFtZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMjQgbW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyNCBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDI0IG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjM3OCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyNCBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDI0IG1vbnRocwpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDI0IG1vbnRocyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgyIj4gJmx0OyAyNDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzc5IiBsb2NhdG9yPSIxODM6My0xODM6NDciIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzODMiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM4NCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4MSIgbG9jYXRvcj0iMTgzOjMtMTgzOjQyIiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODIiIGxvY2F0b3I9IjE4Mzo0Ni0xODM6NDciIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzg2IiBsb2NhdG9yPSIxOTA6MS0xOTE6NDgiIG5hbWU9IlRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDI0IG1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMjQgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omlIDI0IG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzg2Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDI0IG1vbnRocwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAyNCBtb250aHMKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICZxdW90O1RoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDI0IG1vbnRocyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzODciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkwIj4gPj0gMjQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM4NyIgbG9jYXRvcj0iMTkxOjMtMTkxOjQ4IiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM5MSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzkyIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzg5IiBsb2NhdG9yPSIxOTE6My0xOTE6NDIiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM5MCIgbG9jYXRvcj0iMTkxOjQ3LTE5MTo0OCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyNCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzOTQiIGxvY2F0b3I9IjIwMDoxLTIwMTo0NiIgbmFtZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNSB5ZWFycyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNSB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ID4gNSB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzk0Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBjbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDUgeWVhcnMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyA+IDUgeWVhcnMKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCgoqLwpkZWZpbmUgJnF1b3Q7VGhlIGNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNSB5ZWFycyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzOTUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk4Ij4gPiA1PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzOTUiIGxvY2F0b3I9IjIwMTozLTIwMTo0NiIgeHNpOnR5cGU9IkdyZWF0ZXIiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM5OSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDAwIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzk3IiBsb2NhdG9yPSIyMDE6My0yMDE6NDIiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM5OCIgbG9jYXRvcj0iMjAxOjQ2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDAyIiBsb2NhdG9yPSIyMDg6MS0yMDk6NTUiIG5hbWU9IlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAyNCBtb250aHMgcG9zdCBiaXJ0aCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgd2l0aGluIDI0IG1vbnRocyBwb3N0IGJpcnRoIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAyNCBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTpzIHI9IjQwMiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMjQgbW9udGhzIHBvc3QgYmlydGgKQHBzZXVkb2NvZGU6ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAyNCBtb250aHMKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICZxdW90O1RoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAyNCBtb250aHMgcG9zdCBiaXJ0aCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MDMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5Nb250aHNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTIiPiAmbHQ7IDI0PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MDMiIGxvY2F0b3I9IjIwOTozLTIwOTo1NSIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQxMyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDE0IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDA5IiBsb2NhdG9yPSIyMDk6My0yMDk6NTAiIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJDYWxjdWxhdGVBZ2VBdCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDEwIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MTEiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDgiIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0MDciIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDA0IiBsb2NhdG9yPSIyMDk6MTctMjA5OjQ5IiBuYW1lPSJEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQxMiIgbG9jYXRvcj0iMjA5OjU0LTIwOTo1NSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyNCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MTYiIGxvY2F0b3I9IjIxNzoxLTIxODo1NiIgbmFtZT0iVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMjQgbW9udGhzIHBvc3QgYmlydGgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDI0IG1vbnRocyBwb3N0IGJpcnRoIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omlIDI0IG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNDE2Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDI0IG1vbnRocyBwb3N0IGJpcnRoCkBwc2V1ZG9jb2RlOiAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAyNCBtb250aHMKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhZnRlciAyNCBtb250aHMgcG9zdCBiaXJ0aCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MTciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5Nb250aHNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjYiPiA+PSAyNDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDE3IiBsb2NhdG9yPSIyMTg6My0yMTg6NTYiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDI3IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MjgiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MjMiIGxvY2F0b3I9IjIxODozLTIxODo1MCIgcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MjQiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQyNSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyMiIgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQyMSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MTgiIGxvY2F0b3I9IjIxODoxNy0yMTg6NDkiIG5hbWU9IkRhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDI2IiBsb2NhdG9yPSIyMTg6NTUtMjE4OjU2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjI0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQzMCIgbG9jYXRvcj0iMjI2OjEtMjI3OjU1IiBuYW1lPSJUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMTIgbW9udGhzIHBvc3QgYmlydGgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAxMiBtb250aHMgcG9zdCBiaXJ0aCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDsgQU5EICZxdW90O0Rvc2UgbnVtYmVyJnF1b3Q7ID0gMSkg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAxMiBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjQzMCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgZmlyc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMTIgbW9udGhzIHBvc3QgYmlydGgKQHBzZXVkb2NvZGU6ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBBTkQgJnF1b3Q7RG9zZSBudW1iZXImcXVvdDsgPSAxKSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDEyIG1vbnRocwpAZGVjaXNpb246IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAxMiBtb250aHMgcG9zdCBiaXJ0aCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MzEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5Nb250aHNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDAiPiAmbHQ7IDEyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MzEiIGxvY2F0b3I9IjIyNzozLTIyNzo1NSIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ0MSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDQyIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDM3IiBsb2NhdG9yPSIyMjc6My0yMjc6NTAiIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJDYWxjdWxhdGVBZ2VBdCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDM4IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MzkiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MzYiIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0MzUiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDMyIiBsb2NhdG9yPSIyMjc6MTctMjI3OjQ5IiBuYW1lPSJEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0MCIgbG9jYXRvcj0iMjI3OjU0LTIyNzo1NSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NDQiIGxvY2F0b3I9IjIzNToxLTIzNjo1NiIgbmFtZT0iVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMTIgbW9udGhzIHBvc3QgYmlydGgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFmdGVyIDEyIG1vbnRocyBwb3N0IGJpcnRoIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBBTkQgJnF1b3Q7RG9zZSBudW1iZXImcXVvdDsgPSAxKSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaUgMTIgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSI0NDQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMTIgbW9udGhzIHBvc3QgYmlydGgKQHBzZXVkb2NvZGU6ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBBTkQgJnF1b3Q7RG9zZSBudW1iZXImcXVvdDsgPSAxKSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaUgMTIgbW9udGhzCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMTIgbW9udGhzIHBvc3QgYmlydGgmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDQ1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluTW9udGhzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDU0Ij4gPj0gMTI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ0NSIgbG9jYXRvcj0iMjM2OjMtMjM2OjU2IiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ1NSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDU2IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDUxIiBsb2NhdG9yPSIyMzY6My0yMzY6NTAiIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJDYWxjdWxhdGVBZ2VBdCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDUyIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NTMiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NTAiIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0NDkiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDQ2IiBsb2NhdG9yPSIyMzY6MTctMjM2OjQ5IiBuYW1lPSJEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ1NCIgbG9jYXRvcj0iMjM2OjU1LTIzNjo1NiIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NTgiIGxvY2F0b3I9IjI0MzoxLTI0NTo1OSIgbmFtZT0iVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYXQgMTLigJMyNCBtb250aHMgcG9zdCBiaXJ0aCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGZpcnN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYXQgMTLigJMyNCBtb250aHMgcG9zdCBiaXJ0aCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgMjQgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNDU4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGF0IDEy4oCTMjQgbW9udGhzIHBvc3QgYmlydGgKQHBzZXVkb2NvZGU6IDEyIG1vbnRocyDiiaQgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDI0IG1vbnRocwpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBmaXJzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGF0IDEy4oCTMjQgbW9udGhzIHBvc3QgYmlydGgmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDU5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5Nb250aHNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjkiPiA+PSAxMjwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDcyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluTW9udGhzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIEZpcnN0IFBuZXVtb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgxIj4gJmx0OyAyNDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ1OSIgbG9jYXRvcj0iMjQ0OjMtMjQ1OjU5IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDYwIiBsb2NhdG9yPSIyNDQ6My0yNDQ6NTYiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDcwIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NzEiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NjYiIGxvY2F0b3I9IjI0NDozLTI0NDo1MCIgcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NjciIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ2OCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2NSIgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ2NCIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NjEiIGxvY2F0b3I9IjI0NDoxNy0yNDQ6NDkiIG5hbWU9IkRhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDY5IiBsb2NhdG9yPSIyNDQ6NTUtMjQ0OjU2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ3MiIgbG9jYXRvcj0iMjQ1OjctMjQ1OjU5IiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDgyIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0ODMiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NzgiIGxvY2F0b3I9IjI0NTo3LTI0NTo1NCIgcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NzkiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ4MCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ3NyIgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ3NiIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NzMiIGxvY2F0b3I9IjI0NToyMS0yNDU6NTMiIG5hbWU9IkRhdGUgb2YgRmlyc3QgUG5ldW1vY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDgxIiBsb2NhdG9yPSIyNDU6NTgtMjQ1OjU5IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjI0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDg1IiBsb2NhdG9yPSIyNTM6MS0yNTQ6NTYiIG5hbWU9IlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMTIgbW9udGhzIHBvc3QgYmlydGgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMTIgbW9udGhzIHBvc3QgYmlydGgiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDEyIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNDg1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCB3aXRoaW4gMTIgbW9udGhzIHBvc3QgYmlydGgKQHBzZXVkb2NvZGU6IExhdGVzdCAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgMTIgbW9udGhzCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIHdpdGhpbiAxMiBtb250aHMgcG9zdCBiaXJ0aCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0ODYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5Nb250aHNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDk1Ij4gJmx0OyAxMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDg2IiBsb2NhdG9yPSIyNTQ6My0yNTQ6NTYiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0OTYiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ5NyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ5MiIgbG9jYXRvcj0iMjU0OjMtMjU0OjUxIiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ5MyIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDk0IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDkxIiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDkwIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ4NyIgbG9jYXRvcj0iMjU0OjE3LTI1NDo1MCIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDk1IiBsb2NhdG9yPSIyNTQ6NTUtMjU0OjU2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ5OSIgbG9jYXRvcj0iMjYyOjEtMjYzOjU3IiBuYW1lPSJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMTIgbW9udGhzIHBvc3QgYmlydGgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhZnRlciAxMiBtb250aHMgcG9zdCBiaXJ0aCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAxMiBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjQ5OSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMTIgbW9udGhzIHBvc3QgYmlydGgKQHBzZXVkb2NvZGU6IExhdGVzdCAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAxMiBtb250aHMKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYWZ0ZXIgMTIgbW9udGhzIHBvc3QgYmlydGgmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTAwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MDYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluTW9udGhzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIExhdGVzdCBQbmV1bW9jb2NjYWwgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwOSI+ID49IDEyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MDAiIGxvY2F0b3I9IjI2MzozLTI2Mzo1NyIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1MTAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUxMSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUwNiIgbG9jYXRvcj0iMjYzOjMtMjYzOjUxIiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUwNyIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTA4IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTA1IiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTA0IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUwMSIgbG9jYXRvcj0iMjYzOjE3LTI2Mzo1MCIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUG5ldW1vY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTA5IiBsb2NhdG9yPSIyNjM6NTYtMjYzOjU3IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUxMyIgbG9jYXRvcj0iMjcwOjEtMjcyOjgyIiBuYW1lPSJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BuZXVtb2NvY2NhbCB2YWNjaW5lcyZxdW90OykgJmx0OyA0IHdlZWtzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTEzIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSAmbHQ7IDQgd2Vla3MKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUxNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTE3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBub3QgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZHVyYXRpb24gaW4gd2Vla3MgYmV0d2VlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob3coKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTI5Ij4gJmx0OyA0PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTE0IiBsb2NhdG9yPSIyNzE6My0yNzI6ODIiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MTciIGxvY2F0b3I9IjI3MTozLTI3MTo0OCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUxNiIgbG9jYXRvcj0iMjcxOjMtMjcxOjQ4IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTE1IiBsb2NhdG9yPSIyNzE6My0yNzE6MzYiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTE4IiBsb2NhdG9yPSIyNzI6OS0yNzI6ODIiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1MzAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUzMSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUxOSIgbG9jYXRvcj0iMjcyOjktMjcyOjc4IiBwcmVjaXNpb249IldlZWsiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUyNyIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUyOCIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MjUiIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1MjYiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MjAiIGxvY2F0b3I9IjI3MjozNS0yNzI6NjgiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyMyIgbG9jYXRvcj0iMjcyOjc0LTI3Mjo3OCIgeHNpOnR5cGU9Ik5vdyIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyOSIgbG9jYXRvcj0iMjcyOjgyIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MzMiIGxvY2F0b3I9IjI3OToxLTI4MDo3NSIgbmFtZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKJpSA0IHdlZWtzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTMzIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSDiiaUgNCB3ZWVrcwpAZGVjaXNpb246IDMgcHJpbWFyeSBkb3NlcyAoM3ArMCkKKi8KZGVmaW5lICZxdW90O1RoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTM0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5ub3QgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTM1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTM0IiBsb2NhdG9yPSIyODA6My0yODA6NzUiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MzUiIGxvY2F0b3I9IjI4MDo3LTI4MDo3NSIgbmFtZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MzciIGxvY2F0b3I9IjI4ODoxLTI5MDo4MiIgbmFtZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA4IHdlZWtzIGFnbyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA4IHdlZWtzIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspICZsdDsgOCB3ZWVrcyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTM3Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gOCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UG5ldW1vY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSAmbHQ7IDggd2Vla3MKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUzOCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBub3QgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZHVyYXRpb24gaW4gd2Vla3MgYmV0d2VlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob3coKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUzIj4gJmx0OyA4PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTM4IiBsb2NhdG9yPSIyODk6My0yOTA6ODIiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NDEiIGxvY2F0b3I9IjI4OTozLTI4OTo0OCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU0MCIgbG9jYXRvcj0iMjg5OjMtMjg5OjQ4IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTM5IiBsb2NhdG9yPSIyODk6My0yODk6MzYiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTQyIiBsb2NhdG9yPSIyOTA6OS0yOTA6ODIiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1NTQiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU1NSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU0MyIgbG9jYXRvcj0iMjkwOjktMjkwOjc4IiBwcmVjaXNpb249IldlZWsiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU1MSIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU1MiIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NDkiIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1NTAiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NDQiIGxvY2F0b3I9IjI5MDozNS0yOTA6NjgiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IFBuZXVtb2NvY2NhbCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU0NyIgbG9jYXRvcj0iMjkwOjc0LTI5MDo3OCIgeHNpOnR5cGU9Ik5vdyIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU1MyIgbG9jYXRvcj0iMjkwOjgyIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NTciIGxvY2F0b3I9IjI5ODoxLTI5OTo3NSIgbmFtZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnbyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKJpSA4IHdlZWtzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSI1NTciPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQbmV1bW9jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKJpSA4IHdlZWtzCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCBwbmV1bW9jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnbyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NTgiPgogICAgICAgICAgICAgICAgICA8YTpzPm5vdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RoZSBsYXRlc3QgcG5ldW1vY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gOCB3ZWVrcyBhZ28mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NTgiIGxvY2F0b3I9IjI5OTozLTI5OTo3NSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU1OSIgbG9jYXRvcj0iMjk5OjctMjk5Ojc1IiBuYW1lPSJUaGUgbGF0ZXN0IHBuZXVtb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU2MSIgbG9jYXRvcj0iMzA4OjEtMzA5OjYyIiBuYW1lPSJDbGllbnQgaXMgYXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQgaXMgYXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0F0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiZxdW90OyA9IFRSVUUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjU2MSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQgaXMgYXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uCkBwc2V1ZG9jb2RlOiAmcXVvdDtBdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24mcXVvdDsgPSBUUlVFCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50IGlzIGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NjMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q2xpZW50IGlzIGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU2MyIgbG9jYXRvcj0iMzA5OjMtMzA5OjYyIiBuYW1lPSJDbGllbnQgaXMgYXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU2NSIgbG9jYXRvcj0iMzE3OjEtMzE4OjY2IiBuYW1lPSJDbGllbnQgaXMgbm90IGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50IGlzIG5vdCBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7QXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uJnF1b3Q7ID0gRkFMU0UiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMyBwcmltYXJ5IGRvc2VzICgzcCswKSIvPgogICAgICAgICAgICA8YTpzIHI9IjU2NSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQgaXMgbm90IGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbgpAcHNldWRvY29kZTogJnF1b3Q7QXQgaGlnaCByaXNrIGZvciBwbmV1bW9jb2NjYWwgaW5mZWN0aW9uJnF1b3Q7ID0gRkFMU0UKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtDbGllbnQgaXMgbm90IGF0IGhpZ2ggcmlzayBmb3IgcG5ldW1vY29jY2FsIGluZmVjdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NjciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q2xpZW50IGlzIG5vdCBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NjciIGxvY2F0b3I9IjMxODozLTMxODo2NiIgbmFtZT0iQ2xpZW50IGlzIG5vdCBhdCBoaWdoIHJpc2sgZm9yIHBuZXVtb2NvY2NhbCBpbmZlY3Rpb24iIGxpYnJhcnlOYW1lPSJFbGVtZW50cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTY5IiBsb2NhdG9yPSIzMjY6MS0zMjc6NDQiIG5hbWU9IkNsaWVudCdzIEhJViBzdGF0dXMgaXMgcG9zaXRpdmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCdzIEhJViBzdGF0dXMgaXMgcG9zaXRpdmUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7SElWIHN0YXR1cyZxdW90OyA9ICZxdW90O0hJVi1wb3NpdGl2ZSZxdW90OyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTY5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIEhJViBzdGF0dXMgaXMgcG9zaXRpdmUKQHBzZXVkb2NvZGU6ICZxdW90O0hJViBzdGF0dXMmcXVvdDsgPSAmcXVvdDtISVYtcG9zaXRpdmUmcXVvdDsKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBISVYgc3RhdHVzIGlzIHBvc2l0aXZlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU3MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTcwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTcxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQncyBISVYgc3RhdHVzIGlzIHBvc2l0aXZlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTcxIiBsb2NhdG9yPSIzMjc6My0zMjc6NDQiIG5hbWU9IkNsaWVudCdzIEhJViBzdGF0dXMgaXMgcG9zaXRpdmUiIGxpYnJhcnlOYW1lPSJFbGVtZW50cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTczIiBsb2NhdG9yPSIzMzU6MS0zMzY6NTUiIG5hbWU9IkNsaWVudCdzIEhJViBzdGF0dXMgaXMgbmVnYXRpdmUgb3IgdW5rbm93biIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBuZWdhdGl2ZSBvciB1bmtub3duIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0hJViBzdGF0dXMmcXVvdDsg4omgICZxdW90O0hJVi1wb3NpdGl2ZSZxdW90OyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTczIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIEhJViBzdGF0dXMgaXMgbmVnYXRpdmUgb3IgdW5rbm93bgpAcHNldWRvY29kZTogJnF1b3Q7SElWIHN0YXR1cyZxdW90OyDiiaAgJnF1b3Q7SElWLXBvc2l0aXZlJnF1b3Q7CkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50J3MgSElWIHN0YXR1cyBpcyBuZWdhdGl2ZSBvciB1bmtub3duJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU3NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTc0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTc1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQncyBISVYgc3RhdHVzIGlzIG5lZ2F0aXZlIG9yIHVua25vd24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NzUiIGxvY2F0b3I9IjMzNjozLTMzNjo1NSIgbmFtZT0iQ2xpZW50J3MgSElWIHN0YXR1cyBpcyBuZWdhdGl2ZSBvciB1bmtub3duIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU3NyIgbG9jYXRvcj0iMzQ0OjEtMzQ1OjUxIiBuYW1lPSJDbGllbnQgaGFkIHByZXRlcm0gYmlydGgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCBoYWQgcHJldGVybSBiaXJ0aCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtQcmV0ZXJtIGJpcnRoJnF1b3Q7ID0gVFJVRSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIzIHByaW1hcnkgZG9zZXMgKDNwKzApIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTc3Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCBoYWQgcHJldGVybSBiaXJ0aApAcHNldWRvY29kZTogJnF1b3Q7UHJldGVybSBiaXJ0aCZxdW90OyA9IFRSVUUKQGRlY2lzaW9uOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKQGRlY2lzaW9uOiAzIHByaW1hcnkgZG9zZXMgKDNwKzApCiovCmRlZmluZSAmcXVvdDtDbGllbnQgaGFkIHByZXRlcm0gYmlydGgmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTc5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NsaWVudCB3YXMgYSBwcmVtYXR1cmUgaW5mYW50IGF0IGJpcnRoJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTc5IiBsb2NhdG9yPSIzNDU6My0zNDU6NTEiIG5hbWU9IkNsaWVudCB3YXMgYSBwcmVtYXR1cmUgaW5mYW50IGF0IGJpcnRoIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU4MSIgbG9jYXRvcj0iMzUzOjEtMzU0OjU1IiBuYW1lPSJDbGllbnQgZGlkIG5vdCBoYXZlIHByZXRlcm0gYmlydGgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCBkaWQgbm90IGhhdmUgcHJldGVybSBiaXJ0aCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtQcmV0ZXJtIGJpcnRoJnF1b3Q7IOKJoCBUUlVFIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSIyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IjMgcHJpbWFyeSBkb3NlcyAoM3ArMCkiLz4KICAgICAgICAgICAgPGE6cyByPSI1ODEiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50IGRpZCBub3QgaGF2ZSBwcmV0ZXJtIGJpcnRoCkBwc2V1ZG9jb2RlOiAmcXVvdDtQcmV0ZXJtIGJpcnRoJnF1b3Q7IOKJoCBUUlVFCkBkZWNpc2lvbjogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCkBkZWNpc2lvbjogMyBwcmltYXJ5IGRvc2VzICgzcCswKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50IGRpZCBub3QgaGF2ZSBwcmV0ZXJtIGJpcnRoJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU4MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTgyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTgzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQgd2FzIG5vdCBhIHByZW1hdHVyZSBpbmZhbnQgYXQgYmlydGgmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1ODMiIGxvY2F0b3I9IjM1NDozLTM1NDo1NSIgbmFtZT0iQ2xpZW50IHdhcyBub3QgYSBwcmVtYXR1cmUgaW5mYW50IGF0IGJpcnRoIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K"
  }]
}