Quality Measure STU1 for FHIR STU3 Implementation Guide

This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v1.0.0: STU 1) based on FHIR R3. The current version which supercedes this version is 3.0.0. For a full list of available versions, see the Directory of published versions

VTE_1_FHIR

@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

 a fhir:Library;
  fhir:nodeRole fhir:treeRoot;
  fhir:Resource.id [ fhir:value "vte-1-fhir"];
  fhir:Resource.meta [
     fhir:Meta.profile [
       fhir:value "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/library-cqfm";
       fhir:index 0     ]
  ];
  fhir:DomainResource.text [
     fhir:Narrative.status [ fhir:value "generated" ];
     fhir:Narrative.div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">vte-1-fhir</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/library-type</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>logic-library</span></span></span></span></td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">7.4.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/fhirhelpers</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/matglobalcommonfunctions-fhir</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/vteicu-fhir</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/supplementaldataelements-fhir</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"60\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Location</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Location</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Coverage</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Patient</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.263</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr>    <!-- Filter down to human readable content --><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library VTE_1_FHIR version '7.4.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\n/*\nData Types Used:\n\nEncounter\nDeviceUseStatement\nDeviceRequest\nMedicationAdministration\nMedicationRequest\nProcedure - ordinality extension\nProcedureRequest\nCondition\n*/\n\n/*\nDevelopment Notes:\n\n    Need to define “doNotPerfom” QICore extension to support “NotDone is true” expression. Suggest to the base Resource for the following profiles – \n\n        DeviceUseStatement\n        DeviceRequest\n        MedicationRequest\n\n    Need to define an “ordinality” extension for Procedure profile to support “Procedure.ordinality ~ &quot;Principal&quot; expression. \n\n    Need to confirm the following profiles and ensure Period is a default type - \n\n        MedicationAdministration.effective\n        Procedure.performed\n\n    Suggest defining “recordedOn“ to support the timings for “MedicationAdministration.notGiven” and “Procedure.notDone”. see the highlighted fields below.\n\n|Profile                   |Timing used for Done |Timing used for doNotPerform |TJC comments          |\n|---|---|---|---|\n|DeviceUseStatement        |whenUsed             |recordedOn                   |   |\n|DeviceRequest             |authoredOn           |authoredOn                   |   |\n|MedicationAdministration  |effective            |effective                    | Suggest adding recordedOn for notGiven timing |\n|MedicationRequest         |authoredOn           |authoredOn                   |   |\n|Procedure                 |performed            |performed                    | Suggest adding recordedOn for notDone timing |\n|ProcedureRequest          |authoredOn           |authoredOn                   |   |	\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR version '2.0.000' called Global\ninclude VTEICU_FHIR version '2.4.000' called VTEICU\ninclude SupplementalDataElements_FHIR version '1.0.0' called SDE\n\ncodesystem &quot;SNOMED CT&quot;: 'http://snomed.info/sct'\ncodesystem &quot;LOINC&quot;: 'http://loinc.org'\ncodesystem &quot;RequestIntent&quot;: 'http://hl7.org/fhir/request-intent'\n\nvalueset &quot;ONC Administrative Sex&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset &quot;Race&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset &quot;Ethnicity&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset &quot;Payer&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset &quot;Atrial Fibrillation/Flutter&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202'\nvalueset &quot;Comfort Measures&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset &quot;Direct Thrombin Inhibitor&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.205'\nvalueset &quot;Emergency Department Visit&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset &quot;General or Neuraxial Anesthesia&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743'\nvalueset &quot;General Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255'\nvalueset &quot;Glycoprotein IIb/IIIa Inhibitors&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.41'\nvalueset &quot;Graduated compression stockings (GCS)&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256'\nvalueset &quot;Gynecological Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257'\nvalueset &quot;Hemorrhagic Stroke&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset &quot;Hip Fracture Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258'\nvalueset &quot;Hip Replacement Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259'\nvalueset &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211'\nvalueset &quot;INR&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213'\nvalueset &quot;Intermittent pneumatic compression devices (IPC)&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214'\nvalueset &quot;Intracranial Neurosurgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260'\nvalueset &quot;Intravenous route&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.222'\nvalueset &quot;Ischemic Stroke&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset &quot;Knee Replacement Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261'\nvalueset &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39'\nvalueset &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219'\nvalueset &quot;Low Risk&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.400'\nvalueset &quot;Medical Reason&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset &quot;Mental Health Diagnoses&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1004'\nvalueset &quot;Obstetrics&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.263'\nvalueset &quot;Obstetrics VTE&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264'\nvalueset &quot;Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134'\nvalueset &quot;Patient Refusal&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\n//valueset &quot;Principal&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.14' // Changed to use a code\nvalueset &quot;Subcutaneous route&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.223'\nvalueset &quot;Unfractionated Heparin&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.218'\nvalueset &quot;Urological Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272'\nvalueset &quot;Venous foot pumps (VFP)&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230'\nvalueset &quot;Venous Thromboembolism&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279'\nvalueset &quot;Warfarin&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232'\nvalueset &quot;Intensive Care Unit&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.23'\n\ncode &quot;Risk for venous thromboembolism&quot;: '72136-5' from &quot;LOINC&quot; display 'Risk for venous thromboembolism'\ncode &quot;Principal&quot;: '63161005' from &quot;SNOMED CT&quot; display 'Principal (qualifier value)'\ncode &quot;Order&quot;: 'order' from &quot;RequestIntent&quot; display 'Order'\n\ncontext Patient\n\ndefine &quot;SDE Ethnicity&quot;:\n  SDE.&quot;SDE Ethnicity&quot;\n\ndefine &quot;SDE Payer&quot;:\n	SDE.&quot;SDE Payer&quot;\n\ndefine &quot;SDE Race&quot;:\n  SDE.&quot;SDE Race&quot;\n\ndefine &quot;SDE Sex&quot;:\n	SDE.&quot;SDE Sex&quot;\n\ndefine &quot;Denominator&quot;:\n	&quot;Initial Population&quot;\n\ndefine &quot;ED Visit&quot;:\n	[&quot;Encounter&quot;: type in &quot;Emergency Department Visit&quot;] EDVisit\n    where EDVisit.status = 'finished'\n\ndefine &quot;Initial Population&quot;:\n	&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot;\n\n// TODO: Add doNotPerform to QICore, suggest support in base Resource\n// TODO: Tracker for Device, Not Ordered, ability to represent focalDevice\n//Done\ndefine &quot;No VTE Prophylaxis Device Applied or Ordered&quot;:\n  // NOTE: Should be using device.code, but that requires CQL 1.4\n  (([&quot;DeviceUseStatement&quot;: code in &quot;Venous foot pumps (VFP)&quot;]\n    union [&quot;DeviceUseStatement&quot;: code in &quot;Intermittent pneumatic compression devices (IPC)&quot;]\n    union [&quot;DeviceUseStatement&quot;: code in &quot;Graduated compression stockings (GCS)&quot;]\n  ) D\n    where GetExtension(D.extension, 'http://example.org/fhir/extensions/notDone').value is true\n    //where D.notDone is true // Needs a QI-Core extension to support\n  )\n  union ((\n    [&quot;DeviceRequest&quot;: code in &quot;Venous foot pumps (VFP)&quot;]\n      union [&quot;DeviceRequest&quot;: code in &quot;Intermittent pneumatic compression devices (IPC)&quot;]\n      union [&quot;DeviceRequest&quot;: code in &quot;Graduated compression stockings (GCS)&quot;]\n  ) D\n    where D.intent ~ ToConcept(&quot;Order&quot;)\n      and GetExtension(D.extension, 'http://example.org/fhir/extensions/doNotPerform').value is true\n    //where D.doNotPerform is true // Needs a QI-Core extension to support\n  )\n    \ndefine function GetExtension(Extensions List&lt;Extension&gt;, URL String):\n  singleton from (Extensions E where E.url = URL return E)\n\n//Done\ndefine &quot;No VTE Prophylaxis Device Due to Medical Reason During ED Visit&quot;:\n	from\n		&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n		&quot;ED Visit&quot; EDVisit,\n		&quot;No VTE Prophylaxis Device Applied or Ordered&quot; NoVTEDevice\n		where FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n			and (singleton from NoVTEDevice.reasonCode in &quot;Medical Reason&quot;)\n			and Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during FHIRHelpers.ToInterval(EDVisit.period)\n\n//Done\ndefine &quot;No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Admission&quot;:\n	from\n		&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n		&quot;No VTE Prophylaxis Device Applied or Ordered&quot; NoVTEDevice\n		where (singleton from NoVTEDevice.reasonCode in &quot;Medical Reason&quot;)\n			and Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\n//Done\ndefine &quot;No VTE Prophylaxis Medication Administered or Ordered&quot;:\n	((	[&quot;MedicationAdministration&quot;: medication in &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;]\n	union\n	[&quot;MedicationAdministration&quot;: medication in &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;]\n	union\n	[&quot;MedicationAdministration&quot;: medication in &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;]\n	union\n	[&quot;MedicationAdministration&quot;: medication in &quot;Warfarin&quot;]\n	) MedicationAdm\n		where MedicationAdm.notGiven is true\n	)\n	union\n	 // TODO: Tracker for QI-core to add doNotPerform extension for MedicationRequest and suggest to the base Resource\n	((	[&quot;MedicationRequest&quot;: medication in &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;]\n	union\n	[&quot;MedicationRequest&quot;: medication in &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;]\n	union\n	[&quot;MedicationRequest&quot;: medication in &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;]\n	union\n	[&quot;MedicationRequest&quot;: medication in &quot;Warfarin&quot;]\n	) MedicationOrder\n	where	MedicationOrder.intent = 'order'\n		and GetExtension(MedicationOrder.extension, 'http://example.org/fhir/extensions/doNotPerform').value is true\n		//MedicationOrder.doNotPerform is true // Needs a QI-Core extension to support\n	)\n\n\n//Done\ndefine &quot;No VTE Prophylaxis Medication Due to Medical Reason During ED Visit&quot;:\n	from\n		&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n		&quot;ED Visit&quot; EDVisit,\n		&quot;No VTE Prophylaxis Medication Administered or Ordered&quot; NoVTEMedication\n		where FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n			and (singleton from NoVTEMedication.reasonCode in &quot;Medical Reason&quot;)\n		// TODO: Profile of MedicationAdministration to ensure effective is a Period\n			and Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during FHIRHelpers.ToInterval(EDVisit.period)\n		return QualifyingEncounter\n\n//Done\ndefine &quot;No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Admission&quot;:\n	from\n		&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n		&quot;No VTE Prophylaxis Medication Administered or Ordered&quot; NoVTEMedication\n		where (singleton from NoVTEMedication.reasonCode in &quot;Medical Reason&quot;)\n			and Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n		return QualifyingEncounter\n\n//Done\ndefine &quot;No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure&quot;:\n	from\n		&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n		[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n		&quot;No VTE Prophylaxis Device Applied or Ordered&quot; NoVTEDevice\n		where NoVTEDevice.reasonCode in &quot;Medical Reason&quot;\n			and AnesthesiaProcedure.status = 'completed'\n			// TODO: Profile of procedure to ensure performed is a Period\n			and AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n			and  Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(end of AnesthesiaProcedure.performed)\n		return QualifyingEncounter\n\n//Done\ndefine &quot;Admission Without VTE or Obstetrical Conditions&quot;:\n		(Global.&quot;Inpatient Encounter&quot; InpatientEncounter\n		where not (Global.EncounterDiagnosis(InpatientEncounter).code in &quot;Obstetrics&quot;\n								or Global.EncounterDiagnosis(InpatientEncounter).code in &quot;Venous Thromboembolism&quot;\n								or Global.EncounterDiagnosis(InpatientEncounter).code in &quot;Obstetrics VTE&quot;\n							)\n    )\n		intersect (Global.&quot;Inpatient Encounter&quot; InpatientEncounter\n				without ( [&quot;Condition&quot;: code in &quot;Obstetrics&quot;]\n									union [&quot;Condition&quot;: code in &quot;Venous Thromboembolism&quot;]\n									union [&quot;Condition&quot;: code in &quot;Obstetrics VTE&quot;])	Diagnosis\n				such that Diagnosis.clinicalStatus = 'active'\n        		and Diagnosis.verificationStatus = 'confirmed'\n						and Global.&quot;Normalize Onset&quot;(Diagnosis.onset) during Global.&quot;Hospitalization&quot;(InpatientEncounter)\n						)\n\n//Done\ndefine &quot;No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure&quot;:\n	from\n		&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n		[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n		&quot;No VTE Prophylaxis Medication Administered or Ordered&quot; NoVTEMedication\n		where NoVTEMedication.reasonCode in &quot;Medical Reason&quot;\n			and AnesthesiaProcedure.status = 'completed'\n			and AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n			// TODO: Profile of MedicationAdministration to ensure effective is a Period\n			and Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(end of AnesthesiaProcedure.performed)\n		return QualifyingEncounter\n\n\n//Done\ndefine &quot;Encounter Less Than 2 Days&quot;:\n	&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n		where Global.&quot;LengthInDays&quot;(FHIRHelpers.ToInterval(QualifyingEncounter.period))&lt; 2\n\n\n//Done\ndefine &quot;SCIP VTE Selected Surgery&quot;:\n	(	[&quot;Procedure&quot;: &quot;General Surgery&quot;]\n		union [&quot;Procedure&quot;: &quot;Gynecological Surgery&quot;]\n		union [&quot;Procedure&quot;: &quot;Hip Fracture Surgery&quot;]\n		union [&quot;Procedure&quot;: &quot;Hip Replacement Surgery&quot;]\n		union [&quot;Procedure&quot;: &quot;Intracranial Neurosurgery&quot;]\n		union [&quot;Procedure&quot;: &quot;Knee Replacement Surgery&quot;]\n		union [&quot;Procedure&quot;: &quot;Urological Surgery&quot;] ) P\n		where P.status = 'completed'\n\n\n//Done\ndefine &quot;Intervention Comfort Measures&quot;:\n	([&quot;ProcedureRequest&quot;: &quot;Comfort Measures&quot;] P\n		where P.intent = 'order')\n		union\n		([&quot;Procedure&quot;: &quot;Comfort Measures&quot;] IntervetionPerformed\n		where IntervetionPerformed.status = 'completed')\n\n//Done\ndefine &quot;Intervention Comfort Measures on Day of or Day After Start of Hospitalization&quot;:\n	&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n		with &quot;Intervention Comfort Measures&quot; ComfortMeasure\n	// TODO: Profile of procedure to ensure performed is a Period\n			such that Coalesce(ComfortMeasure.authoredOn, start of ComfortMeasure.performed) 1 day or less on or after day of start of Global.&quot;Hospitalization&quot;(QualifyingEncounter)\n\n//Done\ndefine &quot;Intervention Comfort Measures on Day of or Day After Procedure&quot;:\n	from\n		&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n		[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n		&quot;Intervention Comfort Measures&quot; ComfortMeasure\n		where  AnesthesiaProcedure.status = 'completed'\n				and AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n				and Coalesce(ComfortMeasure.authoredOn, start of ComfortMeasure.performed) 1 day or less on or after day of end of AnesthesiaProcedure.performed\n\n//Done\ndefine &quot;VTE Prophylaxis by Medication Administered or Device Applied&quot;:\n	( [&quot;MedicationAdministration&quot;: medication in &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;] VTEMedication\n			where VTEMedication.status = 'completed'\n						and VTEMedication.dosage.route in &quot;Subcutaneous route&quot;\n	)\n		union [&quot;MedicationAdministration&quot;: medication in &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;]\n		union [&quot;MedicationAdministration&quot;: medication in &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;]\n		union [&quot;MedicationAdministration&quot;: medication in &quot;Warfarin&quot;]\n		union ((\n				[&quot;DeviceUseStatement&quot;: code in &quot;Intermittent pneumatic compression devices (IPC)&quot;]\n				union [&quot;DeviceUseStatement&quot;: code in &quot;Venous foot pumps (VFP)&quot;]\n				union [&quot;DeviceUseStatement&quot;: code in &quot;Graduated compression stockings (GCS)&quot;]\n      ) DeviceApplied\n				where DeviceApplied.status = 'completed'\n    )\n\n//Done\ndefine &quot;VTE Prophylaxis Received on Day of or Day After Admission or Procedure&quot;:\n	( from\n			&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n			&quot;VTE Prophylaxis by Medication Administered or Device Applied&quot; HasVTEProphylaxis\n			// TODO: Profile of MedicationAdministration to ensure effective is a Period\n			where Coalesce(HasVTEProphylaxis.recordedOn, start of HasVTEProphylaxis.effective) during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n			return QualifyingEncounter\n	)\n		union ( from\n				&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n				[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n				&quot;VTE Prophylaxis by Medication Administered or Device Applied&quot; HasVTEProphylaxis\n				where AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n					and Coalesce(HasVTEProphylaxis.recordedOn, start of HasVTEProphylaxis.effective) during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(end of AnesthesiaProcedure.performed)\n				return QualifyingEncounter\n		)\n\n\n//Done\ndefine &quot;Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure&quot;:\n	( from\n			&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n			[&quot;MedicationAdministration&quot;: medication in &quot;Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment&quot;] FactorXaMedication\n			where FactorXaMedication.effective starts during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n			return QualifyingEncounter\n	)\n		union ( from\n				&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n				[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n				[&quot;MedicationAdministration&quot;: medication in &quot;Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment&quot;] FactorXaMedication\n				where AnesthesiaProcedure.status = 'completed'\n				and AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n					and FactorXaMedication.effective starts during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(end of AnesthesiaProcedure.performed)\n				return QualifyingEncounter\n		)\n\n//Done\ndefine &quot;Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE&quot;:\n	( &quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n			with [&quot;Condition&quot;: code in &quot;Atrial Fibrillation/Flutter&quot;] AtrialFibrillation\n				such that AtrialFibrillation.clinicalStatus = 'active'\n				and AtrialFibrillation.verificationStatus = 'confirmed'\n				and Global.&quot;Normalize Onset&quot;(AtrialFibrillation.onset) on or before end of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n	)\n		union ( &quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n				where Global.EncounterDiagnosis(QualifyingEncounter).code in &quot;Atrial Fibrillation/Flutter&quot;\n			)\n		union ( &quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n				with [&quot;Condition&quot;: code in &quot;Venous Thromboembolism&quot;] VTEDiagnosis\n					such that  VTEDiagnosis.clinicalStatus in { 'inactive', 'remission', 'resolved' }\n					and VTEDiagnosis.verificationStatus = 'confirmed'\n					and Global.&quot;Normalize Onset&quot;(VTEDiagnosis.onset) before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n		)\n\n//Done\ndefine &quot;Encounter With ICU Location Stay 1 Day or More&quot;:\n	&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n		where exists ( QualifyingEncounter.location Location\n				where Global.GetLocation(Location.location).type in &quot;Intensive Care Unit&quot;\n					and Global.&quot;LengthInDays&quot;(Location.period)&gt;= 1\n					and Location.period starts during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n		)\n\n\n//Done\ndefine &quot;Encounter With Principal Diagnosis of Mental Disorder or Stroke&quot;:\n	&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n		where Global.&quot;PrincipalDiagnosis&quot;(QualifyingEncounter).code in &quot;Mental Health Diagnoses&quot;\n			or Global.&quot;PrincipalDiagnosis&quot;(QualifyingEncounter).code in &quot;Hemorrhagic Stroke&quot;\n			or Global.&quot;PrincipalDiagnosis&quot;(QualifyingEncounter).code in &quot;Ischemic Stroke&quot;\n\n//Done\n// TODO: Define an ordinality extension to a Procedure profile and ask Patient Administration and/or Patient Care to review\ndefine &quot;Encounter With Principal Procedure of SCIP VTE Selected Surgery&quot;:\n	&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n		with ( &quot;SCIP VTE Selected Surgery&quot; Procedure\n			where GetExtension(Procedure.extension, 'http://example.org/StructureDefinition/ordinality').value ~ &quot;Principal&quot; ) SelectedProcedure\n			such that SelectedProcedure.performed during FHIRHelpers.ToInterval( QualifyingEncounter.period)\n\n//Done\ndefine &quot;Denominator Exclusion&quot;:\n	&quot;Encounter Less Than 2 Days&quot;\n		union &quot;Encounter With ICU Location Stay 1 Day or More&quot;\n		union &quot;Encounter With Principal Diagnosis of Mental Disorder or Stroke&quot;\n		union &quot;Encounter With Principal Procedure of SCIP VTE Selected Surgery&quot;\n		union &quot;Intervention Comfort Measures on Day of or Day After Start of Hospitalization&quot;\n		union &quot;Intervention Comfort Measures on Day of or Day After Procedure&quot;\n\n//Done\ndefine &quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot;:\n	( Global.&quot;Inpatient Encounter&quot; InpatientEncounter\n			with [&quot;Patient&quot;] BirthDate\n				such that Global.&quot;CalendarAgeInYearsAt&quot;(ToDateTime(BirthDate.birthDate), start of FHIRHelpers.ToInterval(InpatientEncounter.period)) &gt;= 18\n	)\n		intersect &quot;Admission Without VTE or Obstetrical Conditions&quot;\n\n//Done\ndefine &quot;Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery&quot;:\n	&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n		with ( [&quot;Procedure&quot;: &quot;Hip Replacement Surgery&quot;]\n			union [&quot;Procedure&quot;: &quot;Knee Replacement Surgery&quot;] ) HipKneeProcedure\n			such that HipKneeProcedure.status = 'completed'\n				and HipKneeProcedure.performed starts on or before end of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\n//Done\ndefine &quot;Low Risk for VTE or Anticoagulant Administered&quot;:\n	&quot;Low Risk for VTE or Anticoagulant Administered During ED Visit&quot;\n		union &quot;Low Risk for VTE or Anticoagulant Administered on Day of or Day After Admission&quot;\n		union &quot;Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure&quot;\n\n//Done\ndefine &quot;No VTE Prophylaxis Due to Medical Reason&quot;:\n	( &quot;No VTE Prophylaxis Medication Due to Medical Reason During ED Visit&quot;\n			intersect &quot;No VTE Prophylaxis Device Due to Medical Reason During ED Visit&quot;\n	)\n		union ( &quot;No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Admission&quot;\n				intersect &quot;No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Admission&quot;\n		)\n		union ( &quot;No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure&quot;\n				intersect &quot;No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure&quot;\n		)\n\n//Done\ndefine &quot;No VTE Prophylaxis Due to Patient Refusal During ED Visit&quot;:\n	from\n		&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n		&quot;ED Visit&quot; EDVisit,\n		&quot;No VTE Prophylaxis Medication or Device Due to Patient Refusal&quot; PatientRefusal\n		where EDVisit.period ends 1 hour or less on or before start of QualifyingEncounter.period\n			and Coalesce(PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn) during EDVisit.period\n		return QualifyingEncounter\n\n//Done\ndefine &quot;No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Admission&quot;:\n	from\n		&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n		&quot;No VTE Prophylaxis Medication or Device Due to Patient Refusal&quot; PatientRefusal\n		where Coalesce(start of PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn)\n      during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of QualifyingEncounter.period)\n		return QualifyingEncounter\n\n//Done\ndefine &quot;No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure&quot;:\n	from\n		&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n		[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n		&quot;No VTE Prophylaxis Medication or Device Due to Patient Refusal&quot; PatientRefusal\n		where AnesthesiaProcedure.performed ends 1 day after day of start of QualifyingEncounter.period\n			and Coalesce(start of PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn)\n        during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(end of AnesthesiaProcedure.performed)\n		return QualifyingEncounter\n\n//Done\ndefine &quot;No VTE Prophylaxis Medication or Device Due to Patient Refusal&quot;:\n	( &quot;No VTE Prophylaxis Medication Administered or Ordered&quot;\n		union &quot;No VTE Prophylaxis Device Applied or Ordered&quot; ) NoVTEProphylaxis\n		where GetExtension(NoVTEProphylaxis.extension, 'http://example.org/StructureDefinition/notDoneReason').value in &quot;Patient Refusal&quot;\n\n//Done\ndefine &quot;No VTE Prophylaxis Due to Patient Refusal&quot;:\n	&quot;No VTE Prophylaxis Due to Patient Refusal During ED Visit&quot;\n		union &quot;No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Admission&quot;\n		union &quot;No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure&quot;\n\n//Done\ndefine &quot;Numerator&quot;:\n	&quot;VTE Prophylaxis Received on Day of or Day After Admission or Procedure&quot;\n		union ( &quot;Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure&quot;\n				intersect ( &quot;Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE&quot;\n						union &quot;Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery&quot;\n				)\n		)\n		union &quot;Low Risk for VTE or Anticoagulant Administered&quot;\n		union &quot;No VTE Prophylaxis Due to Medical Reason&quot;\n		union &quot;No VTE Prophylaxis Due to Patient Refusal&quot;\n\n//Done\ndefine &quot;Is In Low Risk for VTE or On Anticoagulant&quot;:\n	( [&quot;Observation&quot;: &quot;Risk for venous thromboembolism&quot;] VTERiskAssessment\n			where VTERiskAssessment.value in &quot;Low Risk&quot;\n	)\n/*\n// TODO: Issues with constructing the FHIR types here...\n		union ( [&quot;Observation&quot;: &quot;INR&quot;] INRLabTest\n				where INRLabTest.value as Quantity &gt; 3.0\n				return &quot;Observation&quot; { id: INRLabTest.id, effective: INRLabTest.issued }\n		)\n		union ((( [&quot;MedicationAdministration&quot;: &quot;Unfractionated Heparin&quot;] UnfractionatedHeparin\n					where UnfractionatedHeparin.dosage.route in &quot;Intravenous route&quot;\n						)\n				union [&quot;MedicationAdministration&quot;: &quot;Direct Thrombin Inhibitor&quot;]\n				union [&quot;MedicationAdministration&quot;: &quot;Glycoprotein IIb/IIIa Inhibitors&quot;] ) AnticoagulantMedication\n					return &quot;Observation&quot; { id: AnticoagulantMedication.id, effective: start of effective}\n		)\n*/\n\n//Done\ndefine &quot;Low Risk for VTE or Anticoagulant Administered During ED Visit&quot;:\n	from\n		&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n		&quot;ED Visit&quot; EDVisit,\n		&quot;Is In Low Risk for VTE or On Anticoagulant&quot; VTERiskAssessment\n		where FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n			and VTERiskAssessment.issued during FHIRHelpers.ToInterval(EDVisit.period)\n		return QualifyingEncounter\n\n//Done\ndefine &quot;Low Risk for VTE or Anticoagulant Administered on Day of or Day After Admission&quot;:\n	&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n		with &quot;Is In Low Risk for VTE or On Anticoagulant&quot; VTERiskAssessment\n			such that VTERiskAssessment.issued during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\n//Done\ndefine &quot;Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure&quot;:\n	from\n		&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n		[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n		&quot;Is In Low Risk for VTE or On Anticoagulant&quot; VTERiskAssessment\n		where AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n			and VTERiskAssessment.issued during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(end of FHIRHelpers.ToInterval(AnesthesiaProcedure.performed))\n		return QualifyingEncounter\n</code></pre>\n                    \n                    \n                </td>\n            </tr>\n        \n    </table>\n</div>"
  ];
  fhir:Library.url [ fhir:value "http://hl7.org/fhir/us/cqfmeasures/Library/vte-1-fhir"];
  fhir:Library.identifier [
     fhir:index 0;
     fhir:Identifier.use [ fhir:value "official" ];
     fhir:Identifier.system [ fhir:value "http://example.org/fhir/cqi/ecqm/Library/Identifier" ];
     fhir:Identifier.value [ fhir:value "VenousThromboembolismProphylaxis_FHIR" ]
  ];
  fhir:Library.version [ fhir:value "1.0.0"];
  fhir:Library.name [ fhir:value "VTE_1_FHIR"];
  fhir:Library.title [ fhir:value "Venous Thromboembolism Prophylaxis FHIR"];
  fhir:Library.status [ fhir:value "active"];
  fhir:Library.experimental [ fhir:value "true"^^xsd:boolean];
  fhir:Library.type [
     fhir:CodeableConcept.coding [
       fhir:index 0;
       fhir:Coding.system [ fhir:value "http://hl7.org/fhir/library-type" ];
       fhir:Coding.code [ fhir:value "logic-library" ]     ]
  ];
  fhir:Library.date [ fhir:value "2019-09-03T00:00:00-04:00"^^xsd:dateTime];
  fhir:Library.publisher [ fhir:value "Health Level 7 International - Clinical Quality Information Work Group"];
  fhir:Library.description [ fhir:value "This library is used as an example in the FHIR Quality Measure Implementation Guide"];
  fhir:Library.approvalDate [ fhir:value "2019-08-03"^^xsd:date];
  fhir:Library.lastReviewDate [ fhir:value "2019-08-03"^^xsd:date];
  fhir:Library.jurisdiction [
     fhir:index 0;
     fhir:CodeableConcept.coding [
       fhir:index 0;
       fhir:Coding.system [ fhir:value "urn:iso:std:iso:3166" ];
       fhir:Coding.code [ fhir:value "US" ];
       fhir:Coding.display [ fhir:value "United States of America" ]     ]
  ];
  fhir:Library.contact [
     fhir:index 0;
     fhir:ContactDetail.telecom [
       fhir:index 0;
       fhir:ContactPoint.system [ fhir:value "url" ];
       fhir:ContactPoint.value [ fhir:value "http://www.hl7.org/Special/committees/cqi/index.cfm" ]     ]
  ];
  fhir:Library.relatedArtifact [
     fhir:index 0;
     fhir:RelatedArtifact.type [ fhir:value "depends-on" ];
     fhir:RelatedArtifact.resource [
       fhir:Reference.reference [ fhir:value "Library/fhirhelpers" ]     ]
  ], [
     fhir:index 1;
     fhir:RelatedArtifact.type [ fhir:value "depends-on" ];
     fhir:RelatedArtifact.resource [
       fhir:Reference.reference [ fhir:value "Library/matglobalcommonfunctions-fhir" ]     ]
  ], [
     fhir:index 2;
     fhir:RelatedArtifact.type [ fhir:value "depends-on" ];
     fhir:RelatedArtifact.resource [
       fhir:Reference.reference [ fhir:value "Library/vteicu-fhir" ]     ]
  ], [
     fhir:index 3;
     fhir:RelatedArtifact.type [ fhir:value "depends-on" ];
     fhir:RelatedArtifact.resource [
       fhir:Reference.reference [ fhir:value "Library/supplementaldataelements-fhir" ]     ]
  ];
  fhir:Library.dataRequirement [
     fhir:index 0;
     fhir:DataRequirement.type [ fhir:value "Encounter" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "type" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" ]       ]     ]
  ], [
     fhir:index 1;
     fhir:DataRequirement.type [ fhir:value "Encounter" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "type" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" ]       ]     ]
  ], [
     fhir:index 2;
     fhir:DataRequirement.type [ fhir:value "Condition" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "id" ]     ]
  ], [
     fhir:index 3;
     fhir:DataRequirement.type [ fhir:value "Condition" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "id" ]     ]
  ], [
     fhir:index 4;
     fhir:DataRequirement.type [ fhir:value "Location" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "id" ]     ]
  ], [
     fhir:index 5;
     fhir:DataRequirement.type [ fhir:value "Encounter" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "type" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" ]       ]     ]
  ], [
     fhir:index 6;
     fhir:DataRequirement.type [ fhir:value "Encounter" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "type" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" ]       ]     ]
  ], [
     fhir:index 7;
     fhir:DataRequirement.type [ fhir:value "Condition" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "id" ]     ]
  ], [
     fhir:index 8;
     fhir:DataRequirement.type [ fhir:value "Condition" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "id" ]     ]
  ], [
     fhir:index 9;
     fhir:DataRequirement.type [ fhir:value "Location" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "id" ]     ]
  ], [
     fhir:index 10;
     fhir:DataRequirement.type [ fhir:value "Coverage" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "type" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" ]       ]     ]
  ], [
     fhir:index 11;
     fhir:DataRequirement.type [ fhir:value "Patient" ]
  ], [
     fhir:index 12;
     fhir:DataRequirement.type [ fhir:value "Condition" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.263>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.263" ]       ]     ]
  ], [
     fhir:index 13;
     fhir:DataRequirement.type [ fhir:value "Condition" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279" ]       ]     ]
  ], [
     fhir:index 14;
     fhir:DataRequirement.type [ fhir:value "Condition" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264" ]       ]     ]
  ], [
     fhir:index 15;
     fhir:DataRequirement.type [ fhir:value "Encounter" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "type" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" ]       ]     ]
  ], [
     fhir:index 16;
     fhir:DataRequirement.type [ fhir:value "DeviceUseStatement" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230" ]       ]     ]
  ], [
     fhir:index 17;
     fhir:DataRequirement.type [ fhir:value "DeviceUseStatement" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214" ]       ]     ]
  ], [
     fhir:index 18;
     fhir:DataRequirement.type [ fhir:value "DeviceUseStatement" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256" ]       ]     ]
  ], [
     fhir:index 19;
     fhir:DataRequirement.type [ fhir:value "DeviceRequest" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230" ]       ]     ]
  ], [
     fhir:index 20;
     fhir:DataRequirement.type [ fhir:value "DeviceRequest" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214" ]       ]     ]
  ], [
     fhir:index 21;
     fhir:DataRequirement.type [ fhir:value "DeviceRequest" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256" ]       ]     ]
  ], [
     fhir:index 22;
     fhir:DataRequirement.type [ fhir:value "MedicationAdministration" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" ]       ]     ]
  ], [
     fhir:index 23;
     fhir:DataRequirement.type [ fhir:value "MedicationAdministration" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" ]       ]     ]
  ], [
     fhir:index 24;
     fhir:DataRequirement.type [ fhir:value "MedicationAdministration" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" ]       ]     ]
  ], [
     fhir:index 25;
     fhir:DataRequirement.type [ fhir:value "MedicationAdministration" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" ]       ]     ]
  ], [
     fhir:index 26;
     fhir:DataRequirement.type [ fhir:value "MedicationRequest" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" ]       ]     ]
  ], [
     fhir:index 27;
     fhir:DataRequirement.type [ fhir:value "MedicationRequest" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" ]       ]     ]
  ], [
     fhir:index 28;
     fhir:DataRequirement.type [ fhir:value "MedicationRequest" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" ]       ]     ]
  ], [
     fhir:index 29;
     fhir:DataRequirement.type [ fhir:value "MedicationRequest" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" ]       ]     ]
  ], [
     fhir:index 30;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" ]       ]     ]
  ], [
     fhir:index 31;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" ]       ]     ]
  ], [
     fhir:index 32;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255" ]       ]     ]
  ], [
     fhir:index 33;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257" ]       ]     ]
  ], [
     fhir:index 34;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258" ]       ]     ]
  ], [
     fhir:index 35;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259" ]       ]     ]
  ], [
     fhir:index 36;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260" ]       ]     ]
  ], [
     fhir:index 37;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261" ]       ]     ]
  ], [
     fhir:index 38;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272" ]       ]     ]
  ], [
     fhir:index 39;
     fhir:DataRequirement.type [ fhir:value "ProcedureRequest" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" ]       ]     ]
  ], [
     fhir:index 40;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" ]       ]     ]
  ], [
     fhir:index 41;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" ]       ]     ]
  ], [
     fhir:index 42;
     fhir:DataRequirement.type [ fhir:value "MedicationAdministration" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" ]       ]     ]
  ], [
     fhir:index 43;
     fhir:DataRequirement.type [ fhir:value "MedicationAdministration" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" ]       ]     ]
  ], [
     fhir:index 44;
     fhir:DataRequirement.type [ fhir:value "MedicationAdministration" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" ]       ]     ]
  ], [
     fhir:index 45;
     fhir:DataRequirement.type [ fhir:value "MedicationAdministration" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" ]       ]     ]
  ], [
     fhir:index 46;
     fhir:DataRequirement.type [ fhir:value "DeviceUseStatement" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214" ]       ]     ]
  ], [
     fhir:index 47;
     fhir:DataRequirement.type [ fhir:value "DeviceUseStatement" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230" ]       ]     ]
  ], [
     fhir:index 48;
     fhir:DataRequirement.type [ fhir:value "DeviceUseStatement" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256" ]       ]     ]
  ], [
     fhir:index 49;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" ]       ]     ]
  ], [
     fhir:index 50;
     fhir:DataRequirement.type [ fhir:value "MedicationAdministration" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134" ]       ]     ]
  ], [
     fhir:index 51;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" ]       ]     ]
  ], [
     fhir:index 52;
     fhir:DataRequirement.type [ fhir:value "MedicationAdministration" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "medication" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134" ]       ]     ]
  ], [
     fhir:index 53;
     fhir:DataRequirement.type [ fhir:value "Condition" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202" ]       ]     ]
  ], [
     fhir:index 54;
     fhir:DataRequirement.type [ fhir:value "Condition" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279" ]       ]     ]
  ], [
     fhir:index 55;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259" ]       ]     ]
  ], [
     fhir:index 56;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261" ]       ]     ]
  ], [
     fhir:index 57;
     fhir:DataRequirement.type [ fhir:value "Observation" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ]     ]
  ], [
     fhir:index 58;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" ]       ]     ]
  ], [
     fhir:index 59;
     fhir:DataRequirement.type [ fhir:value "Procedure" ];
     fhir:DataRequirement.codeFilter [
       fhir:index 0;
       fhir:DataRequirement.codeFilter.path [ fhir:value "code" ];
       fhir:DataRequirement.codeFilter.valueSetReference [
         fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743>;
         fhir:Reference.reference [ fhir:value "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" ]       ]     ]
  ];
  fhir:Library.content [
     fhir:index 0;
     fhir:Attachment.contentType [ fhir:value "application/elm+xml" ];
     fhir:Attachment.data [ fhir:value "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMTM2IiBzdGFydENoYXI9IjUiIGVuZExpbmU9IjEzNiIgZW5kQ2hhcj0iNjEiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIGNvZGUgcGF0aCBjb2RlIGZvciB0aGUgdHlwZSBvZiB0aGUgcmV0cmlldmUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnQuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMTM2IiBzdGFydENoYXI9IjUiIGVuZExpbmU9IjEzNiIgZW5kQ2hhcj0iNjEiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMTM3IiBzdGFydENoYXI9IjExIiBlbmRMaW5lPSIxMzciIGVuZENoYXI9IjkyIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBjb2RlIHBhdGggY29kZSBmb3IgdGhlIHR5cGUgb2YgdGhlIHJldHJpZXZlIEZISVIuRGV2aWNlVXNlU3RhdGVtZW50LiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjEzNyIgc3RhcnRDaGFyPSIxMSIgZW5kTGluZT0iMTM3IiBlbmRDaGFyPSI5MiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIxMzgiIHN0YXJ0Q2hhcj0iMTEiIGVuZExpbmU9IjEzOCIgZW5kQ2hhcj0iODEiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIGNvZGUgcGF0aCBjb2RlIGZvciB0aGUgdHlwZSBvZiB0aGUgcmV0cmlldmUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnQuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMTM4IiBzdGFydENoYXI9IjExIiBlbmRMaW5lPSIxMzgiIGVuZENoYXI9IjgxIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjMyMCIgc3RhcnRDaGFyPSI1IiBlbmRMaW5lPSIzMjAiIGVuZENoYXI9Ijg2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBjb2RlIHBhdGggY29kZSBmb3IgdGhlIHR5cGUgb2YgdGhlIHJldHJpZXZlIEZISVIuRGV2aWNlVXNlU3RhdGVtZW50LiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjMyMCIgc3RhcnRDaGFyPSI1IiBlbmRMaW5lPSIzMjAiIGVuZENoYXI9Ijg2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjMyMSIgc3RhcnRDaGFyPSIxMSIgZW5kTGluZT0iMzIxIiBlbmRDaGFyPSI2NyIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgY29kZSBwYXRoIGNvZGUgZm9yIHRoZSB0eXBlIG9mIHRoZSByZXRyaWV2ZSBGSElSLkRldmljZVVzZVN0YXRlbWVudC4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIzMjEiIHN0YXJ0Q2hhcj0iMTEiIGVuZExpbmU9IjMyMSIgZW5kQ2hhcj0iNjciIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMzIyIiBzdGFydENoYXI9IjExIiBlbmRMaW5lPSIzMjIiIGVuZENoYXI9IjgxIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBjb2RlIHBhdGggY29kZSBmb3IgdGhlIHR5cGUgb2YgdGhlIHJldHJpZXZlIEZISVIuRGV2aWNlVXNlU3RhdGVtZW50LiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjMyMiIgc3RhcnRDaGFyPSIxMSIgZW5kTGluZT0iMzIyIiBlbmRDaGFyPSI4MSIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI1MDYiIHN0YXJ0Q2hhcj0iNCIgZW5kTGluZT0iNTA2IiBlbmRDaGFyPSI1MyIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGlkZW50aWZpZXIgaWQ9IlZURV8xX0ZISVIiIHZlcnNpb249IjcuNC4wMDAiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikdsb2JhbCIgcGF0aD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIiIHZlcnNpb249IjIuMC4wMDAiLz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlZURUlDVSIgcGF0aD0iVlRFSUNVX0ZISVIiIHZlcnNpb249IjIuNC4wMDAiLz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIiIHZlcnNpb249IjEuMC4wIi8+CiAgIDwvaW5jbHVkZXM+CiAgIDxjb2RlU3lzdGVtcz4KICAgICAgPGRlZiBuYW1lPSJTTk9NRUQgQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iUmVxdWVzdEludGVudCIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgPC9jb2RlU3lzdGVtcz4KICAgPHZhbHVlU2V0cz4KICAgICAgPGRlZiBuYW1lPSJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IlBheWVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IkF0cmlhbCBGaWJyaWxsYXRpb24vRmx1dHRlciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iRGlyZWN0IFRocm9tYmluIEluaGliaXRvciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMTc0MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IkdlbmVyYWwgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNTUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJHbHljb3Byb3RlaW4gSUliL0lJSWEgSW5oaWJpdG9ycyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA0NS40MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iR3luZWNvbG9naWNhbCBTdXJnZXJ5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJIaXAgRnJhY3R1cmUgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNTgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJIaXAgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNTkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJJTlIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iSW50ZXJtaXR0ZW50IHBuZXVtYXRpYyBjb21wcmVzc2lvbiBkZXZpY2VzIChJUEMpIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IkludHJhY3JhbmlhbCBOZXVyb3N1cmdlcnkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iSW50cmF2ZW5vdXMgcm91dGUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjIyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEwNDUuMzkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJMb3cgTW9sZWN1bGFyIFdlaWdodCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iTG93IFJpc2siIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDAwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iTWVkaWNhbCBSZWFzb24iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iTWVudGFsIEhlYWx0aCBEaWFnbm9zZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDUuMTIuMTAwNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9Ik9ic3RldHJpY3MiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iT2JzdGV0cmljcyBWVEUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjY0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMgb3IgVlRFIFRyZWF0bWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4xMzQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IFJlZnVzYWwiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuOTMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJTdWJjdXRhbmVvdXMgcm91dGUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJVcm9sb2dpY2FsIFN1cmdlcnkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjcyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iVmVub3VzIGZvb3QgcHVtcHMgKFZGUCkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjMwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iVmVub3VzIFRocm9tYm9lbWJvbGlzbSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNzkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJXYXJmYXJpbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMzIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJJbnRlbnNpdmUgQ2FyZSBVbml0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29kZXM+CiAgICAgIDxkZWYgbmFtZT0iUmlzayBmb3IgdmVub3VzIHRocm9tYm9lbWJvbGlzbSIgaWQ9IjcyMTM2LTUiIGRpc3BsYXk9IlJpc2sgZm9yIHZlbm91cyB0aHJvbWJvZW1ib2xpc20iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJQcmluY2lwYWwiIGlkPSI2MzE2MTAwNSIgZGlzcGxheT0iUHJpbmNpcGFsIChxdWFsaWZpZXIgdmFsdWUpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEIENUIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ik9yZGVyIiBpZD0ib3JkZXIiIGRpc3BsYXk9Ik9yZGVyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iUmVxdWVzdEludGVudCIvPgogICAgICA8L2RlZj4KICAgPC9jb2Rlcz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBFdGhuaWNpdHkiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBQYXllciIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgUmFjZSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBTZXgiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkFkbWlzc2lvbiBXaXRob3V0IFZURSBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkludGVyc2VjdCI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklucGF0aWVudCBFbmNvdW50ZXIiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlckRpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW5wYXRpZW50RW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJPYnN0ZXRyaWNzIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlZlbm91cyBUaHJvbWJvZW1ib2xpc20iLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlckRpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW5wYXRpZW50RW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJPYnN0ZXRyaWNzIFZURSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iRGlhZ25vc2lzIiB4c2k6dHlwZT0iV2l0aG91dCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iT2JzdGV0cmljcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJWZW5vdXMgVGhyb21ib2VtYm9saXNtIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iT2JzdGV0cmljcyBWVEUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmVyaWZpY2F0aW9uU3RhdHVzIiBzY29wZT0iRGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluY2x1ZGVkSW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iRGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImxvdyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRlY2ltYWwiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvd0Nsb3NlZEV4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImhpZ2giIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoQ2xvc2VkRXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJbnRlcnNlY3QiPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQmlydGhEYXRlIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgc2NvcGU9IkJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFkbWlzc2lvbiBXaXRob3V0IFZURSBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVEVmlzaXQiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkV4dGVuc2lvbnMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlVSTCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPHJldHVybj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRXh0ZW5zaW9ucyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbmFtZT0iZmhpcjpFeHRlbnNpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJVUkwiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkQiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlZlbm91cyBmb290IHB1bXBzIChWRlApIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSXNUcnVlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Cb29sZWFuIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpib29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL2ZoaXIvZXh0ZW5zaW9ucy9ub3REb25lIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkRldmljZVJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlZlbm91cyBmb290IHB1bXBzIChWRlApIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyAoR0NTKSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlbnQiIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iT3JkZXIiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNUcnVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Cb29sZWFuIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpib29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL2ZoaXIvZXh0ZW5zaW9ucy9kb05vdFBlcmZvcm0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgQXBwbGllZCBvciBPcmRlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJob3VyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9Ik1lZGljYWwgUmVhc29uIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJOb1ZURURldmljZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJOb1ZURURldmljZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0idHJ1ZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJUdXBsZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBuYW1lPSJFRFZpc2l0IiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBuYW1lPSJOb1ZURURldmljZSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9Ik1lZGljYWwgUmVhc29uIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWNvcmRlZE9uIiBzY29wZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGxpYnJhcnlOYW1lPSJWVEVJQ1UiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0idHJ1ZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJUdXBsZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJNZWRpY2F0aW9uQWRtIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSW5qZWN0YWJsZSBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iV2FyZmFyaW4iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJc1RydWUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0Jvb2xlYW4iIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibm90R2l2ZW4iIHNjb3BlPSJNZWRpY2F0aW9uQWRtIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTWVkaWNhdGlvbk9yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkxvdyBEb3NlIFVuZnJhY3Rpb25hdGVkIEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSW5qZWN0YWJsZSBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJXYXJmYXJpbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ik1lZGljYXRpb25PcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc1RydWUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0Jvb2xlYW4iIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTWVkaWNhdGlvbk9yZGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9maGlyL2V4dGVuc2lvbnMvZG9Ob3RQZXJmb3JtIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURU1lZGljYXRpb24iPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTWVkaWNhbCBSZWFzb24iLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJOb1ZURU1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURU1lZGljYXRpb24iPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJOb1ZURU1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQW5lc3RoZXNpYVByb2NlZHVyZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InJlYXNvbkNvZGUiIHNjb3BlPSJOb1ZURURldmljZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9Ik1lZGljYWwgUmVhc29uIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZUFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVjb3JkZWRPbiIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURU1lZGljYXRpb24iPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9Ik1lZGljYWwgUmVhc29uIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZUFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJOb1ZURU1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgTGVzcyBUaGFuIDIgRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTGVuZ3RoSW5EYXlzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IlNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHZW5lcmFsIFN1cmdlcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iR3luZWNvbG9naWNhbCBTdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSGlwIEZyYWN0dXJlIFN1cmdlcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkludHJhY3JhbmlhbCBOZXVyb3N1cmdlcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJVcm9sb2dpY2FsIFN1cmdlcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUCI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaW50ZW50IiBzY29wZT0iUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnRlcnZldGlvblBlcmZvcm1lZCI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJJbnRlcnZldGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFN0YXJ0IG9mIEhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDxzdWNoVGhhdCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb21mb3J0TWVhc3VyZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJ0cnVlIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlR1cGxlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIG5hbWU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkNvbWZvcnRNZWFzdXJlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIG5hbWU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZURU1lZGljYXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkxvdyBEb3NlIFVuZnJhY3Rpb25hdGVkIEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb3V0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkb3NhZ2UiIHNjb3BlPSJWVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJTdWJjdXRhbmVvdXMgcm91dGUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSW5qZWN0YWJsZSBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iV2FyZmFyaW4iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEZXZpY2VBcHBsaWVkIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVmVub3VzIGZvb3QgcHVtcHMgKFZGUCkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHcmFkdWF0ZWQgY29tcHJlc3Npb24gc3RvY2tpbmdzIChHQ1MpIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRGV2aWNlQXBwbGllZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IlZURSBQcm9waHlsYXhpcyBSZWNlaXZlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiBvciBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhhc1ZURVByb3BoeWxheGlzIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVlRFIFByb3BoeWxheGlzIGJ5IE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIERldmljZSBBcHBsaWVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVjb3JkZWRPbiIgc2NvcGU9Ikhhc1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9Ikhhc1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPHJldHVybj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQW5lc3RoZXNpYVByb2NlZHVyZSI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhhc1ZURVByb3BoeWxheGlzIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVlRFIFByb3BoeWxheGlzIGJ5IE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIERldmljZSBBcHBsaWVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWNvcmRlZE9uIiBzY29wZT0iSGFzVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iSGFzVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ik1lZGljYXRpb24gT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiBvciBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkZhY3RvclhhTWVkaWNhdGlvbiI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMgb3IgVlRFIFRyZWF0bWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkZhY3RvclhhTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRmFjdG9yWGFNZWRpY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyBvciBWVEUgVHJlYXRtZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkZhY3RvclhhTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgRGlhZ25vc2lzIG9mIEF0cmlhbCBGaWJyaWxsYXRpb24gb3IgVlRFIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJBdHJpYWxGaWJyaWxsYXRpb24iIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBdHJpYWwgRmlicmlsbGF0aW9uL0ZsdXR0ZXIiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNsaW5pY2FsU3RhdHVzIiBzY29wZT0iQXRyaWFsRmlicmlsbGF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IkF0cmlhbEZpYnJpbGxhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTYW1lT3JCZWZvcmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iQXRyaWFsRmlicmlsbGF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRlY2ltYWwiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJBdHJpYWwgRmlicmlsbGF0aW9uL0ZsdXR0ZXIiLz4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iVlRFRGlhZ25vc2lzIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVmVub3VzIFRocm9tYm9lbWJvbGlzbSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJWVEVEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImluYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icmVtaXNzaW9uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icmVzb2x2ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJWVEVEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQmVmb3JlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9IlZURURpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiBTdGF5IDEgRGF5IG9yIE1vcmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTG9jYXRpb24iPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idHlwZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRMb2NhdGlvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkludGVuc2l2ZSBDYXJlIFVuaXQiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iTG9jYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBvZiBNZW50YWwgRGlzb3JkZXIgb3IgU3Ryb2tlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZW50YWwgSGVhbHRoIERpYWdub3NlcyIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iSGVtb3JyaGFnaWMgU3Ryb2tlIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IklzY2hlbWljIFN0cm9rZSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIFByb2NlZHVyZSBvZiBTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJTZWxlY3RlZFByb2NlZHVyZSIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQcm9jZWR1cmUiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db2RlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL29yZGluYWxpdHkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJQcmluY2lwYWwiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJJbmNsdWRlZEluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJTZWxlY3RlZFByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBMZXNzIFRoYW4gMiBEYXlzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24gU3RheSAxIERheSBvciBNb3JlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBXaXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgb2YgTWVudGFsIERpc29yZGVyIG9yIFN0cm9rZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIFByb2NlZHVyZSBvZiBTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkNvbWZvcnRNZWFzdXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBTdGFydCBvZiBIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJDb21mb3J0TWVhc3VyZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iQW5lc3RoZXNpYVByb2NlZHVyZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iQ29tZm9ydE1lYXN1cmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJDb21mb3J0TWVhc3VyZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBQcm9jZWR1cmUgb2YgSGlwIG9yIEtuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iSGlwS25lZVByb2NlZHVyZSIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhpcCBSZXBsYWNlbWVudCBTdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkhpcEtuZWVQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNhbWVPckJlZm9yZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iSGlwS25lZVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWVEVSaXNrQXNzZXNzbWVudCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUmlzayBmb3IgdmVub3VzIHRocm9tYm9lbWJvbGlzbSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJWVEVSaXNrQXNzZXNzbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTG93IFJpc2siLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIER1cmluZyBFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVlRFUmlza0Fzc2Vzc21lbnQiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaXNzdWVkIiBzY29wZT0iVlRFUmlza0Fzc2Vzc21lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iVlRFUmlza0Fzc2Vzc21lbnQiIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpc3N1ZWQiIHNjb3BlPSJWVEVSaXNrQXNzZXNzbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGxpYnJhcnlOYW1lPSJWVEVJQ1UiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWVEVSaXNrQXNzZXNzbWVudCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaXNzdWVkIiBzY29wZT0iVlRFUmlza0Fzc2Vzc21lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBEdXJpbmcgRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIE1lZGljYWwgUmVhc29uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkludGVyc2VjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIER1cmluZyBFRCBWaXNpdCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJFRFZpc2l0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbnRlcnNlY3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbnRlcnNlY3QiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBvciBEZXZpY2UgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vVlRFUHJvcGh5bGF4aXMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgQXBwbGllZCBvciBPcmRlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgPGNvZGUgeHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICAgICAgICA8Y2FzZUl0ZW0+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVuIGlzVHlwZT0iZmhpcjpiYXNlNjRCaW5hcnkiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTm9WVEVQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpiYXNlNjRCaW5hcnkiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTm9WVEVQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICAgICAgICA8d2hlbiBpc1R5cGU9ImZoaXI6Y29kZSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJOb1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmNvZGUiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTm9WVEVQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICAgICAgICA8d2hlbiBpc1R5cGU9ImZoaXI6aWQiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTm9WVEVQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjppZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJOb1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICAgICA8Y2FzZUl0ZW0+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVuIGlzVHlwZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJOb1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOm1hcmtkb3duIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL1N0cnVjdHVyZURlZmluaXRpb24vbm90RG9uZVJlYXNvbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgICAgICAgPHdoZW4gaXNUeXBlPSJmaGlyOm9pZCIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJOb1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOm9pZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJOb1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICAgICA8Y2FzZUl0ZW0+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVuIGlzVHlwZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTm9WVEVQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTm9WVEVQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICAgICAgICA8d2hlbiBpc1R5cGU9ImZoaXI6dXJpIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL1N0cnVjdHVyZURlZmluaXRpb24vbm90RG9uZVJlYXNvbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6dXJpIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL1N0cnVjdHVyZURlZmluaXRpb24vbm90RG9uZVJlYXNvbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgICAgIDxlbHNlIHJlc3VsdFR5cGVOYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBSZWZ1c2FsIi8+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgRHVyaW5nIEVEIFZpc2l0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQYXRpZW50UmVmdXNhbCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iUGF0aWVudFJlZnVzYWwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQYXRpZW50UmVmdXNhbCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iUGF0aWVudFJlZnVzYWwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWNvcmRlZE9uIiBzY29wZT0iUGF0aWVudFJlZnVzYWwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGxpYnJhcnlOYW1lPSJWVEVJQ1UiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQW5lc3RoZXNpYVByb2NlZHVyZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhdGllbnRSZWZ1c2FsIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gb3IgRGV2aWNlIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZUFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IlBhdGllbnRSZWZ1c2FsIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iUGF0aWVudFJlZnVzYWwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVjb3JkZWRPbiIgc2NvcGU9IlBhdGllbnRSZWZ1c2FsIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIER1cmluZyBFRCBWaXNpdCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVlRFIFByb3BoeWxheGlzIFJlY2VpdmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkludGVyc2VjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lZGljYXRpb24gT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiBvciBQcm9jZWR1cmUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgRGlhZ25vc2lzIG9mIEF0cmlhbCBGaWJyaWxsYXRpb24gb3IgVlRFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IFByb2NlZHVyZSBvZiBIaXAgb3IgS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBNZWRpY2FsIFJlYXNvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJFRFZpc2l0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo="^^xsd:base64Binary ]
  ], [
     fhir:index 1;
     fhir:Attachment.contentType [ fhir:value "text/cql" ];
     fhir:Attachment.data [ fhir:value "bGlicmFyeSBWVEVfMV9GSElSIHZlcnNpb24gJzcuNC4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCi8qCkRhdGEgVHlwZXMgVXNlZDoKCkVuY291bnRlcgpEZXZpY2VVc2VTdGF0ZW1lbnQKRGV2aWNlUmVxdWVzdApNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24KTWVkaWNhdGlvblJlcXVlc3QKUHJvY2VkdXJlIC0gb3JkaW5hbGl0eSBleHRlbnNpb24KUHJvY2VkdXJlUmVxdWVzdApDb25kaXRpb24KKi8KCi8qCkRldmVsb3BtZW50IE5vdGVzOgoKICAgIE5lZWQgdG8gZGVmaW5lIOKAnGRvTm90UGVyZm9t4oCdIFFJQ29yZSBleHRlbnNpb24gdG8gc3VwcG9ydCDigJxOb3REb25lIGlzIHRydWXigJ0gZXhwcmVzc2lvbi4gU3VnZ2VzdCB0byB0aGUgYmFzZSBSZXNvdXJjZSBmb3IgdGhlIGZvbGxvd2luZyBwcm9maWxlcyDigJMgCgogICAgICAgIERldmljZVVzZVN0YXRlbWVudAogICAgICAgIERldmljZVJlcXVlc3QKICAgICAgICBNZWRpY2F0aW9uUmVxdWVzdAoKICAgIE5lZWQgdG8gZGVmaW5lIGFuIOKAnG9yZGluYWxpdHnigJ0gZXh0ZW5zaW9uIGZvciBQcm9jZWR1cmUgcHJvZmlsZSB0byBzdXBwb3J0IOKAnFByb2NlZHVyZS5vcmRpbmFsaXR5IH4gIlByaW5jaXBhbCIgZXhwcmVzc2lvbi4gCgogICAgTmVlZCB0byBjb25maXJtIHRoZSBmb2xsb3dpbmcgcHJvZmlsZXMgYW5kIGVuc3VyZSBQZXJpb2QgaXMgYSBkZWZhdWx0IHR5cGUgLSAKCiAgICAgICAgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLmVmZmVjdGl2ZQogICAgICAgIFByb2NlZHVyZS5wZXJmb3JtZWQKCiAgICBTdWdnZXN0IGRlZmluaW5nIOKAnHJlY29yZGVkT27igJwgdG8gc3VwcG9ydCB0aGUgdGltaW5ncyBmb3Ig4oCcTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLm5vdEdpdmVu4oCdIGFuZCDigJxQcm9jZWR1cmUubm90RG9uZeKAnS4gc2VlIHRoZSBoaWdobGlnaHRlZCBmaWVsZHMgYmVsb3cuCgp8UHJvZmlsZSAgICAgICAgICAgICAgICAgICB8VGltaW5nIHVzZWQgZm9yIERvbmUgfFRpbWluZyB1c2VkIGZvciBkb05vdFBlcmZvcm0gfFRKQyBjb21tZW50cyAgICAgICAgICB8CnwtLS18LS0tfC0tLXwtLS18CnxEZXZpY2VVc2VTdGF0ZW1lbnQgICAgICAgIHx3aGVuVXNlZCAgICAgICAgICAgICB8cmVjb3JkZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAp8RGV2aWNlUmVxdWVzdCAgICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgfGF1dGhvcmVkT24gICAgICAgICAgICAgICAgICAgfCAgIHwKfE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiAgfGVmZmVjdGl2ZSAgICAgICAgICAgIHxlZmZlY3RpdmUgICAgICAgICAgICAgICAgICAgIHwgU3VnZ2VzdCBhZGRpbmcgcmVjb3JkZWRPbiBmb3Igbm90R2l2ZW4gdGltaW5nIHwKfE1lZGljYXRpb25SZXF1ZXN0ICAgICAgICAgfGF1dGhvcmVkT24gICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICAgICAgICAgIHwgICB8CnxQcm9jZWR1cmUgICAgICAgICAgICAgICAgIHxwZXJmb3JtZWQgICAgICAgICAgICB8cGVyZm9ybWVkICAgICAgICAgICAgICAgICAgICB8IFN1Z2dlc3QgYWRkaW5nIHJlY29yZGVkT24gZm9yIG5vdERvbmUgdGltaW5nIHwKfFByb2NlZHVyZVJlcXVlc3QgICAgICAgICAgfGF1dGhvcmVkT24gICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICAgICAgICAgIHwgICB8CQoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBWVEVJQ1VfRkhJUiB2ZXJzaW9uICcyLjQuMDAwJyBjYWxsZWQgVlRFSUNVCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRCBDVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDInCnZhbHVlc2V0ICJDb21mb3J0IE1lYXN1cmVzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NScKdmFsdWVzZXQgIkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNScKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTInCnZhbHVlc2V0ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjE3NDMnCnZhbHVlc2V0ICJHZW5lcmFsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NScKdmFsdWVzZXQgIkdseWNvcHJvdGVpbiBJSWIvSUlJYSBJbmhpYml0b3JzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA0NS40MScKdmFsdWVzZXQgIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NicKdmFsdWVzZXQgIkd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJIaXAgRnJhY3R1cmUgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU4Jwp2YWx1ZXNldCAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1OScKdmFsdWVzZXQgIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTEnCnZhbHVlc2V0ICJJTlIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMycKdmFsdWVzZXQgIkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE0Jwp2YWx1ZXNldCAiSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYwJwp2YWx1ZXNldCAiSW50cmF2ZW5vdXMgcm91dGUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIyMicKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjEnCnZhbHVlc2V0ICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ1LjM5Jwp2YWx1ZXNldCAiTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTknCnZhbHVlc2V0ICJMb3cgUmlzayI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDAwJwp2YWx1ZXNldCAiTWVkaWNhbCBSZWFzb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQ3MycKdmFsdWVzZXQgIk1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwNS4xMi4xMDA0Jwp2YWx1ZXNldCAiT2JzdGV0cmljcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYzJwp2YWx1ZXNldCAiT2JzdGV0cmljcyBWVEUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI2NCcKdmFsdWVzZXQgIk9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjEzNCcKdmFsdWVzZXQgIlBhdGllbnQgUmVmdXNhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuOTMnCi8vdmFsdWVzZXQgIlByaW5jaXBhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMTQnIC8vIENoYW5nZWQgdG8gdXNlIGEgY29kZQp2YWx1ZXNldCAiU3ViY3V0YW5lb3VzIHJvdXRlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMjMnCnZhbHVlc2V0ICJVbmZyYWN0aW9uYXRlZCBIZXBhcmluIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTgnCnZhbHVlc2V0ICJVcm9sb2dpY2FsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI3MicKdmFsdWVzZXQgIlZlbm91cyBmb290IHB1bXBzIChWRlApIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMzAnCnZhbHVlc2V0ICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNzknCnZhbHVlc2V0ICJXYXJmYXJpbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjMyJwp2YWx1ZXNldCAiSW50ZW5zaXZlIENhcmUgVW5pdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMjMnCgpjb2RlICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIjogJzcyMTM2LTUnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtJwpjb2RlICJQcmluY2lwYWwiOiAnNjMxNjEwMDUnIGZyb20gIlNOT01FRCBDVCIgZGlzcGxheSAnUHJpbmNpcGFsIChxdWFsaWZpZXIgdmFsdWUpJwpjb2RlICJPcmRlciI6ICdvcmRlcicgZnJvbSAiUmVxdWVzdEludGVudCIgZGlzcGxheSAnT3JkZXInCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgoJU0RFLiJTREUgUGF5ZXIiCgpkZWZpbmUgIlNERSBSYWNlIjoKICBTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKCVNERS4iU0RFIFNleCIKCmRlZmluZSAiRGVub21pbmF0b3IiOgoJIkluaXRpYWwgUG9wdWxhdGlvbiIKCmRlZmluZSAiRUQgVmlzaXQiOgoJWyJFbmNvdW50ZXIiOiB0eXBlIGluICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIEVEVmlzaXQKICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgoJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiCgovLyBUT0RPOiBBZGQgZG9Ob3RQZXJmb3JtIHRvIFFJQ29yZSwgc3VnZ2VzdCBzdXBwb3J0IGluIGJhc2UgUmVzb3VyY2UKLy8gVE9ETzogVHJhY2tlciBmb3IgRGV2aWNlLCBOb3QgT3JkZXJlZCwgYWJpbGl0eSB0byByZXByZXNlbnQgZm9jYWxEZXZpY2UKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiOgogIC8vIE5PVEU6IFNob3VsZCBiZSB1c2luZyBkZXZpY2UuY29kZSwgYnV0IHRoYXQgcmVxdWlyZXMgQ1FMIDEuNAogICgoWyJEZXZpY2VVc2VTdGF0ZW1lbnQiOiBjb2RlIGluICJWZW5vdXMgZm9vdCBwdW1wcyAoVkZQKSJdCiAgICB1bmlvbiBbIkRldmljZVVzZVN0YXRlbWVudCI6IGNvZGUgaW4gIkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSJdCiAgICB1bmlvbiBbIkRldmljZVVzZVN0YXRlbWVudCI6IGNvZGUgaW4gIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiXQogICkgRAogICAgd2hlcmUgR2V0RXh0ZW5zaW9uKEQuZXh0ZW5zaW9uLCAnaHR0cDovL2V4YW1wbGUub3JnL2ZoaXIvZXh0ZW5zaW9ucy9ub3REb25lJykudmFsdWUgaXMgdHJ1ZQogICAgLy93aGVyZSBELm5vdERvbmUgaXMgdHJ1ZSAvLyBOZWVkcyBhIFFJLUNvcmUgZXh0ZW5zaW9uIHRvIHN1cHBvcnQKICApCiAgdW5pb24gKCgKICAgIFsiRGV2aWNlUmVxdWVzdCI6IGNvZGUgaW4gIlZlbm91cyBmb290IHB1bXBzIChWRlApIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiSW50ZXJtaXR0ZW50IHBuZXVtYXRpYyBjb21wcmVzc2lvbiBkZXZpY2VzIChJUEMpIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyAoR0NTKSJdCiAgKSBECiAgICB3aGVyZSBELmludGVudCB+IFRvQ29uY2VwdCgiT3JkZXIiKQogICAgICBhbmQgR2V0RXh0ZW5zaW9uKEQuZXh0ZW5zaW9uLCAnaHR0cDovL2V4YW1wbGUub3JnL2ZoaXIvZXh0ZW5zaW9ucy9kb05vdFBlcmZvcm0nKS52YWx1ZSBpcyB0cnVlCiAgICAvL3doZXJlIEQuZG9Ob3RQZXJmb3JtIGlzIHRydWUgLy8gTmVlZHMgYSBRSS1Db3JlIGV4dGVuc2lvbiB0byBzdXBwb3J0CiAgKQogICAgCmRlZmluZSBmdW5jdGlvbiBHZXRFeHRlbnNpb24oRXh0ZW5zaW9ucyBMaXN0PEV4dGVuc2lvbj4sIFVSTCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tIChFeHRlbnNpb25zIEUgd2hlcmUgRS51cmwgPSBVUkwgcmV0dXJuIEUpCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCSJFRCBWaXNpdCIgRURWaXNpdCwKCQkiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIE5vVlRFRGV2aWNlCgkJd2hlcmUgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIChzaW5nbGV0b24gZnJvbSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJCWFuZCBDb2FsZXNjZShOb1ZURURldmljZS5hdXRob3JlZE9uLCBOb1ZURURldmljZS5yZWNvcmRlZE9uKSBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIE5vVlRFRGV2aWNlCgkJd2hlcmUgKHNpbmdsZXRvbiBmcm9tIE5vVlRFRGV2aWNlLnJlYXNvbkNvZGUgaW4gIk1lZGljYWwgUmVhc29uIikKCQkJYW5kIENvYWxlc2NlKE5vVlRFRGV2aWNlLmF1dGhvcmVkT24sIE5vVlRFRGV2aWNlLnJlY29yZGVkT24pIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIjoKCSgoCVsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0KCXVuaW9uCglbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCgl1bmlvbgoJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyJdCgl1bmlvbgoJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJXYXJmYXJpbiJdCgkpIE1lZGljYXRpb25BZG0KCQl3aGVyZSBNZWRpY2F0aW9uQWRtLm5vdEdpdmVuIGlzIHRydWUKCSkKCXVuaW9uCgkgLy8gVE9ETzogVHJhY2tlciBmb3IgUUktY29yZSB0byBhZGQgZG9Ob3RQZXJmb3JtIGV4dGVuc2lvbiBmb3IgTWVkaWNhdGlvblJlcXVlc3QgYW5kIHN1Z2dlc3QgdG8gdGhlIGJhc2UgUmVzb3VyY2UKCSgoCVsiTWVkaWNhdGlvblJlcXVlc3QiOiBtZWRpY2F0aW9uIGluICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiXQoJdW5pb24KCVsiTWVkaWNhdGlvblJlcXVlc3QiOiBtZWRpY2F0aW9uIGluICJMb3cgTW9sZWN1bGFyIFdlaWdodCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiXQoJdW5pb24KCVsiTWVkaWNhdGlvblJlcXVlc3QiOiBtZWRpY2F0aW9uIGluICJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyJdCgl1bmlvbgoJWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gIldhcmZhcmluIl0KCSkgTWVkaWNhdGlvbk9yZGVyCgl3aGVyZQlNZWRpY2F0aW9uT3JkZXIuaW50ZW50ID0gJ29yZGVyJwoJCWFuZCBHZXRFeHRlbnNpb24oTWVkaWNhdGlvbk9yZGVyLmV4dGVuc2lvbiwgJ2h0dHA6Ly9leGFtcGxlLm9yZy9maGlyL2V4dGVuc2lvbnMvZG9Ob3RQZXJmb3JtJykudmFsdWUgaXMgdHJ1ZQoJCS8vTWVkaWNhdGlvbk9yZGVyLmRvTm90UGVyZm9ybSBpcyB0cnVlIC8vIE5lZWRzIGEgUUktQ29yZSBleHRlbnNpb24gdG8gc3VwcG9ydAoJKQoKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCSJFRCBWaXNpdCIgRURWaXNpdCwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIE5vVlRFTWVkaWNhdGlvbgoJCXdoZXJlIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRURWaXNpdC5wZXJpb2QpIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJCWFuZCAoc2luZ2xldG9uIGZyb20gTm9WVEVNZWRpY2F0aW9uLnJlYXNvbkNvZGUgaW4gIk1lZGljYWwgUmVhc29uIikKCQkvLyBUT0RPOiBQcm9maWxlIG9mIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiB0byBlbnN1cmUgZWZmZWN0aXZlIGlzIGEgUGVyaW9kCgkJCWFuZCBDb2FsZXNjZShOb1ZURU1lZGljYXRpb24uYXV0aG9yZWRPbiwgc3RhcnQgb2YgTm9WVEVNZWRpY2F0aW9uLmVmZmVjdGl2ZSkgZHVyaW5nIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRURWaXNpdC5wZXJpb2QpCgkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIiBOb1ZURU1lZGljYXRpb24KCQl3aGVyZSAoc2luZ2xldG9uIGZyb20gTm9WVEVNZWRpY2F0aW9uLnJlYXNvbkNvZGUgaW4gIk1lZGljYWwgUmVhc29uIikKCQkJYW5kIENvYWxlc2NlKE5vVlRFTWVkaWNhdGlvbi5hdXRob3JlZE9uLCBzdGFydCBvZiBOb1ZURU1lZGljYXRpb24uZWZmZWN0aXZlKSBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkpCgkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIE5vVlRFRGV2aWNlCgkJd2hlcmUgTm9WVEVEZXZpY2UucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCgkJCWFuZCBBbmVzdGhlc2lhUHJvY2VkdXJlLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCS8vIFRPRE86IFByb2ZpbGUgb2YgcHJvY2VkdXJlIHRvIGVuc3VyZSBwZXJmb3JtZWQgaXMgYSBQZXJpb2QKCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJCWFuZCAgQ29hbGVzY2UoTm9WVEVEZXZpY2UuYXV0aG9yZWRPbiwgTm9WVEVEZXZpY2UucmVjb3JkZWRPbikgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiQWRtaXNzaW9uIFdpdGhvdXQgVlRFIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiOgoJCShHbG9iYWwuIklucGF0aWVudCBFbmNvdW50ZXIiIElucGF0aWVudEVuY291bnRlcgoJCXdoZXJlIG5vdCAoR2xvYmFsLkVuY291bnRlckRpYWdub3NpcyhJbnBhdGllbnRFbmNvdW50ZXIpLmNvZGUgaW4gIk9ic3RldHJpY3MiCgkJCQkJCQkJb3IgR2xvYmFsLkVuY291bnRlckRpYWdub3NpcyhJbnBhdGllbnRFbmNvdW50ZXIpLmNvZGUgaW4gIlZlbm91cyBUaHJvbWJvZW1ib2xpc20iCgkJCQkJCQkJb3IgR2xvYmFsLkVuY291bnRlckRpYWdub3NpcyhJbnBhdGllbnRFbmNvdW50ZXIpLmNvZGUgaW4gIk9ic3RldHJpY3MgVlRFIgoJCQkJCQkJKQogICAgKQoJCWludGVyc2VjdCAoR2xvYmFsLiJJbnBhdGllbnQgRW5jb3VudGVyIiBJbnBhdGllbnRFbmNvdW50ZXIKCQkJCXdpdGhvdXQgKCBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIk9ic3RldHJpY3MiXQoJCQkJCQkJCQl1bmlvbiBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIlZlbm91cyBUaHJvbWJvZW1ib2xpc20iXQoJCQkJCQkJCQl1bmlvbiBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIk9ic3RldHJpY3MgVlRFIl0pCURpYWdub3NpcwoJCQkJc3VjaCB0aGF0IERpYWdub3Npcy5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCiAgICAgICAgCQlhbmQgRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCgkJCQkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoRGlhZ25vc2lzLm9uc2V0KSBkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb24iKElucGF0aWVudEVuY291bnRlcikKCQkJCQkJKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIE5vVlRFTWVkaWNhdGlvbgoJCXdoZXJlIE5vVlRFTWVkaWNhdGlvbi5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIKCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJCS8vIFRPRE86IFByb2ZpbGUgb2YgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIHRvIGVuc3VyZSBlZmZlY3RpdmUgaXMgYSBQZXJpb2QKCQkJYW5kIENvYWxlc2NlKE5vVlRFTWVkaWNhdGlvbi5hdXRob3JlZE9uLCBzdGFydCBvZiBOb1ZURU1lZGljYXRpb24uZWZmZWN0aXZlKSBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgoKLy9Eb25lCmRlZmluZSAiRW5jb3VudGVyIExlc3MgVGhhbiAyIERheXMiOgoJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQl3aGVyZSBHbG9iYWwuIkxlbmd0aEluRGF5cyIoRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkpPCAyCgoKLy9Eb25lCmRlZmluZSAiU0NJUCBWVEUgU2VsZWN0ZWQgU3VyZ2VyeSI6CgkoCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgU3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiR3luZWNvbG9naWNhbCBTdXJnZXJ5Il0KCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJIaXAgRnJhY3R1cmUgU3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIkludHJhY3JhbmlhbCBOZXVyb3N1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiVXJvbG9naWNhbCBTdXJnZXJ5Il0gKSBQCgkJd2hlcmUgUC5zdGF0dXMgPSAnY29tcGxldGVkJwoKCi8vRG9uZQpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIjoKCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKCQl3aGVyZSBQLmludGVudCA9ICdvcmRlcicpCgkJdW5pb24KCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmV0aW9uUGVyZm9ybWVkCgkJd2hlcmUgSW50ZXJ2ZXRpb25QZXJmb3JtZWQuc3RhdHVzID0gJ2NvbXBsZXRlZCcpCgovL0RvbmUKZGVmaW5lICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFN0YXJ0IG9mIEhvc3BpdGFsaXphdGlvbiI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCXdpdGggIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBDb21mb3J0TWVhc3VyZQoJLy8gVE9ETzogUHJvZmlsZSBvZiBwcm9jZWR1cmUgdG8gZW5zdXJlIHBlcmZvcm1lZCBpcyBhIFBlcmlvZAoJCQlzdWNoIHRoYXQgQ29hbGVzY2UoQ29tZm9ydE1lYXN1cmUuYXV0aG9yZWRPbiwgc3RhcnQgb2YgQ29tZm9ydE1lYXN1cmUucGVyZm9ybWVkKSAxIGRheSBvciBsZXNzIG9uIG9yIGFmdGVyIGRheSBvZiBzdGFydCBvZiBHbG9iYWwuIkhvc3BpdGFsaXphdGlvbiIoUXVhbGlmeWluZ0VuY291bnRlcikKCi8vRG9uZQpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkJd2hlcmUgIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJCWFuZCBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQkJYW5kIENvYWxlc2NlKENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24sIHN0YXJ0IG9mIENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCkgMSBkYXkgb3IgbGVzcyBvbiBvciBhZnRlciBkYXkgb2YgZW5kIG9mIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkCgovL0RvbmUKZGVmaW5lICJWVEUgUHJvcGh5bGF4aXMgYnkgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgRGV2aWNlIEFwcGxpZWQiOgoJKCBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkxvdyBEb3NlIFVuZnJhY3Rpb25hdGVkIEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdIFZURU1lZGljYXRpb24KCQkJd2hlcmUgVlRFTWVkaWNhdGlvbi5zdGF0dXMgPSAnY29tcGxldGVkJwoJCQkJCQlhbmQgVlRFTWVkaWNhdGlvbi5kb3NhZ2Uucm91dGUgaW4gIlN1YmN1dGFuZW91cyByb3V0ZSIKCSkKCQl1bmlvbiBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCgkJdW5pb24gWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyJdCgkJdW5pb24gWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJXYXJmYXJpbiJdCgkJdW5pb24gKCgKCQkJCVsiRGV2aWNlVXNlU3RhdGVtZW50IjogY29kZSBpbiAiSW50ZXJtaXR0ZW50IHBuZXVtYXRpYyBjb21wcmVzc2lvbiBkZXZpY2VzIChJUEMpIl0KCQkJCXVuaW9uIFsiRGV2aWNlVXNlU3RhdGVtZW50IjogY29kZSBpbiAiVmVub3VzIGZvb3QgcHVtcHMgKFZGUCkiXQoJCQkJdW5pb24gWyJEZXZpY2VVc2VTdGF0ZW1lbnQiOiBjb2RlIGluICJHcmFkdWF0ZWQgY29tcHJlc3Npb24gc3RvY2tpbmdzIChHQ1MpIl0KICAgICAgKSBEZXZpY2VBcHBsaWVkCgkJCQl3aGVyZSBEZXZpY2VBcHBsaWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICApCgovL0RvbmUKZGVmaW5lICJWVEUgUHJvcGh5bGF4aXMgUmVjZWl2ZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIjoKCSggZnJvbQoJCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkJIlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCIgSGFzVlRFUHJvcGh5bGF4aXMKCQkJLy8gVE9ETzogUHJvZmlsZSBvZiBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gdG8gZW5zdXJlIGVmZmVjdGl2ZSBpcyBhIFBlcmlvZAoJCQl3aGVyZSBDb2FsZXNjZShIYXNWVEVQcm9waHlsYXhpcy5yZWNvcmRlZE9uLCBzdGFydCBvZiBIYXNWVEVQcm9waHlsYXhpcy5lZmZlY3RpdmUpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCQkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCSkKCQl1bmlvbiAoIGZyb20KCQkJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCQkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJCQkiVlRFIFByb3BoeWxheGlzIGJ5IE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIERldmljZSBBcHBsaWVkIiBIYXNWVEVQcm9waHlsYXhpcwoJCQkJd2hlcmUgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJCQlhbmQgQ29hbGVzY2UoSGFzVlRFUHJvcGh5bGF4aXMucmVjb3JkZWRPbiwgc3RhcnQgb2YgSGFzVlRFUHJvcGh5bGF4aXMuZWZmZWN0aXZlKSBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKQoJCQkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkpCgoKLy9Eb25lCmRlZmluZSAiTWVkaWNhdGlvbiBPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSI6CgkoIGZyb20KCQkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJCVsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMgb3IgVlRFIFRyZWF0bWVudCJdIEZhY3RvclhhTWVkaWNhdGlvbgoJCQl3aGVyZSBGYWN0b3JYYU1lZGljYXRpb24uZWZmZWN0aXZlIHN0YXJ0cyBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkpCgkJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkpCgkJdW5pb24gKCBmcm9tCgkJCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCQkJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyBvciBWVEUgVHJlYXRtZW50Il0gRmFjdG9yWGFNZWRpY2F0aW9uCgkJCQl3aGVyZSBBbmVzdGhlc2lhUHJvY2VkdXJlLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCQlhbmQgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJCQlhbmQgRmFjdG9yWGFNZWRpY2F0aW9uLmVmZmVjdGl2ZSBzdGFydHMgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkKCQkJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJKQoKLy9Eb25lCmRlZmluZSAiRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBEaWFnbm9zaXMgb2YgQXRyaWFsIEZpYnJpbGxhdGlvbiBvciBWVEUiOgoJKCAiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCQl3aXRoIFsiQ29uZGl0aW9uIjogY29kZSBpbiAiQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIl0gQXRyaWFsRmlicmlsbGF0aW9uCgkJCQlzdWNoIHRoYXQgQXRyaWFsRmlicmlsbGF0aW9uLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJCWFuZCBBdHJpYWxGaWJyaWxsYXRpb24udmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKCQkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQXRyaWFsRmlicmlsbGF0aW9uLm9uc2V0KSBvbiBvciBiZWZvcmUgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkpCgkJdW5pb24gKCAiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCQkJd2hlcmUgR2xvYmFsLkVuY291bnRlckRpYWdub3NpcyhRdWFsaWZ5aW5nRW5jb3VudGVyKS5jb2RlIGluICJBdHJpYWwgRmlicmlsbGF0aW9uL0ZsdXR0ZXIiCgkJCSkKCQl1bmlvbiAoICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJCQl3aXRoIFsiQ29uZGl0aW9uIjogY29kZSBpbiAiVmVub3VzIFRocm9tYm9lbWJvbGlzbSJdIFZURURpYWdub3NpcwoJCQkJCXN1Y2ggdGhhdCAgVlRFRGlhZ25vc2lzLmNsaW5pY2FsU3RhdHVzIGluIHsgJ2luYWN0aXZlJywgJ3JlbWlzc2lvbicsICdyZXNvbHZlZCcgfQoJCQkJCWFuZCBWVEVEaWFnbm9zaXMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKCQkJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgT25zZXQiKFZURURpYWdub3Npcy5vbnNldCkgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJKQoKLy9Eb25lCmRlZmluZSAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIFN0YXkgMSBEYXkgb3IgTW9yZSI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCXdoZXJlIGV4aXN0cyAoIFF1YWxpZnlpbmdFbmNvdW50ZXIubG9jYXRpb24gTG9jYXRpb24KCQkJCXdoZXJlIEdsb2JhbC5HZXRMb2NhdGlvbihMb2NhdGlvbi5sb2NhdGlvbikudHlwZSBpbiAiSW50ZW5zaXZlIENhcmUgVW5pdCIKCQkJCQlhbmQgR2xvYmFsLiJMZW5ndGhJbkRheXMiKExvY2F0aW9uLnBlcmlvZCk+PSAxCgkJCQkJYW5kIExvY2F0aW9uLnBlcmlvZCBzdGFydHMgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKQoJCSkKCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIG9mIE1lbnRhbCBEaXNvcmRlciBvciBTdHJva2UiOgoJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQl3aGVyZSBHbG9iYWwuIlByaW5jaXBhbERpYWdub3NpcyIoUXVhbGlmeWluZ0VuY291bnRlcikuY29kZSBpbiAiTWVudGFsIEhlYWx0aCBEaWFnbm9zZXMiCgkJCW9yIEdsb2JhbC4iUHJpbmNpcGFsRGlhZ25vc2lzIihRdWFsaWZ5aW5nRW5jb3VudGVyKS5jb2RlIGluICJIZW1vcnJoYWdpYyBTdHJva2UiCgkJCW9yIEdsb2JhbC4iUHJpbmNpcGFsRGlhZ25vc2lzIihRdWFsaWZ5aW5nRW5jb3VudGVyKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgovL0RvbmUKLy8gVE9ETzogRGVmaW5lIGFuIG9yZGluYWxpdHkgZXh0ZW5zaW9uIHRvIGEgUHJvY2VkdXJlIHByb2ZpbGUgYW5kIGFzayBQYXRpZW50IEFkbWluaXN0cmF0aW9uIGFuZC9vciBQYXRpZW50IENhcmUgdG8gcmV2aWV3CmRlZmluZSAiRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIFByb2NlZHVyZSBvZiBTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAoICJTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IiBQcm9jZWR1cmUKCQkJd2hlcmUgR2V0RXh0ZW5zaW9uKFByb2NlZHVyZS5leHRlbnNpb24sICdodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9vcmRpbmFsaXR5JykudmFsdWUgfiAiUHJpbmNpcGFsIiApIFNlbGVjdGVkUHJvY2VkdXJlCgkJCXN1Y2ggdGhhdCBTZWxlY3RlZFByb2NlZHVyZS5wZXJmb3JtZWQgZHVyaW5nIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCSJFbmNvdW50ZXIgTGVzcyBUaGFuIDIgRGF5cyIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIFN0YXkgMSBEYXkgb3IgTW9yZSIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBvZiBNZW50YWwgRGlzb3JkZXIgb3IgU3Ryb2tlIgoJCXVuaW9uICJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiCgkJdW5pb24gIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgU3RhcnQgb2YgSG9zcGl0YWxpemF0aW9uIgoJCXVuaW9uICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiOgoJKCBHbG9iYWwuIklucGF0aWVudCBFbmNvdW50ZXIiIElucGF0aWVudEVuY291bnRlcgoJCQl3aXRoIFsiUGF0aWVudCJdIEJpcnRoRGF0ZQoJCQkJc3VjaCB0aGF0IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKFRvRGF0ZVRpbWUoQmlydGhEYXRlLmJpcnRoRGF0ZSksIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZCkpID49IDE4CgkpCgkJaW50ZXJzZWN0ICJBZG1pc3Npb24gV2l0aG91dCBWVEUgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgUHJvY2VkdXJlIG9mIEhpcCBvciBLbmVlIFJlcGxhY2VtZW50IFN1cmdlcnkiOgoJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQl3aXRoICggWyJQcm9jZWR1cmUiOiAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiXQoJCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJLbmVlIFJlcGxhY2VtZW50IFN1cmdlcnkiXSApIEhpcEtuZWVQcm9jZWR1cmUKCQkJc3VjaCB0aGF0IEhpcEtuZWVQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJCWFuZCBIaXBLbmVlUHJvY2VkdXJlLnBlcmZvcm1lZCBzdGFydHMgb24gb3IgYmVmb3JlIGVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCI6CgkiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBEdXJpbmcgRUQgVmlzaXQiCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIE1lZGljYWwgUmVhc29uIjoKCSggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiCgkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IgoJKQoJCXVuaW9uICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIKCQkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJKQoJCXVuaW9uICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCQkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgkJKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJCXdoZXJlIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kCgkJCWFuZCBDb2FsZXNjZShQYXRpZW50UmVmdXNhbC5lZmZlY3RpdmUsIFBhdGllbnRSZWZ1c2FsLmF1dGhvcmVkT24sIFBhdGllbnRSZWZ1c2FsLnJlY29yZGVkT24pIGR1cmluZyBFRFZpc2l0LnBlcmlvZAoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJCXdoZXJlIENvYWxlc2NlKHN0YXJ0IG9mIFBhdGllbnRSZWZ1c2FsLmVmZmVjdGl2ZSwgUGF0aWVudFJlZnVzYWwuYXV0aG9yZWRPbiwgUGF0aWVudFJlZnVzYWwucmVjb3JkZWRPbikKICAgICAgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJCXdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kCgkJCWFuZCBDb2FsZXNjZShzdGFydCBvZiBQYXRpZW50UmVmdXNhbC5lZmZlY3RpdmUsIFBhdGllbnRSZWZ1c2FsLmF1dGhvcmVkT24sIFBhdGllbnRSZWZ1c2FsLnJlY29yZGVkT24pCiAgICAgICAgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gb3IgRGV2aWNlIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiOgoJKCAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgQXBwbGllZCBvciBPcmRlcmVkIiApIE5vVlRFUHJvcGh5bGF4aXMKCQl3aGVyZSBHZXRFeHRlbnNpb24oTm9WVEVQcm9waHlsYXhpcy5leHRlbnNpb24sICdodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uJykudmFsdWUgaW4gIlBhdGllbnQgUmVmdXNhbCIKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIjoKCSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBEdXJpbmcgRUQgVmlzaXQiCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIgoJCXVuaW9uICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCi8vRG9uZQpkZWZpbmUgIk51bWVyYXRvciI6CgkiVlRFIFByb3BoeWxheGlzIFJlY2VpdmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSIKCQl1bmlvbiAoICJNZWRpY2F0aW9uIE9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIgoJCQkJaW50ZXJzZWN0ICggIkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgRGlhZ25vc2lzIG9mIEF0cmlhbCBGaWJyaWxsYXRpb24gb3IgVlRFIgoJCQkJCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBQcm9jZWR1cmUgb2YgSGlwIG9yIEtuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIKCQkJCSkKCQkpCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQiCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gTWVkaWNhbCBSZWFzb24iCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIgoKLy9Eb25lCmRlZmluZSAiSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IjoKCSggWyJPYnNlcnZhdGlvbiI6ICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIl0gVlRFUmlza0Fzc2Vzc21lbnQKCQkJd2hlcmUgVlRFUmlza0Fzc2Vzc21lbnQudmFsdWUgaW4gIkxvdyBSaXNrIgoJKQovKgovLyBUT0RPOiBJc3N1ZXMgd2l0aCBjb25zdHJ1Y3RpbmcgdGhlIEZISVIgdHlwZXMgaGVyZS4uLgoJCXVuaW9uICggWyJPYnNlcnZhdGlvbiI6ICJJTlIiXSBJTlJMYWJUZXN0CgkJCQl3aGVyZSBJTlJMYWJUZXN0LnZhbHVlIGFzIFF1YW50aXR5ID4gMy4wCgkJCQlyZXR1cm4gIk9ic2VydmF0aW9uIiB7IGlkOiBJTlJMYWJUZXN0LmlkLCBlZmZlY3RpdmU6IElOUkxhYlRlc3QuaXNzdWVkIH0KCQkpCgkJdW5pb24gKCgoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogIlVuZnJhY3Rpb25hdGVkIEhlcGFyaW4iXSBVbmZyYWN0aW9uYXRlZEhlcGFyaW4KCQkJCQl3aGVyZSBVbmZyYWN0aW9uYXRlZEhlcGFyaW4uZG9zYWdlLnJvdXRlIGluICJJbnRyYXZlbm91cyByb3V0ZSIKCQkJCQkJKQoJCQkJdW5pb24gWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiAiRGlyZWN0IFRocm9tYmluIEluaGliaXRvciJdCgkJCQl1bmlvbiBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6ICJHbHljb3Byb3RlaW4gSUliL0lJSWEgSW5oaWJpdG9ycyJdICkgQW50aWNvYWd1bGFudE1lZGljYXRpb24KCQkJCQlyZXR1cm4gIk9ic2VydmF0aW9uIiB7IGlkOiBBbnRpY29hZ3VsYW50TWVkaWNhdGlvbi5pZCwgZWZmZWN0aXZlOiBzdGFydCBvZiBlZmZlY3RpdmV9CgkJKQoqLwoKLy9Eb25lCmRlZmluZSAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBEdXJpbmcgRUQgVmlzaXQiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCSJFRCBWaXNpdCIgRURWaXNpdCwKCQkiSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiBWVEVSaXNrQXNzZXNzbWVudAoJCXdoZXJlIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRURWaXNpdC5wZXJpb2QpIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJCWFuZCBWVEVSaXNrQXNzZXNzbWVudC5pc3N1ZWQgZHVyaW5nIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRURWaXNpdC5wZXJpb2QpCgkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCi8vRG9uZQpkZWZpbmUgIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iOgoJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQl3aXRoICJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiIFZURVJpc2tBc3Nlc3NtZW50CgkJCXN1Y2ggdGhhdCBWVEVSaXNrQXNzZXNzbWVudC5pc3N1ZWQgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKQoKLy9Eb25lCmRlZmluZSAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJIklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCIgVlRFUmlza0Fzc2Vzc21lbnQKCQl3aGVyZSBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQlhbmQgVlRFUmlza0Fzc2Vzc21lbnQuaXNzdWVkIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkpCgkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIK"^^xsd:base64Binary ]
  ].

# - ontology header ------------------------------------------------------------

 a owl:Ontology;
  owl:imports fhir:fhir.ttl.