WHO SMART Guidelines - HIV
0.3.0 - ci-build
WHO SMART Guidelines - HIV - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Draft as of 2024-11-07 |
<Library xmlns="http://hl7.org/fhir">
<id value="HIVIND2Logic"/>
<meta>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"/>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"/>
<profile
value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"/>
<profile
value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"/>
</meta>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: Library HIVIND2Logic</b></p><a name="HIVIND2Logic"> </a><a name="hcHIVIND2Logic"> </a><a name="HIVIND2Logic-en-US"> </a><h2>Related Artifacts</h2><table class="grid"><tr><td>Depends On</td><td>Library HIC</td><td><code>http://smart.who.int/hiv/Library/HIVCommon|0.0.1</code></td></tr><tr><td>Depends On</td><td>Library WCom</td><td><a href="Library-WHOCommon.html">WHOCommon</a></td></tr><tr><td>Depends On</td><td>Library HE</td><td><a href="Library-HIVElements.html">HIVElements</a></td></tr><tr><td>Depends On</td><td>Library HIE</td><td><a href="Library-HIVIndicatorElements.html">HIVIndicatorElements</a></td></tr></table><h2>Parameters</h2><table class="grid"><tr><td>Measurement Period</td><td>in</td><td>0</td><td>1</td><td>Period</td></tr><tr><td>Patient</td><td>out</td><td>0</td><td>1</td><td>Patient</td></tr><tr><td>Measure Population</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr><tr><td>Initial Population</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr><tr><td>Administrative Gender Stratifier</td><td>out</td><td>0</td><td>1</td><td>Coding</td></tr><tr><td>Age Stratifier</td><td>out</td><td>0</td><td>1</td><td>string</td></tr><tr><td>Geographic Region Stratifier</td><td>out</td><td>0</td><td>1</td><td>string</td></tr><tr><td>patientGroups Stratifier</td><td>out</td><td>0</td><td>*</td><td>string</td></tr><tr><td>Setting</td><td>out</td><td>0</td><td>*</td><td>string</td></tr><tr><td>prep product</td><td>out</td><td>0</td><td>*</td><td>string</td></tr><tr><td>prep_experience</td><td>out</td><td>0</td><td>*</td><td>string</td></tr><tr><td>prep_dosing</td><td>out</td><td>0</td><td>*</td><td>string</td></tr><tr><td>Stratification</td><td>out</td><td>0</td><td>1</td><td>string</td></tr></table><h2>Contents</h2><p><code>text/cql</code></p><pre><code class="language-sql">/**
* Library: HIV.IND.2 Logic
* Ref No: PRV.2
* Short Name: Total PrEP recipients
*
* Definition: Number of people who received PrEP at least once during the reporting period
*
* Numerator: Number of people prescribed or dispensed any form of PrEP at least once during the reporting period. Individuals prescribed different PrEP products or regimens at different times during the reporting period should be counted only once.
* Numerator Calculation: COUNT of clients with "Medications prescribed"='PrEP for HIV prevention' with "Date medications prescribed" in the reporting period
* Numerator Exclusions:
*
* Denominator: 1
* Denominator Calculation: 1
* Denominator Exclusions:
*
* Disaggregations:
* • Age (15–19, 20–24, 25–49, 50+ years)
* • Gender (female, male, other*)
* • Key populations (men who have sex with men, people living in prisons and other closed settings, people who inject drugs, sex workers, trans and gender diverse people)**
* • PrEP product and formulation (oral, long-acting device, long-acting injectable). Some people may start, continue, stop and restart, one or multiple times with different products or formulations in a given reporting period. Because of this, the percentages of recipients receiving different PrEP products may total more than 100%.
* • Experience with PrEP (first time, continuing, or restarting following a period of not
* taking PrEP)
* • Provider type (key population-led or community-led organization, public sector provider, other entities such as private for-profit and not-for-profit organizations, including faith- based, international, nongovernmental)
* • Setting: facility-based service (including hospitals, health clinics, general practice offices, etc.) or community-based service (including drop-in centres, community service delivery points, mobile clinics or vans, outreach teams, community support groups, etc.)
* • Cities and other administrative regions of epidemiologic importance
*
* Disaggregation Elements: Gender | Age | Key population member type | PrEP product prescribed | PrEP dosing type | Experience with PrEP
*
* Numerator and Denominator Elements:
* Date medications prescribed
* Medications prescribed
*
* Reference: Consolidated guidelines on person-centred HIV strategic information: strengthening routine data for impact. Geneva: World Health Organization; 2022
*
* Data Concepts:
* HIV.A.DE17: Age | Calculated age (number of years) of the client based on date of birth
* HIV.A.DE18: Gender* | Gender of the client*
* HIV.A.DE19: Female | Client identifies as female
* HIV.A.DE20: Male | Client identifies as male
* HIV.A.DE21: Transgender male | Client identifies as transgender male
* HIV.A.DE22: Transgender female | Client identifies as transgender female
* HIV.A.DE23: Other | Additional category
* HIV.B.DE50: Key population member type* | The type of key population that the client is included in
* HIV.B.DE51: Sex worker | Client is a sex worker
* HIV.B.DE52: Men who have sex with men | Client is a man who has sex with men
* HIV.B.DE53: Trans and gender-diverse people | Client identifies as trans and gender-diverse
* HIV.B.DE54: People who inject drugs | Client is a person who injects drugs
* HIV.B.DE55: People living in prisons and other closed settings | Client lives in a prison or another closed setting
* HIV.C.DE11: PrEP dosing type | Way in which pre-exposure prophylaxis (PrEP) is taken (daily or event-driven)
* HIV.C.DE12: Daily oral PrEP | Pre-exposure prophylaxis (PrEP) is taken every day
* HIV.C.DE13: Event-driven PrEP (2+1+1) | Event-driven pre-exposure prophylaxis (PrEP) is taken on an even-driven basis (2+1+1)
* HIV.C.DE14: Other PrEP dosing type | Other PrEP dosing type
* HIV.C.DE24: Experience with PrEP | The client's experience in taking PrEP
* HIV.C.DE25: First-time user | The client has never used pre-exposure prophylaxis (PrEP) before (naive)
* HIV.C.DE26: Continuing user | The client has used PrEP before and is continuing to use PrEP
* HIV.C.DE27: Restarting following a period of not taking PrEP | The client is restarting PrEP following a period of not taking PrEP
* HIV.C.DE74: Date medications prescribed | Date the client was prescribed medications
* HIV.C.DE75: Medications prescribed | Medications the client was prescribed
* HIV.C.DE76: PrEP for HIV prevention | Client was prescribed pre-exposure prophylaxis (PrEP) for HIV prevention
* HIV.C.DE77: PEP for HIV prevention | Client was prescribed post-exposure prophylaxis (PEP) for HIV prevention
* HIV.C.DE78: Other | Client was prescribed other medications
* HIV.C.DE80: PrEP product prescribed | PrEP product that the client was prescribed
* HIV.C.DE81: Oral PrEP | Client was prescribed oral PrEP
* HIV.C.DE82: Dapivirine vaginal ring (DVR) | Client was prescribed dapivirine vaginal ring (DVR)
* HIV.C.DE83: CAB-LA | Client was prescribed long-acting cabotegravir (CAB-LA)
* HIV.C.DE84: Other | Client was prescribed other PrEP product
* HIV.D.DE457: Medications prescribed | Name or regimen code of all other medications prescribed during the visit
* HIV.D.DE458: Date medications prescribed | Date the medications were prescribed
* HIV.E.DE114: Key population member type* | The type of key population that the infant's mother is included in
* HIV.E.DE115: Sex worker | Infant's mother is a sex worker
* HIV.E.DE116: People who inject drugs | Infant's mother is a person who injects drugs
* HIV.E.DE117: Trans and gender-diverse people | Infant's mother identifies as trans and gender-diverse
* HIV.E.DE118: People living in prisons and other closed setting | Infant's mother is in a prison or closed setting
* HIV.PRV.DE27: Date medications prescribed | Date the client was prescribed medications
*
* Additional Context
* - what it measures: This indicator measures the number of people receiving any PrEP product during the reporting period, including people starting PrEP for the first time, restarting PrEP, continuing PrEP or switching from one PrEP product to another.
* - rationale: • The use of ARV medicines by people who are HIV-negative before they are exposed to HIV can prevent HIV infection. | • Through disaggregation, this indicator can help managers compare the uptake and use of PrEP among different types of users (for example, by first-time users, and members of priority populations).
* - method: Individual-level data obtained from programme records. | | If individual-level data are not available, the indicator can be reported using aggregate programme data. Because de-duplication is not possible, individuals prescribed multiple | PrEP products or formulations at different times during the reporting period maybe counted multiple times, and the number reported may be greater than the number of unique individuals receiving PrEP during the reporting period.
*
* Suggested Scoring Method: continuous-variable | http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cv-measure-cqfm
*/
library HIVIND2Logic
// Included Libraries
using FHIR version '4.0.1'
include HIVCommon version '0.0.1' called HIC
include FHIRHelpers version '4.0.1'
include WHOCommon called WCom
include HIVElements called HE
include HIVIndicatorElements called HIE
// Indicator Definition
parameter "Measurement Period" Interval<Date> default Interval[@2023-01-01, @2023-01-30]
context Patient
define "Measure Population":
HIE."HIV PREP Active"
/*
* As defined by Member States
*/
define "Initial Population":
true
/*
* NOTE: Modeled as a Continuous Variable measure because this is an estimated denominator proportion measure
*/
define function "Measure Observation"(Patient "Patient"):
1
/*
* Disaggregators
*/
define "Administrative Gender Stratifier":
HIE."By Administrative Gender Stratifier"
define "Age Stratifier":
HIE."By Age Stratifier 3"
define "Geographic Region Stratifier":
HIE."By Geographic Region Stratifier"
define "patientGroups Stratifier":
HIE."patientGroups"
define "Setting":
HIE."setting"
define "prep product":
HIE."prep_product"
define "prep_experience":
HIE."prep_experience"
define "prep_dosing":
HIE."prep_dosing"
// Provider type concepts are not found in DD
define "Stratification":
HIE."By Administrative Gender Stratifier".code
+ ':' + HIE."By Age Stratifier"
+ ':' + HIE."By Geographic Region Stratifier"
+ Combine(HIE.patientGroups, ':')
+ Combine(HIE.setting, ':')
+ Combine(HIE.prep_product, ':')
+ Combine(HIE.prep_experience, ':')
+ Combine(HIE.prep_dosing, ':')</code></pre><p><code>Content not shown - (</code><code>application/elm+xml</code>, size = 32Kb )</p></div>
</text>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability">
<valueCode value="computable"/>
</extension>
<url value="http://smart.who.int/hiv/Library/HIVIND2Logic"/>
<version value="0.3.0"/>
<name value="HIVIND2Logic"/>
<title value="HIV.IND.2 Logic"/>
<status value="draft"/>
<experimental value="true"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="logic-library"/>
</coding>
</type>
<date value="2024-11-07T21:07:17+00:00"/>
<publisher value="WHO"/>
<contact>
<name value="WHO"/>
<telecom>
<system value="url"/>
<value value="http://who.int"/>
</telecom>
</contact>
<description
value="Number of people who received PrEP at least once during the reporting period"/>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library HIC"/>
<resource value="http://smart.who.int/hiv/Library/HIVCommon|0.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library WCom"/>
<resource value="http://smart.who.int/hiv/Library/WHOCommon"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library HE"/>
<resource value="http://smart.who.int/hiv/Library/HIVElements"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library HIE"/>
<resource value="http://smart.who.int/hiv/Library/HIVIndicatorElements"/>
</relatedArtifact>
<parameter>
<name value="Measurement Period"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="Period"/>
</parameter>
<parameter>
<name value="Patient"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Patient"/>
</parameter>
<parameter>
<name value="Measure Population"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Initial Population"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Administrative Gender Stratifier"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Coding"/>
</parameter>
<parameter>
<name value="Age Stratifier"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Geographic Region Stratifier"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="patientGroups Stratifier"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Setting"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="string"/>
</parameter>
<parameter>
<name value="prep product"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="string"/>
</parameter>
<parameter>
<name value="prep_experience"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="string"/>
</parameter>
<parameter>
<name value="prep_dosing"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Stratification"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<content>
<contentType value="text/cql"/>
<data
value="LyoqCiAqIExpYnJhcnk6IEhJVi5JTkQuMiBMb2dpYwogKiBSZWYgTm86IFBSVi4yCiAqIFNob3J0IE5hbWU6IFRvdGFsIFByRVAgcmVjaXBpZW50cwogKgogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgcGVvcGxlIHdobyByZWNlaXZlZCBQckVQIGF0IGxlYXN0IG9uY2UgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kCiAqCiAqIE51bWVyYXRvcjogTnVtYmVyIG9mIHBlb3BsZSBwcmVzY3JpYmVkIG9yIGRpc3BlbnNlZCBhbnkgZm9ybSBvZiBQckVQIGF0IGxlYXN0IG9uY2UgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kLiBJbmRpdmlkdWFscyBwcmVzY3JpYmVkIGRpZmZlcmVudCBQckVQIHByb2R1Y3RzIG9yIHJlZ2ltZW5zIGF0IGRpZmZlcmVudCB0aW1lcyBkdXJpbmcgdGhlIHJlcG9ydGluZyBwZXJpb2Qgc2hvdWxkIGJlIGNvdW50ZWQgb25seSBvbmNlLgogKiBOdW1lcmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIGNsaWVudHMgd2l0aCAiTWVkaWNhdGlvbnMgcHJlc2NyaWJlZCI9J1ByRVAgZm9yIEhJViBwcmV2ZW50aW9uJyB3aXRoICJEYXRlIG1lZGljYXRpb25zIHByZXNjcmliZWQiIGluIHRoZSByZXBvcnRpbmcgcGVyaW9kCiAqIE51bWVyYXRvciBFeGNsdXNpb25zOiAKICoKICogRGVub21pbmF0b3I6IDEKICogRGVub21pbmF0b3IgQ2FsY3VsYXRpb246IDEKICogRGVub21pbmF0b3IgRXhjbHVzaW9uczogCiAqCiAqIERpc2FnZ3JlZ2F0aW9uczoKICog4oCiwqBBZ2UgKDE14oCTMTksIDIw4oCTMjQsIDI14oCTNDksIDUwKyB5ZWFycykgCiAqICDigKIgR2VuZGVyIChmZW1hbGUsIG1hbGUsIG90aGVyKikgCiAqICDigKLCoEtleSBwb3B1bGF0aW9ucyAobWVuIHdobyBoYXZlIHNleCB3aXRoIG1lbiwgcGVvcGxlIGxpdmluZyBpbiBwcmlzb25zIGFuZCBvdGhlciBjbG9zZWQgc2V0dGluZ3MsIHBlb3BsZSB3aG8gaW5qZWN0IGRydWdzLCBzZXggd29ya2VycywgdHJhbnMgYW5kIGdlbmRlciBkaXZlcnNlIHBlb3BsZSkqKiAKICogIOKAosKgUHJFUCBwcm9kdWN0IGFuZCBmb3JtdWxhdGlvbiAob3JhbCwgbG9uZy1hY3RpbmcgZGV2aWNlLCBsb25nLWFjdGluZyBpbmplY3RhYmxlKS4gU29tZSBwZW9wbGUgbWF5IHN0YXJ0LCBjb250aW51ZSwgc3RvcCBhbmQgcmVzdGFydCwgb25lIG9yIG11bHRpcGxlIHRpbWVzIHdpdGggZGlmZmVyZW50IHByb2R1Y3RzIG9yIGZvcm11bGF0aW9ucyBpbiBhIGdpdmVuIHJlcG9ydGluZyBwZXJpb2QuIEJlY2F1c2Ugb2YgdGhpcywgdGhlIHBlcmNlbnRhZ2VzIG9mIHJlY2lwaWVudHMgcmVjZWl2aW5nIGRpZmZlcmVudCBQckVQIHByb2R1Y3RzIG1heSB0b3RhbCBtb3JlIHRoYW4gMTAwJS4gCiAqICDigKLCoEV4cGVyaWVuY2Ugd2l0aCBQckVQIChmaXJzdCB0aW1lLCBjb250aW51aW5nLCBvciByZXN0YXJ0aW5nIGZvbGxvd2luZyBhIHBlcmlvZCBvZiBub3QgCiAqICB0YWtpbmcgUHJFUCkgCiAqICDigKLCoFByb3ZpZGVyIHR5cGUgKGtleSBwb3B1bGF0aW9uLWxlZCBvciBjb21tdW5pdHktbGVkIG9yZ2FuaXphdGlvbiwgcHVibGljIHNlY3RvciBwcm92aWRlciwgb3RoZXIgZW50aXRpZXMgc3VjaCBhcyBwcml2YXRlIGZvci1wcm9maXQgYW5kIG5vdC1mb3ItcHJvZml0IG9yZ2FuaXphdGlvbnMsIGluY2x1ZGluZyBmYWl0aC0gYmFzZWQsIGludGVybmF0aW9uYWwsIG5vbmdvdmVybm1lbnRhbCkgCiAqICDigKLCoFNldHRpbmc6IGZhY2lsaXR5LWJhc2VkIHNlcnZpY2UgKGluY2x1ZGluZyBob3NwaXRhbHMsIGhlYWx0aCBjbGluaWNzLCBnZW5lcmFsIHByYWN0aWNlIG9mZmljZXMsIGV0Yy4pIG9yIGNvbW11bml0eS1iYXNlZCBzZXJ2aWNlIChpbmNsdWRpbmcgZHJvcC1pbiBjZW50cmVzLCBjb21tdW5pdHkgc2VydmljZSBkZWxpdmVyeSBwb2ludHMsIG1vYmlsZSBjbGluaWNzIG9yIHZhbnMsIG91dHJlYWNoIHRlYW1zLCBjb21tdW5pdHkgc3VwcG9ydCBncm91cHMsIGV0Yy4pIAogKiAg4oCiwqBDaXRpZXMgYW5kIG90aGVyIGFkbWluaXN0cmF0aXZlIHJlZ2lvbnMgb2YgZXBpZGVtaW9sb2dpYyBpbXBvcnRhbmNlCiAqCiAqIERpc2FnZ3JlZ2F0aW9uIEVsZW1lbnRzOiBHZW5kZXIgfCBBZ2UgfCBLZXkgcG9wdWxhdGlvbiBtZW1iZXIgdHlwZSB8IFByRVAgcHJvZHVjdCBwcmVzY3JpYmVkIHwgUHJFUCBkb3NpbmcgdHlwZSB8IEV4cGVyaWVuY2Ugd2l0aCBQckVQCiAqCiAqIE51bWVyYXRvciBhbmQgRGVub21pbmF0b3IgRWxlbWVudHM6CiAqIERhdGUgbWVkaWNhdGlvbnMgcHJlc2NyaWJlZCAKICogIE1lZGljYXRpb25zIHByZXNjcmliZWQKICoKICogUmVmZXJlbmNlOiBDb25zb2xpZGF0ZWQgZ3VpZGVsaW5lcyBvbiBwZXJzb24tY2VudHJlZCBISVYgc3RyYXRlZ2ljIGluZm9ybWF0aW9uOiBzdHJlbmd0aGVuaW5nIHJvdXRpbmUgZGF0YSBmb3IgaW1wYWN0LiBHZW5ldmE6IFdvcmxkIEhlYWx0aCBPcmdhbml6YXRpb247IDIwMjIKICogCiAqIERhdGEgQ29uY2VwdHM6CiAqIEhJVi5BLkRFMTc6IEFnZSB8IENhbGN1bGF0ZWQgYWdlIChudW1iZXIgb2YgeWVhcnMpIG9mIHRoZSBjbGllbnQgYmFzZWQgb24gZGF0ZSBvZiBiaXJ0aAogKiBISVYuQS5ERTE4OiBHZW5kZXIqIHwgR2VuZGVyIG9mIHRoZSBjbGllbnQqCiAqIEhJVi5BLkRFMTk6IEZlbWFsZSB8IENsaWVudCBpZGVudGlmaWVzIGFzIGZlbWFsZQogKiBISVYuQS5ERTIwOiBNYWxlIHwgQ2xpZW50IGlkZW50aWZpZXMgYXMgbWFsZQogKiBISVYuQS5ERTIxOiBUcmFuc2dlbmRlciBtYWxlIHwgQ2xpZW50IGlkZW50aWZpZXMgYXMgdHJhbnNnZW5kZXIgbWFsZQogKiBISVYuQS5ERTIyOiBUcmFuc2dlbmRlciBmZW1hbGUgfCBDbGllbnQgaWRlbnRpZmllcyBhcyB0cmFuc2dlbmRlciBmZW1hbGUKICogSElWLkEuREUyMzogT3RoZXIgfCBBZGRpdGlvbmFsIGNhdGVnb3J5CiAqIEhJVi5CLkRFNTA6IEtleSBwb3B1bGF0aW9uIG1lbWJlciB0eXBlKiB8IFRoZSB0eXBlIG9mIGtleSBwb3B1bGF0aW9uIHRoYXQgdGhlIGNsaWVudCBpcyBpbmNsdWRlZCBpbgogKiBISVYuQi5ERTUxOiBTZXggd29ya2VyIHwgQ2xpZW50IGlzIGEgc2V4IHdvcmtlcgogKiBISVYuQi5ERTUyOiBNZW4gd2hvIGhhdmUgc2V4IHdpdGggbWVuIHwgQ2xpZW50IGlzIGEgbWFuIHdobyBoYXMgc2V4IHdpdGggbWVuCiAqIEhJVi5CLkRFNTM6IFRyYW5zIGFuZCBnZW5kZXItZGl2ZXJzZSBwZW9wbGUgfCBDbGllbnQgaWRlbnRpZmllcyBhcyB0cmFucyBhbmQgZ2VuZGVyLWRpdmVyc2UKICogSElWLkIuREU1NDogUGVvcGxlIHdobyBpbmplY3QgZHJ1Z3MgfCBDbGllbnQgaXMgYSBwZXJzb24gd2hvIGluamVjdHMgZHJ1Z3MKICogSElWLkIuREU1NTogUGVvcGxlIGxpdmluZyBpbiBwcmlzb25zIGFuZCBvdGhlciBjbG9zZWQgc2V0dGluZ3MgfCBDbGllbnQgbGl2ZXMgaW4gYSBwcmlzb24gb3IgYW5vdGhlciBjbG9zZWQgc2V0dGluZwogKiBISVYuQy5ERTExOiBQckVQIGRvc2luZyB0eXBlIHwgV2F5IGluIHdoaWNoIHByZS1leHBvc3VyZSBwcm9waHlsYXhpcyAoUHJFUCkgaXMgdGFrZW4gKGRhaWx5IG9yIGV2ZW50LWRyaXZlbikKICogSElWLkMuREUxMjogRGFpbHkgb3JhbCBQckVQIHwgUHJlLWV4cG9zdXJlIHByb3BoeWxheGlzIChQckVQKSBpcyB0YWtlbiBldmVyeSBkYXkKICogSElWLkMuREUxMzogRXZlbnQtZHJpdmVuIFByRVAgKDIrMSsxKSB8IEV2ZW50LWRyaXZlbiBwcmUtZXhwb3N1cmUgcHJvcGh5bGF4aXMgKFByRVApIGlzIHRha2VuIG9uIGFuIGV2ZW4tZHJpdmVuIGJhc2lzICgyKzErMSkKICogSElWLkMuREUxNDogT3RoZXIgUHJFUCBkb3NpbmcgdHlwZSB8IE90aGVyIFByRVAgZG9zaW5nIHR5cGUKICogSElWLkMuREUyNDogRXhwZXJpZW5jZSB3aXRoIFByRVAgfCBUaGUgY2xpZW50J3MgZXhwZXJpZW5jZSBpbiB0YWtpbmcgUHJFUAogKiBISVYuQy5ERTI1OiBGaXJzdC10aW1lIHVzZXIgfCBUaGUgY2xpZW50IGhhcyBuZXZlciB1c2VkIHByZS1leHBvc3VyZSBwcm9waHlsYXhpcyAoUHJFUCkgYmVmb3JlIChuYWl2ZSkKICogSElWLkMuREUyNjogQ29udGludWluZyB1c2VyIHwgVGhlIGNsaWVudCBoYXMgdXNlZCBQckVQIGJlZm9yZSBhbmQgaXMgY29udGludWluZyB0byB1c2UgUHJFUAogKiBISVYuQy5ERTI3OiBSZXN0YXJ0aW5nIGZvbGxvd2luZyBhIHBlcmlvZCBvZiBub3QgdGFraW5nIFByRVAgfCBUaGUgY2xpZW50IGlzIHJlc3RhcnRpbmcgUHJFUCBmb2xsb3dpbmcgYSBwZXJpb2Qgb2Ygbm90IHRha2luZyBQckVQCiAqIEhJVi5DLkRFNzQ6IERhdGUgbWVkaWNhdGlvbnMgcHJlc2NyaWJlZCB8IERhdGUgdGhlIGNsaWVudCB3YXMgcHJlc2NyaWJlZCBtZWRpY2F0aW9ucwogKiBISVYuQy5ERTc1OiBNZWRpY2F0aW9ucyBwcmVzY3JpYmVkIHwgTWVkaWNhdGlvbnMgdGhlIGNsaWVudCB3YXMgcHJlc2NyaWJlZAogKiBISVYuQy5ERTc2OiBQckVQIGZvciBISVYgcHJldmVudGlvbiB8IENsaWVudCB3YXMgcHJlc2NyaWJlZCBwcmUtZXhwb3N1cmUgcHJvcGh5bGF4aXMgKFByRVApIGZvciBISVYgcHJldmVudGlvbgogKiBISVYuQy5ERTc3OiBQRVAgZm9yIEhJViBwcmV2ZW50aW9uIHwgQ2xpZW50IHdhcyBwcmVzY3JpYmVkIHBvc3QtZXhwb3N1cmUgcHJvcGh5bGF4aXMgKFBFUCkgZm9yIEhJViBwcmV2ZW50aW9uCiAqIEhJVi5DLkRFNzg6IE90aGVyIHwgQ2xpZW50IHdhcyBwcmVzY3JpYmVkIG90aGVyIG1lZGljYXRpb25zCiAqIEhJVi5DLkRFODA6IFByRVAgcHJvZHVjdCBwcmVzY3JpYmVkIHwgUHJFUCBwcm9kdWN0IHRoYXQgdGhlIGNsaWVudCB3YXMgcHJlc2NyaWJlZAogKiBISVYuQy5ERTgxOiBPcmFsIFByRVAgfCBDbGllbnQgd2FzIHByZXNjcmliZWQgb3JhbCBQckVQCiAqIEhJVi5DLkRFODI6IERhcGl2aXJpbmUgdmFnaW5hbCByaW5nIChEVlIpIHwgQ2xpZW50IHdhcyBwcmVzY3JpYmVkIGRhcGl2aXJpbmUgdmFnaW5hbCByaW5nIChEVlIpCiAqIEhJVi5DLkRFODM6IENBQi1MQSB8IENsaWVudCB3YXMgcHJlc2NyaWJlZCBsb25nLWFjdGluZyBjYWJvdGVncmF2aXIgKENBQi1MQSkKICogSElWLkMuREU4NDogT3RoZXIgfCBDbGllbnQgd2FzIHByZXNjcmliZWQgb3RoZXIgUHJFUCBwcm9kdWN0CiAqIEhJVi5ELkRFNDU3OiBNZWRpY2F0aW9ucyBwcmVzY3JpYmVkIHwgTmFtZSBvciByZWdpbWVuIGNvZGUgb2YgYWxsIG90aGVyIG1lZGljYXRpb25zIHByZXNjcmliZWQgZHVyaW5nIHRoZSB2aXNpdAogKiBISVYuRC5ERTQ1ODogRGF0ZSBtZWRpY2F0aW9ucyBwcmVzY3JpYmVkIHwgRGF0ZSB0aGUgbWVkaWNhdGlvbnMgd2VyZSBwcmVzY3JpYmVkCiAqIEhJVi5FLkRFMTE0OiBLZXkgcG9wdWxhdGlvbiBtZW1iZXIgdHlwZSogfCBUaGUgdHlwZSBvZiBrZXkgcG9wdWxhdGlvbiB0aGF0IHRoZSBpbmZhbnQncyBtb3RoZXIgaXMgaW5jbHVkZWQgaW4KICogSElWLkUuREUxMTU6IFNleCB3b3JrZXIgfCBJbmZhbnQncyBtb3RoZXIgaXMgYSBzZXggd29ya2VyCiAqIEhJVi5FLkRFMTE2OiBQZW9wbGUgd2hvIGluamVjdCBkcnVncyB8IEluZmFudCdzIG1vdGhlciBpcyBhIHBlcnNvbiB3aG8gaW5qZWN0cyBkcnVncwogKiBISVYuRS5ERTExNzogVHJhbnMgYW5kIGdlbmRlci1kaXZlcnNlIHBlb3BsZSB8IEluZmFudCdzIG1vdGhlciBpZGVudGlmaWVzIGFzIHRyYW5zIGFuZCBnZW5kZXItZGl2ZXJzZQogKiBISVYuRS5ERTExODogUGVvcGxlIGxpdmluZyBpbiBwcmlzb25zIGFuZCBvdGhlciBjbG9zZWQgc2V0dGluZyB8IEluZmFudCdzIG1vdGhlciBpcyBpbiBhIHByaXNvbiBvciBjbG9zZWQgc2V0dGluZwogKiBISVYuUFJWLkRFMjc6IERhdGUgbWVkaWNhdGlvbnMgcHJlc2NyaWJlZCB8IERhdGUgdGhlIGNsaWVudCB3YXMgcHJlc2NyaWJlZCBtZWRpY2F0aW9ucwogKgogKiBBZGRpdGlvbmFsIENvbnRleHQKICogLSB3aGF0IGl0IG1lYXN1cmVzOiBUaGlzIGluZGljYXRvciBtZWFzdXJlcyB0aGUgbnVtYmVyIG9mIHBlb3BsZSByZWNlaXZpbmcgYW55IFByRVAgcHJvZHVjdCBkdXJpbmcgdGhlIHJlcG9ydGluZyBwZXJpb2QsIGluY2x1ZGluZyBwZW9wbGUgc3RhcnRpbmcgUHJFUCBmb3IgdGhlIGZpcnN0IHRpbWUsIHJlc3RhcnRpbmcgUHJFUCwgY29udGludWluZyBQckVQIG9yIHN3aXRjaGluZyBmcm9tIG9uZSBQckVQIHByb2R1Y3QgdG8gYW5vdGhlci4KICogLSByYXRpb25hbGU6IOKAosKgVGhlIHVzZSBvZiBBUlYgbWVkaWNpbmVzIGJ5IHBlb3BsZSB3aG8gYXJlIEhJVi1uZWdhdGl2ZSBiZWZvcmUgdGhleSBhcmUgZXhwb3NlZCB0byBISVYgY2FuIHByZXZlbnQgSElWIGluZmVjdGlvbi4gfCDigKLCoFRocm91Z2ggZGlzYWdncmVnYXRpb24sIHRoaXMgaW5kaWNhdG9yIGNhbiBoZWxwIG1hbmFnZXJzIGNvbXBhcmUgdGhlIHVwdGFrZSBhbmQgdXNlIG9mIFByRVAgYW1vbmcgZGlmZmVyZW50IHR5cGVzIG9mIHVzZXJzIChmb3IgZXhhbXBsZSwgYnkgZmlyc3QtdGltZSB1c2VycywgYW5kIG1lbWJlcnMgb2YgcHJpb3JpdHkgcG9wdWxhdGlvbnMpLgogKiAtIG1ldGhvZDogSW5kaXZpZHVhbC1sZXZlbCBkYXRhIG9idGFpbmVkIGZyb20gcHJvZ3JhbW1lIHJlY29yZHMuIHwgIHwgSWYgaW5kaXZpZHVhbC1sZXZlbCBkYXRhIGFyZSBub3QgYXZhaWxhYmxlLCB0aGUgaW5kaWNhdG9yIGNhbiBiZSByZXBvcnRlZCB1c2luZyBhZ2dyZWdhdGUgcHJvZ3JhbW1lIGRhdGEuIEJlY2F1c2UgZGUtZHVwbGljYXRpb24gaXMgbm90IHBvc3NpYmxlLCBpbmRpdmlkdWFscyBwcmVzY3JpYmVkIG11bHRpcGxlIHwgUHJFUCBwcm9kdWN0cyBvciBmb3JtdWxhdGlvbnMgYXQgZGlmZmVyZW50IHRpbWVzIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZCBtYXliZSBjb3VudGVkIG11bHRpcGxlIHRpbWVzLCBhbmQgdGhlIG51bWJlciByZXBvcnRlZCBtYXkgYmUgZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgdW5pcXVlIGluZGl2aWR1YWxzIHJlY2VpdmluZyBQckVQIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZC4KICogCiAqIFN1Z2dlc3RlZCBTY29yaW5nIE1ldGhvZDogY29udGludW91cy12YXJpYWJsZSB8IGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY3FmbWVhc3VyZXMvU3RydWN0dXJlRGVmaW5pdGlvbi9jdi1tZWFzdXJlLWNxZm0KICovCgpsaWJyYXJ5IEhJVklORDJMb2dpYwoKLy8gSW5jbHVkZWQgTGlicmFyaWVzCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEhJVkNvbW1vbiB2ZXJzaW9uICcwLjAuMScgY2FsbGVkIEhJQwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0NvbQoKaW5jbHVkZSBISVZFbGVtZW50cyBjYWxsZWQgSEUKaW5jbHVkZSBISVZJbmRpY2F0b3JFbGVtZW50cyBjYWxsZWQgSElFCgovLyBJbmRpY2F0b3IgRGVmaW5pdGlvbgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAyMy0wMS0wMSwgQDIwMjMtMDEtMzBdCgpjb250ZXh0IFBhdGllbnQKZGVmaW5lICJNZWFzdXJlIFBvcHVsYXRpb24iOgogICBISUUuIkhJViBQUkVQIEFjdGl2ZSIgCgovKgogKiBBcyBkZWZpbmVkIGJ5IE1lbWJlciBTdGF0ZXMKICovCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKICB0cnVlCgovKgogKiBOT1RFOiBNb2RlbGVkIGFzIGEgQ29udGludW91cyBWYXJpYWJsZSBtZWFzdXJlIGJlY2F1c2UgdGhpcyBpcyBhbiBlc3RpbWF0ZWQgZGVub21pbmF0b3IgcHJvcG9ydGlvbiBtZWFzdXJlCiAqLwoKZGVmaW5lIGZ1bmN0aW9uICJNZWFzdXJlIE9ic2VydmF0aW9uIihQYXRpZW50ICJQYXRpZW50Iik6CiAgMQoKCi8qCiAqIERpc2FnZ3JlZ2F0b3JzCiAqLwoKZGVmaW5lICJBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgU3RyYXRpZmllciI6CglISUUuIkJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyIgoKZGVmaW5lICJBZ2UgU3RyYXRpZmllciI6CglISUUuIkJ5IEFnZSBTdHJhdGlmaWVyIDMiCgpkZWZpbmUgIkdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiOgoJSElFLiJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIgoKZGVmaW5lICJwYXRpZW50R3JvdXBzIFN0cmF0aWZpZXIiOgoJSElFLiJwYXRpZW50R3JvdXBzIgoKZGVmaW5lICJTZXR0aW5nIjoKICBISUUuInNldHRpbmciCgpkZWZpbmUgInByZXAgcHJvZHVjdCI6CiAgSElFLiJwcmVwX3Byb2R1Y3QiCgpkZWZpbmUgInByZXBfZXhwZXJpZW5jZSI6CiAgSElFLiJwcmVwX2V4cGVyaWVuY2UiCgpkZWZpbmUgInByZXBfZG9zaW5nIjoKICBISUUuInByZXBfZG9zaW5nIgoKLy8gUHJvdmlkZXIgdHlwZSBjb25jZXB0cyBhcmUgbm90IGZvdW5kIGluIERECgpkZWZpbmUgIlN0cmF0aWZpY2F0aW9uIjoKIEhJRS4iQnkgQWRtaW5pc3RyYXRpdmUgR2VuZGVyIFN0cmF0aWZpZXIiLmNvZGUgCiAgKyAnOicgKyBISUUuIkJ5IEFnZSBTdHJhdGlmaWVyIgorICc6JyArIEhJRS4iQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciIKKyBDb21iaW5lKEhJRS5wYXRpZW50R3JvdXBzLCAnOicpCisgQ29tYmluZShISUUuc2V0dGluZywgJzonKQorIENvbWJpbmUoSElFLnByZXBfcHJvZHVjdCwgJzonKQorIENvbWJpbmUoSElFLnByZXBfZXhwZXJpZW5jZSwgJzonKQorIENvbWJpbmUoSElFLnByZXBfZG9zaW5nLCAnOicp"/>
</content>
<content>
<contentType value="application/elm+xml"/>
<data
value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iTm9uZSIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1JbmZvIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IlRoZSBmdW5jdGlvbiBGSElSSGVscGVycy5Ub0ludGVydmFsIGhhcyBtdWx0aXBsZSBvdmVybG9hZHMgYW5kIGR1ZSB0byB0aGUgU2lnbmF0dXJlTGV2ZWwgc2V0dGluZyAoTm9uZSksIHRoZSBvdmVybG9hZCBzaWduYXR1cmUgaXMgbm90IGJlaW5nIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuIFRoaXMgbWF5IHJlc3VsdCBpbiBhbWJpZ3VvdXMgZnVuY3Rpb24gcmVzb2x1dGlvbiBhdCBydW50aW1lLCBjb25zaWRlciBzZXR0aW5nIHRoZSBTaWduYXR1cmVMZXZlbCB0byBPdmVybG9hZHMgb3IgQWxsIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgaW5jbHVkZXMgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGNvcnJlY3Qgb3ZlcmxvYWQgc2VsZWN0aW9uIGF0IHJ1bnRpbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IlRoZSBmdW5jdGlvbiBGSElSSGVscGVycy5Ub0ludGVydmFsIGhhcyBtdWx0aXBsZSBvdmVybG9hZHMgYW5kIGR1ZSB0byB0aGUgU2lnbmF0dXJlTGV2ZWwgc2V0dGluZyAoTm9uZSksIHRoZSBvdmVybG9hZCBzaWduYXR1cmUgaXMgbm90IGJlaW5nIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuIFRoaXMgbWF5IHJlc3VsdCBpbiBhbWJpZ3VvdXMgZnVuY3Rpb24gcmVzb2x1dGlvbiBhdCBydW50aW1lLCBjb25zaWRlciBzZXR0aW5nIHRoZSBTaWduYXR1cmVMZXZlbCB0byBPdmVybG9hZHMgb3IgQWxsIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgaW5jbHVkZXMgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGNvcnJlY3Qgb3ZlcmxvYWQgc2VsZWN0aW9uIGF0IHJ1bnRpbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IlRoZSBmdW5jdGlvbiBGSElSSGVscGVycy5Ub1N0cmluZyBoYXMgbXVsdGlwbGUgb3ZlcmxvYWRzIGFuZCBkdWUgdG8gdGhlIFNpZ25hdHVyZUxldmVsIHNldHRpbmcgKE5vbmUpLCB0aGUgb3ZlcmxvYWQgc2lnbmF0dXJlIGlzIG5vdCBiZWluZyBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0LiBUaGlzIG1heSByZXN1bHQgaW4gYW1iaWd1b3VzIGZ1bmN0aW9uIHJlc29sdXRpb24gYXQgcnVudGltZSwgY29uc2lkZXIgc2V0dGluZyB0aGUgU2lnbmF0dXJlTGV2ZWwgdG8gT3ZlcmxvYWRzIG9yIEFsbCB0byBlbnN1cmUgdGhhdCB0aGUgb3V0cHV0IGluY2x1ZGVzIHN1ZmZpY2llbnQgaW5mb3JtYXRpb24gdG8gc3VwcG9ydCBjb3JyZWN0IG92ZXJsb2FkIHNlbGVjdGlvbiBhdCBydW50aW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgPGE6cyByPSI4MyI+CiAgICAgICAgIDxhOnM+LyoqCiAqIExpYnJhcnk6IEhJVi5JTkQuMiBMb2dpYwogKiBSZWYgTm86IFBSVi4yCiAqIFNob3J0IE5hbWU6IFRvdGFsIFByRVAgcmVjaXBpZW50cwogKgogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgcGVvcGxlIHdobyByZWNlaXZlZCBQckVQIGF0IGxlYXN0IG9uY2UgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kCiAqCiAqIE51bWVyYXRvcjogTnVtYmVyIG9mIHBlb3BsZSBwcmVzY3JpYmVkIG9yIGRpc3BlbnNlZCBhbnkgZm9ybSBvZiBQckVQIGF0IGxlYXN0IG9uY2UgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kLiBJbmRpdmlkdWFscyBwcmVzY3JpYmVkIGRpZmZlcmVudCBQckVQIHByb2R1Y3RzIG9yIHJlZ2ltZW5zIGF0IGRpZmZlcmVudCB0aW1lcyBkdXJpbmcgdGhlIHJlcG9ydGluZyBwZXJpb2Qgc2hvdWxkIGJlIGNvdW50ZWQgb25seSBvbmNlLgogKiBOdW1lcmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIGNsaWVudHMgd2l0aCAmcXVvdDtNZWRpY2F0aW9ucyBwcmVzY3JpYmVkJnF1b3Q7PSdQckVQIGZvciBISVYgcHJldmVudGlvbicgd2l0aCAmcXVvdDtEYXRlIG1lZGljYXRpb25zIHByZXNjcmliZWQmcXVvdDsgaW4gdGhlIHJlcG9ydGluZyBwZXJpb2QKICogTnVtZXJhdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEZW5vbWluYXRvcjogMQogKiBEZW5vbWluYXRvciBDYWxjdWxhdGlvbjogMQogKiBEZW5vbWluYXRvciBFeGNsdXNpb25zOiAKICoKICogRGlzYWdncmVnYXRpb25zOgogKiDigKLCoEFnZSAoMTXigJMxOSwgMjDigJMyNCwgMjXigJM0OSwgNTArIHllYXJzKSAKICogIOKAoiBHZW5kZXIgKGZlbWFsZSwgbWFsZSwgb3RoZXIqKSAKICogIOKAosKgS2V5IHBvcHVsYXRpb25zIChtZW4gd2hvIGhhdmUgc2V4IHdpdGggbWVuLCBwZW9wbGUgbGl2aW5nIGluIHByaXNvbnMgYW5kIG90aGVyIGNsb3NlZCBzZXR0aW5ncywgcGVvcGxlIHdobyBpbmplY3QgZHJ1Z3MsIHNleCB3b3JrZXJzLCB0cmFucyBhbmQgZ2VuZGVyIGRpdmVyc2UgcGVvcGxlKSoqIAogKiAg4oCiwqBQckVQIHByb2R1Y3QgYW5kIGZvcm11bGF0aW9uIChvcmFsLCBsb25nLWFjdGluZyBkZXZpY2UsIGxvbmctYWN0aW5nIGluamVjdGFibGUpLiBTb21lIHBlb3BsZSBtYXkgc3RhcnQsIGNvbnRpbnVlLCBzdG9wIGFuZCByZXN0YXJ0LCBvbmUgb3IgbXVsdGlwbGUgdGltZXMgd2l0aCBkaWZmZXJlbnQgcHJvZHVjdHMgb3IgZm9ybXVsYXRpb25zIGluIGEgZ2l2ZW4gcmVwb3J0aW5nIHBlcmlvZC4gQmVjYXVzZSBvZiB0aGlzLCB0aGUgcGVyY2VudGFnZXMgb2YgcmVjaXBpZW50cyByZWNlaXZpbmcgZGlmZmVyZW50IFByRVAgcHJvZHVjdHMgbWF5IHRvdGFsIG1vcmUgdGhhbiAxMDAlLiAKICogIOKAosKgRXhwZXJpZW5jZSB3aXRoIFByRVAgKGZpcnN0IHRpbWUsIGNvbnRpbnVpbmcsIG9yIHJlc3RhcnRpbmcgZm9sbG93aW5nIGEgcGVyaW9kIG9mIG5vdCAKICogIHRha2luZyBQckVQKSAKICogIOKAosKgUHJvdmlkZXIgdHlwZSAoa2V5IHBvcHVsYXRpb24tbGVkIG9yIGNvbW11bml0eS1sZWQgb3JnYW5pemF0aW9uLCBwdWJsaWMgc2VjdG9yIHByb3ZpZGVyLCBvdGhlciBlbnRpdGllcyBzdWNoIGFzIHByaXZhdGUgZm9yLXByb2ZpdCBhbmQgbm90LWZvci1wcm9maXQgb3JnYW5pemF0aW9ucywgaW5jbHVkaW5nIGZhaXRoLSBiYXNlZCwgaW50ZXJuYXRpb25hbCwgbm9uZ292ZXJubWVudGFsKSAKICogIOKAosKgU2V0dGluZzogZmFjaWxpdHktYmFzZWQgc2VydmljZSAoaW5jbHVkaW5nIGhvc3BpdGFscywgaGVhbHRoIGNsaW5pY3MsIGdlbmVyYWwgcHJhY3RpY2Ugb2ZmaWNlcywgZXRjLikgb3IgY29tbXVuaXR5LWJhc2VkIHNlcnZpY2UgKGluY2x1ZGluZyBkcm9wLWluIGNlbnRyZXMsIGNvbW11bml0eSBzZXJ2aWNlIGRlbGl2ZXJ5IHBvaW50cywgbW9iaWxlIGNsaW5pY3Mgb3IgdmFucywgb3V0cmVhY2ggdGVhbXMsIGNvbW11bml0eSBzdXBwb3J0IGdyb3VwcywgZXRjLikgCiAqICDigKLCoENpdGllcyBhbmQgb3RoZXIgYWRtaW5pc3RyYXRpdmUgcmVnaW9ucyBvZiBlcGlkZW1pb2xvZ2ljIGltcG9ydGFuY2UKICoKICogRGlzYWdncmVnYXRpb24gRWxlbWVudHM6IEdlbmRlciB8IEFnZSB8IEtleSBwb3B1bGF0aW9uIG1lbWJlciB0eXBlIHwgUHJFUCBwcm9kdWN0IHByZXNjcmliZWQgfCBQckVQIGRvc2luZyB0eXBlIHwgRXhwZXJpZW5jZSB3aXRoIFByRVAKICoKICogTnVtZXJhdG9yIGFuZCBEZW5vbWluYXRvciBFbGVtZW50czoKICogRGF0ZSBtZWRpY2F0aW9ucyBwcmVzY3JpYmVkIAogKiAgTWVkaWNhdGlvbnMgcHJlc2NyaWJlZAogKgogKiBSZWZlcmVuY2U6IENvbnNvbGlkYXRlZCBndWlkZWxpbmVzIG9uIHBlcnNvbi1jZW50cmVkIEhJViBzdHJhdGVnaWMgaW5mb3JtYXRpb246IHN0cmVuZ3RoZW5pbmcgcm91dGluZSBkYXRhIGZvciBpbXBhY3QuIEdlbmV2YTogV29ybGQgSGVhbHRoIE9yZ2FuaXphdGlvbjsgMjAyMgogKiAKICogRGF0YSBDb25jZXB0czoKICogSElWLkEuREUxNzogQWdlIHwgQ2FsY3VsYXRlZCBhZ2UgKG51bWJlciBvZiB5ZWFycykgb2YgdGhlIGNsaWVudCBiYXNlZCBvbiBkYXRlIG9mIGJpcnRoCiAqIEhJVi5BLkRFMTg6IEdlbmRlciogfCBHZW5kZXIgb2YgdGhlIGNsaWVudCoKICogSElWLkEuREUxOTogRmVtYWxlIHwgQ2xpZW50IGlkZW50aWZpZXMgYXMgZmVtYWxlCiAqIEhJVi5BLkRFMjA6IE1hbGUgfCBDbGllbnQgaWRlbnRpZmllcyBhcyBtYWxlCiAqIEhJVi5BLkRFMjE6IFRyYW5zZ2VuZGVyIG1hbGUgfCBDbGllbnQgaWRlbnRpZmllcyBhcyB0cmFuc2dlbmRlciBtYWxlCiAqIEhJVi5BLkRFMjI6IFRyYW5zZ2VuZGVyIGZlbWFsZSB8IENsaWVudCBpZGVudGlmaWVzIGFzIHRyYW5zZ2VuZGVyIGZlbWFsZQogKiBISVYuQS5ERTIzOiBPdGhlciB8IEFkZGl0aW9uYWwgY2F0ZWdvcnkKICogSElWLkIuREU1MDogS2V5IHBvcHVsYXRpb24gbWVtYmVyIHR5cGUqIHwgVGhlIHR5cGUgb2Yga2V5IHBvcHVsYXRpb24gdGhhdCB0aGUgY2xpZW50IGlzIGluY2x1ZGVkIGluCiAqIEhJVi5CLkRFNTE6IFNleCB3b3JrZXIgfCBDbGllbnQgaXMgYSBzZXggd29ya2VyCiAqIEhJVi5CLkRFNTI6IE1lbiB3aG8gaGF2ZSBzZXggd2l0aCBtZW4gfCBDbGllbnQgaXMgYSBtYW4gd2hvIGhhcyBzZXggd2l0aCBtZW4KICogSElWLkIuREU1MzogVHJhbnMgYW5kIGdlbmRlci1kaXZlcnNlIHBlb3BsZSB8IENsaWVudCBpZGVudGlmaWVzIGFzIHRyYW5zIGFuZCBnZW5kZXItZGl2ZXJzZQogKiBISVYuQi5ERTU0OiBQZW9wbGUgd2hvIGluamVjdCBkcnVncyB8IENsaWVudCBpcyBhIHBlcnNvbiB3aG8gaW5qZWN0cyBkcnVncwogKiBISVYuQi5ERTU1OiBQZW9wbGUgbGl2aW5nIGluIHByaXNvbnMgYW5kIG90aGVyIGNsb3NlZCBzZXR0aW5ncyB8IENsaWVudCBsaXZlcyBpbiBhIHByaXNvbiBvciBhbm90aGVyIGNsb3NlZCBzZXR0aW5nCiAqIEhJVi5DLkRFMTE6IFByRVAgZG9zaW5nIHR5cGUgfCBXYXkgaW4gd2hpY2ggcHJlLWV4cG9zdXJlIHByb3BoeWxheGlzIChQckVQKSBpcyB0YWtlbiAoZGFpbHkgb3IgZXZlbnQtZHJpdmVuKQogKiBISVYuQy5ERTEyOiBEYWlseSBvcmFsIFByRVAgfCBQcmUtZXhwb3N1cmUgcHJvcGh5bGF4aXMgKFByRVApIGlzIHRha2VuIGV2ZXJ5IGRheQogKiBISVYuQy5ERTEzOiBFdmVudC1kcml2ZW4gUHJFUCAoMisxKzEpIHwgRXZlbnQtZHJpdmVuIHByZS1leHBvc3VyZSBwcm9waHlsYXhpcyAoUHJFUCkgaXMgdGFrZW4gb24gYW4gZXZlbi1kcml2ZW4gYmFzaXMgKDIrMSsxKQogKiBISVYuQy5ERTE0OiBPdGhlciBQckVQIGRvc2luZyB0eXBlIHwgT3RoZXIgUHJFUCBkb3NpbmcgdHlwZQogKiBISVYuQy5ERTI0OiBFeHBlcmllbmNlIHdpdGggUHJFUCB8IFRoZSBjbGllbnQncyBleHBlcmllbmNlIGluIHRha2luZyBQckVQCiAqIEhJVi5DLkRFMjU6IEZpcnN0LXRpbWUgdXNlciB8IFRoZSBjbGllbnQgaGFzIG5ldmVyIHVzZWQgcHJlLWV4cG9zdXJlIHByb3BoeWxheGlzIChQckVQKSBiZWZvcmUgKG5haXZlKQogKiBISVYuQy5ERTI2OiBDb250aW51aW5nIHVzZXIgfCBUaGUgY2xpZW50IGhhcyB1c2VkIFByRVAgYmVmb3JlIGFuZCBpcyBjb250aW51aW5nIHRvIHVzZSBQckVQCiAqIEhJVi5DLkRFMjc6IFJlc3RhcnRpbmcgZm9sbG93aW5nIGEgcGVyaW9kIG9mIG5vdCB0YWtpbmcgUHJFUCB8IFRoZSBjbGllbnQgaXMgcmVzdGFydGluZyBQckVQIGZvbGxvd2luZyBhIHBlcmlvZCBvZiBub3QgdGFraW5nIFByRVAKICogSElWLkMuREU3NDogRGF0ZSBtZWRpY2F0aW9ucyBwcmVzY3JpYmVkIHwgRGF0ZSB0aGUgY2xpZW50IHdhcyBwcmVzY3JpYmVkIG1lZGljYXRpb25zCiAqIEhJVi5DLkRFNzU6IE1lZGljYXRpb25zIHByZXNjcmliZWQgfCBNZWRpY2F0aW9ucyB0aGUgY2xpZW50IHdhcyBwcmVzY3JpYmVkCiAqIEhJVi5DLkRFNzY6IFByRVAgZm9yIEhJViBwcmV2ZW50aW9uIHwgQ2xpZW50IHdhcyBwcmVzY3JpYmVkIHByZS1leHBvc3VyZSBwcm9waHlsYXhpcyAoUHJFUCkgZm9yIEhJViBwcmV2ZW50aW9uCiAqIEhJVi5DLkRFNzc6IFBFUCBmb3IgSElWIHByZXZlbnRpb24gfCBDbGllbnQgd2FzIHByZXNjcmliZWQgcG9zdC1leHBvc3VyZSBwcm9waHlsYXhpcyAoUEVQKSBmb3IgSElWIHByZXZlbnRpb24KICogSElWLkMuREU3ODogT3RoZXIgfCBDbGllbnQgd2FzIHByZXNjcmliZWQgb3RoZXIgbWVkaWNhdGlvbnMKICogSElWLkMuREU4MDogUHJFUCBwcm9kdWN0IHByZXNjcmliZWQgfCBQckVQIHByb2R1Y3QgdGhhdCB0aGUgY2xpZW50IHdhcyBwcmVzY3JpYmVkCiAqIEhJVi5DLkRFODE6IE9yYWwgUHJFUCB8IENsaWVudCB3YXMgcHJlc2NyaWJlZCBvcmFsIFByRVAKICogSElWLkMuREU4MjogRGFwaXZpcmluZSB2YWdpbmFsIHJpbmcgKERWUikgfCBDbGllbnQgd2FzIHByZXNjcmliZWQgZGFwaXZpcmluZSB2YWdpbmFsIHJpbmcgKERWUikKICogSElWLkMuREU4MzogQ0FCLUxBIHwgQ2xpZW50IHdhcyBwcmVzY3JpYmVkIGxvbmctYWN0aW5nIGNhYm90ZWdyYXZpciAoQ0FCLUxBKQogKiBISVYuQy5ERTg0OiBPdGhlciB8IENsaWVudCB3YXMgcHJlc2NyaWJlZCBvdGhlciBQckVQIHByb2R1Y3QKICogSElWLkQuREU0NTc6IE1lZGljYXRpb25zIHByZXNjcmliZWQgfCBOYW1lIG9yIHJlZ2ltZW4gY29kZSBvZiBhbGwgb3RoZXIgbWVkaWNhdGlvbnMgcHJlc2NyaWJlZCBkdXJpbmcgdGhlIHZpc2l0CiAqIEhJVi5ELkRFNDU4OiBEYXRlIG1lZGljYXRpb25zIHByZXNjcmliZWQgfCBEYXRlIHRoZSBtZWRpY2F0aW9ucyB3ZXJlIHByZXNjcmliZWQKICogSElWLkUuREUxMTQ6IEtleSBwb3B1bGF0aW9uIG1lbWJlciB0eXBlKiB8IFRoZSB0eXBlIG9mIGtleSBwb3B1bGF0aW9uIHRoYXQgdGhlIGluZmFudCdzIG1vdGhlciBpcyBpbmNsdWRlZCBpbgogKiBISVYuRS5ERTExNTogU2V4IHdvcmtlciB8IEluZmFudCdzIG1vdGhlciBpcyBhIHNleCB3b3JrZXIKICogSElWLkUuREUxMTY6IFBlb3BsZSB3aG8gaW5qZWN0IGRydWdzIHwgSW5mYW50J3MgbW90aGVyIGlzIGEgcGVyc29uIHdobyBpbmplY3RzIGRydWdzCiAqIEhJVi5FLkRFMTE3OiBUcmFucyBhbmQgZ2VuZGVyLWRpdmVyc2UgcGVvcGxlIHwgSW5mYW50J3MgbW90aGVyIGlkZW50aWZpZXMgYXMgdHJhbnMgYW5kIGdlbmRlci1kaXZlcnNlCiAqIEhJVi5FLkRFMTE4OiBQZW9wbGUgbGl2aW5nIGluIHByaXNvbnMgYW5kIG90aGVyIGNsb3NlZCBzZXR0aW5nIHwgSW5mYW50J3MgbW90aGVyIGlzIGluIGEgcHJpc29uIG9yIGNsb3NlZCBzZXR0aW5nCiAqIEhJVi5QUlYuREUyNzogRGF0ZSBtZWRpY2F0aW9ucyBwcmVzY3JpYmVkIHwgRGF0ZSB0aGUgY2xpZW50IHdhcyBwcmVzY3JpYmVkIG1lZGljYXRpb25zCiAqCiAqIEFkZGl0aW9uYWwgQ29udGV4dAogKiAtIHdoYXQgaXQgbWVhc3VyZXM6IFRoaXMgaW5kaWNhdG9yIG1lYXN1cmVzIHRoZSBudW1iZXIgb2YgcGVvcGxlIHJlY2VpdmluZyBhbnkgUHJFUCBwcm9kdWN0IGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZCwgaW5jbHVkaW5nIHBlb3BsZSBzdGFydGluZyBQckVQIGZvciB0aGUgZmlyc3QgdGltZSwgcmVzdGFydGluZyBQckVQLCBjb250aW51aW5nIFByRVAgb3Igc3dpdGNoaW5nIGZyb20gb25lIFByRVAgcHJvZHVjdCB0byBhbm90aGVyLgogKiAtIHJhdGlvbmFsZTog4oCiwqBUaGUgdXNlIG9mIEFSViBtZWRpY2luZXMgYnkgcGVvcGxlIHdobyBhcmUgSElWLW5lZ2F0aXZlIGJlZm9yZSB0aGV5IGFyZSBleHBvc2VkIHRvIEhJViBjYW4gcHJldmVudCBISVYgaW5mZWN0aW9uLiB8IOKAosKgVGhyb3VnaCBkaXNhZ2dyZWdhdGlvbiwgdGhpcyBpbmRpY2F0b3IgY2FuIGhlbHAgbWFuYWdlcnMgY29tcGFyZSB0aGUgdXB0YWtlIGFuZCB1c2Ugb2YgUHJFUCBhbW9uZyBkaWZmZXJlbnQgdHlwZXMgb2YgdXNlcnMgKGZvciBleGFtcGxlLCBieSBmaXJzdC10aW1lIHVzZXJzLCBhbmQgbWVtYmVycyBvZiBwcmlvcml0eSBwb3B1bGF0aW9ucykuCiAqIC0gbWV0aG9kOiBJbmRpdmlkdWFsLWxldmVsIGRhdGEgb2J0YWluZWQgZnJvbSBwcm9ncmFtbWUgcmVjb3Jkcy4gfCAgfCBJZiBpbmRpdmlkdWFsLWxldmVsIGRhdGEgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBpbmRpY2F0b3IgY2FuIGJlIHJlcG9ydGVkIHVzaW5nIGFnZ3JlZ2F0ZSBwcm9ncmFtbWUgZGF0YS4gQmVjYXVzZSBkZS1kdXBsaWNhdGlvbiBpcyBub3QgcG9zc2libGUsIGluZGl2aWR1YWxzIHByZXNjcmliZWQgbXVsdGlwbGUgfCBQckVQIHByb2R1Y3RzIG9yIGZvcm11bGF0aW9ucyBhdCBkaWZmZXJlbnQgdGltZXMgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kIG1heWJlIGNvdW50ZWQgbXVsdGlwbGUgdGltZXMsIGFuZCB0aGUgbnVtYmVyIHJlcG9ydGVkIG1heSBiZSBncmVhdGVyIHRoYW4gdGhlIG51bWJlciBvZiB1bmlxdWUgaW5kaXZpZHVhbHMgcmVjZWl2aW5nIFByRVAgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kLgogKiAKICogU3VnZ2VzdGVkIFNjb3JpbmcgTWV0aG9kOiBjb250aW51b3VzLXZhcmlhYmxlIHwgaHR0cDovL2hsNy5vcmcvZmhpci91cy9jcWZtZWFzdXJlcy9TdHJ1Y3R1cmVEZWZpbml0aW9uL2N2LW1lYXN1cmUtY3FmbQogKi8KCmxpYnJhcnkgSElWSU5EMkxvZ2ljPC9hOnM+CiAgICAgIDwvYTpzPgogICA8L2Fubm90YXRpb24+CiAgIDxpZGVudGlmaWVyIGlkPSJISVZJTkQyTG9naWMiIHN5c3RlbT0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaGl2Ii8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYXRvcj0iODc6MS04NzoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMSI+CiAgICAgICAgICAgICAgIDxhOnM+Ly8gSW5jbHVkZWQgTGlicmFyaWVzCnVzaW5nIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSI4OToxLTg5OjQ0IiBsb2NhbElkZW50aWZpZXI9IkhJQyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaGl2L0hJVkNvbW1vbiIgdmVyc2lvbj0iMC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkhJVkNvbW1vbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnMC4wLjEnIGNhbGxlZCBISUM8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMyIgbG9jYXRvcj0iOTA6MS05MDozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2hsNy5vcmcvZmhpci9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNCIgbG9jYXRvcj0iOTE6MS05MToyOSIgbG9jYWxJZGVudGlmaWVyPSJXQ29tIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9oaXYvV0hPQ29tbW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5XSE9Db21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBXQ29tPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjkzOjEtOTM6MjkiIGxvY2FsSWRlbnRpZmllcj0iSEUiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2hpdi9ISVZFbGVtZW50cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SElWRWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBIRTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2IiBsb2NhdG9yPSI5NDoxLTk0OjM5IiBsb2NhbElkZW50aWZpZXI9IkhJRSIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaGl2L0hJVkluZGljYXRvckVsZW1lbnRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5ISVZJbmRpY2F0b3JFbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIEhJRTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPHBhcmFtZXRlcnM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTIiIGxvY2F0b3I9Ijk3OjEtOTc6ODgiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyIj4KICAgICAgICAgICAgICAgPGE6cz4vLyBJbmRpY2F0b3IgRGVmaW5pdGlvbgpwYXJhbWV0ZXIgJnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkZWZhdWx0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjciPkludGVydmFsW0AyMDIzLTAxLTAxLCBAMjAyMy0wMS0zMF08L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxkZWZhdWx0IGxvY2FsSWQ9IjkiIGxvY2F0b3I9Ijk3OjU1LTk3Ojg4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iNyIgbG9jYXRvcj0iOTc6NjQtOTc6NzQiIHhzaTp0eXBlPSJEYXRlIj4KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjgiIGxvY2F0b3I9Ijk3Ojc3LTk3Ojg3IiB4c2k6dHlwZT0iRGF0ZSI+CiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjMwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZGVmYXVsdD4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTEiIGxvY2F0b3I9Ijk3OjMyLTk3OjQ1IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSIxMCIgbG9jYXRvcj0iOTc6NDEtOTc6NDQiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZGVmPgogICA8L3BhcmFtZXRlcnM+CiAgIDxjb250ZXh0cz4KICAgICAgPGRlZiBsb2NhdG9yPSI5OToxLTk5OjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2F0b3I9Ijk5OjEtOTk6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk5OjEtOTk6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNSIgbG9jYXRvcj0iMTAwOjEtMTAxOjI0IiBuYW1lPSJNZWFzdXJlIFBvcHVsYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O01lYXN1cmUgUG9wdWxhdGlvbiZxdW90OzoKICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5ISUU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtISVYgUFJFUCBBY3RpdmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNCIgbG9jYXRvcj0iMTAxOjQtMTAxOjI0IiBuYW1lPSJISVYgUFJFUCBBY3RpdmUiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE3IiBsb2NhdG9yPSIxMDY6MS0xMDc6NiIgbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICA8YTpzIHI9IjE2Ij4vKgogKiBBcyBkZWZpbmVkIGJ5IE1lbWJlciBTdGF0ZXMKICovCmRlZmluZSAmcXVvdDtJbml0aWFsIFBvcHVsYXRpb24mcXVvdDs6CiAgdHJ1ZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNiIgbG9jYXRvcj0iMTA3OjMtMTA3OjYiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjAiIGxvY2F0b3I9IjExMzoxLTExNDozIiBuYW1lPSJNZWFzdXJlIE9ic2VydmF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKICogTk9URTogTW9kZWxlZCBhcyBhIENvbnRpbnVvdXMgVmFyaWFibGUgbWVhc3VyZSBiZWNhdXNlIHRoaXMgaXMgYW4gZXN0aW1hdGVkIGRlbm9taW5hdG9yIHByb3BvcnRpb24gbWVhc3VyZQogKi8KCmRlZmluZSBmdW5jdGlvbiAmcXVvdDtNZWFzdXJlIE9ic2VydmF0aW9uJnF1b3Q7KFBhdGllbnQgJnF1b3Q7UGF0aWVudCZxdW90Oyk6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5Ij4xPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxOSIgbG9jYXRvcj0iMTE0OjMiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUGF0aWVudCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxOCIgbG9jYXRvcj0iMTEzOjQ3LTExMzo1NSIgbmFtZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjMiIGxvY2F0b3I9IjEyMToxLTEyMjo0MiIgbmFtZT0iQWRtaW5pc3RyYXRpdmUgR2VuZGVyIFN0cmF0aWZpZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKICogRGlzYWdncmVnYXRvcnMKICovCgpkZWZpbmUgJnF1b3Q7QWRtaW5pc3RyYXRpdmUgR2VuZGVyIFN0cmF0aWZpZXImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0J5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjIiIGxvY2F0b3I9IjEyMjoyLTEyMjo0MiIgbmFtZT0iQnkgQWRtaW5pc3RyYXRpdmUgR2VuZGVyIFN0cmF0aWZpZXIiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI2IiBsb2NhdG9yPSIxMjQ6MS0xMjU6MjYiIG5hbWU9IkFnZSBTdHJhdGlmaWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtBZ2UgU3RyYXRpZmllciZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+SElFPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QnkgQWdlIFN0cmF0aWZpZXIgMyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1IiBsb2NhdG9yPSIxMjU6Mi0xMjU6MjYiIG5hbWU9IkJ5IEFnZSBTdHJhdGlmaWVyIDMiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI5IiBsb2NhdG9yPSIxMjc6MS0xMjg6MzgiIG5hbWU9Ikdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0dlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyOCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0J5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyOCIgbG9jYXRvcj0iMTI4OjItMTI4OjM4IiBuYW1lPSJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMiIgbG9jYXRvcj0iMTMwOjEtMTMxOjIwIiBuYW1lPSJwYXRpZW50R3JvdXBzIFN0cmF0aWZpZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O3BhdGllbnRHcm91cHMgU3RyYXRpZmllciZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+SElFPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7cGF0aWVudEdyb3VwcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMxIiBsb2NhdG9yPSIxMzE6Mi0xMzE6MjAiIG5hbWU9InBhdGllbnRHcm91cHMiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM1IiBsb2NhdG9yPSIxMzM6MS0xMzQ6MTUiIG5hbWU9IlNldHRpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1NldHRpbmcmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5ISUU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtzZXR0aW5nJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzQiIGxvY2F0b3I9IjEzNDozLTEzNDoxNSIgbmFtZT0ic2V0dGluZyIgbGlicmFyeU5hbWU9IkhJRSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzgiIGxvY2F0b3I9IjEzNjoxLTEzNzoyMCIgbmFtZT0icHJlcCBwcm9kdWN0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtwcmVwIHByb2R1Y3QmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5ISUU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtwcmVwX3Byb2R1Y3QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNyIgbG9jYXRvcj0iMTM3OjMtMTM3OjIwIiBuYW1lPSJwcmVwX3Byb2R1Y3QiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQxIiBsb2NhdG9yPSIxMzk6MS0xNDA6MjMiIG5hbWU9InByZXBfZXhwZXJpZW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7cHJlcF9leHBlcmllbmNlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+SElFPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7cHJlcF9leHBlcmllbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDAiIGxvY2F0b3I9IjE0MDozLTE0MDoyMyIgbmFtZT0icHJlcF9leHBlcmllbmNlIiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NCIgbG9jYXRvcj0iMTQyOjEtMTQzOjE5IiBuYW1lPSJwcmVwX2Rvc2luZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7cHJlcF9kb3NpbmcmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5ISUU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtwcmVwX2Rvc2luZyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQzIiBsb2NhdG9yPSIxNDM6My0xNDM6MTkiIG5hbWU9InByZXBfZG9zaW5nIiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4MyIgbG9jYXRvcj0iMTQ3OjEtMTU1OjMxIiBuYW1lPSJTdHJhdGlmaWNhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgPGE6cz4vLyBQcm92aWRlciB0eXBlIGNvbmNlcHRzIGFyZSBub3QgZm91bmQgaW4gREQKCmRlZmluZSAmcXVvdDtTdHJhdGlmaWNhdGlvbiZxdW90OzoKIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0J5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAKICArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nOic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SElFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QnkgQWdlIFN0cmF0aWZpZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JzonPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0J5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29tYmluZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBhdGllbnRHcm91cHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPic6JzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29tYmluZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNldHRpbmc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPic6JzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29tYmluZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnByZXBfcHJvZHVjdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JzonPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgorIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db21iaW5lKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SElFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cHJlcF9leHBlcmllbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nOic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CisgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkNvbWJpbmUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ISUU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wcmVwX2Rvc2luZzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JzonPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4MiIgbG9jYXRvcj0iMTQ4OjItMTU1OjMxIiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3NyIgbG9jYXRvcj0iMTQ4OjItMTU0OjM1IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3MiIgbG9jYXRvcj0iMTQ4OjItMTUzOjMyIiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2NyIgbG9jYXRvcj0iMTQ4OjItMTUyOjI3IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MiIgbG9jYXRvcj0iMTQ4OjItMTUxOjMzIiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NyIgbG9jYXRvcj0iMTQ4OjItMTUwOjQ1IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NCIgbG9jYXRvcj0iMTQ4OjItMTUwOjUiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyIiBsb2NhdG9yPSIxNDg6Mi0xNDk6MzMiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ5IiBsb2NhdG9yPSIxNDg6Mi0xNDk6NyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDciIGxvY2F0b3I9IjE0ODoyLTE0ODo0NyIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0NiIgbG9jYXRvcj0iMTQ4OjItMTQ4OjQyIiBuYW1lPSJCeSBBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgU3RyYXRpZmllciIgbGlicmFyeU5hbWU9IkhJRSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0OCIgbG9jYXRvcj0iMTQ5OjUtMTQ5OjciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSI6IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUxIiBsb2NhdG9yPSIxNDk6MTEtMTQ5OjMzIiBuYW1lPSJCeSBBZ2UgU3RyYXRpZmllciIgbGlicmFyeU5hbWU9IkhJRSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MyIgbG9jYXRvcj0iMTUwOjMtMTUwOjUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSI6IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU2IiBsb2NhdG9yPSIxNTA6OS0xNTA6NDUiIG5hbWU9IkJ5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MSIgbG9jYXRvcj0iMTUxOjMtMTUxOjMzIiB4c2k6dHlwZT0iQ29tYmluZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTkiIGxvY2F0b3I9IjE1MToxMS0xNTE6MjciIG5hbWU9InBhdGllbnRHcm91cHMiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgbG9jYWxJZD0iNjAiIGxvY2F0b3I9IjE1MTozMC0xNTE6MzIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSI6IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjYiIGxvY2F0b3I9IjE1MjozLTE1MjoyNyIgeHNpOnR5cGU9IkNvbWJpbmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjY0IiBsb2NhdG9yPSIxNTI6MTEtMTUyOjIxIiBuYW1lPSJzZXR0aW5nIiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2FsSWQ9IjY1IiBsb2NhdG9yPSIxNTI6MjQtMTUyOjI2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iOiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjcxIiBsb2NhdG9yPSIxNTM6My0xNTM6MzIiIHhzaTp0eXBlPSJDb21iaW5lIj4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2OSIgbG9jYXRvcj0iMTUzOjExLTE1MzoyNiIgbmFtZT0icHJlcF9wcm9kdWN0IiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2FsSWQ9IjcwIiBsb2NhdG9yPSIxNTM6MjktMTUzOjMxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iOiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc2IiBsb2NhdG9yPSIxNTQ6My0xNTQ6MzUiIHhzaTp0eXBlPSJDb21iaW5lIj4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3NCIgbG9jYXRvcj0iMTU0OjExLTE1NDoyOSIgbmFtZT0icHJlcF9leHBlcmllbmNlIiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2FsSWQ9Ijc1IiBsb2NhdG9yPSIxNTQ6MzItMTU0OjM0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iOiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjgxIiBsb2NhdG9yPSIxNTU6My0xNTU6MzEiIHhzaTp0eXBlPSJDb21iaW5lIj4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3OSIgbG9jYXRvcj0iMTU1OjExLTE1NToyNSIgbmFtZT0icHJlcF9kb3NpbmciIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgbG9jYWxJZD0iODAiIGxvY2F0b3I9IjE1NToyOC0xNTU6MzAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSI6IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo="/>
</content>
</Library>