SMART DAK Cervical Cancer Screening
0.0.1 - ci-build
SMART DAK Cervical Cancer Screening, published by Dan Heslinga (independent contributor). This guide is not an authorized publication; it is the continuous build for version 0.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/dhes/smart-dak-cxca/ and changes regularly. See the Directory of published versions
| Draft as of 2026-05-14 |
<Library xmlns="http://hl7.org/fhir">
<id value="CXCAD18SRecallSchedulingLogic"/>
<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="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<div>
<table class="grid dict">
<tr>
<th scope="row"><b>Title: </b></th>
<td style="padding-left: 4px;">CXCAD18SRecallSchedulingLogic</td>
</tr>
<tr>
<th scope="row"><b>Id: </b></th>
<td style="padding-left: 4px;">CXCAD18SRecallSchedulingLogic</td>
</tr>
<tr>
<th scope="row"><b>Version: </b></th>
<td style="padding-left: 4px;">0.0.1</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="Library-CXCAD18SRecallSchedulingLogic.html">CXCAD18SRecallSchedulingLogic</a></td>
</tr>
<tr>
<th scope="row"><b>Status: </b></th>
<td style="padding-left: 4px;">draft</td>
</tr>
<tr>
<th scope="row"><b>Type: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<b>system: </b> <span><a href="http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html">http://terminology.hl7.org/CodeSystem/library-type</a></span>
</p>
<p style="margin-bottom: 5px;">
<b>code: </b> <span>logic-library</span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Date: </b></th>
<td style="padding-left: 4px;">2026-05-14 00:50:23+0000</td>
</tr>
<tr>
<th scope="row"><b>Publisher: </b></th>
<td style="padding-left: 4px;">Dan Heslinga (independent contributor)</td>
</tr>
<tr>
<th scope="row"><b>Description: </b></th>
<td style="padding-left: 4px;"><div><p>CQL logic library for the recall and re-call decision (CXCA.D18.S — scheduling). Encodes the seven timeout triggers from A/641 (2020) section 2.3 (HPV sample timeout, positive-result follow-up timeout, biopsy timeout, treatment-after-biopsy timeout, cytology unread timeout, second-reminder, missed scheduled exam). Each trigger maps to a CXCA.D recall-reason code (DE38–DE44). Source CQL is at input/cql/CXCAD18SRecallSchedulingLogic.cql.</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Parameters: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>
<tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>
<tr><th>HPVSampleResultTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>
<tr><th>PositiveResultFollowUpTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>
<tr><th>BiopsyResultTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>
<tr><th>TreatmentAfterPositiveBiopsyTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>
<tr><th>CytologySlideUnreadTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>
<tr><th>FirstReminderUnresolvedAtSecondTimeout</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>
<tr><th>MissedScheduledExamination</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>
<tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Recall — HPV sample result timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Recall — positive result follow-up timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Recall — biopsy result timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Recall — treatment after positive biopsy timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Recall — cytology slide unread timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Recall — second reminder needed</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Recall — missed scheduled examination</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Any recall trigger fired</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr><th><a id="cql-content"><b>Content: </b></a> text/cql</th></tr>
<tr><td><pre><code class="language-cql">/*
* Library: CXCAD18SRecallSchedulingLogic
*
* Decision: Should a recall reminder be issued for this patient?
* L2 Source: A/641 (2020) section 2.3 — recall and re-call system
* Trigger: Periodic batch sweep across the screening registry, OR encounter-time check
*
* THE RECALL TRIGGER MATRIX (per A/641 section 2.3, p. 28):
*
* Trigger | Clock starts at | Threshold
* ──────────────────────────────────────────────────────────────────────────────
* HPV result not in registry | sample dispatched | 3 weeks
* Cytology slide unread | slide received at lab | 2 weeks
* Positive result, no follow-up exam | result entered | 4 weeks
* Biopsy unread | tissue received at lab | 4 weeks
* Positive biopsy, no treatment record | dx entered | 4 weeks
* Second reminder | 1st reminder sent | 4 weeks
* Client missed scheduled exam | scheduled date | (immediate)
*
* Each trigger maps to a CXCA.D recall-reason code (DE38–DE44) which becomes
* the reasonCode on the issued CommunicationRequest.
*
* METHODOLOGY ECHO:
* The 187 LTFU women from the April 2026 Khan-Uul pilot represent the
* empirical motivation for this layer. The DE39 trigger ("positive result,
* no follow-up exam") fires automatically 4 weeks after a positive HPV
* result without follow-up — exactly the moment when each of those 187
* women should have triggered a reminder. The Phase 4 NotDone profile
* captures the *outcome* of LTFU; this layer captures the *process* that
* either prevents LTFU or surfaces it for explicit documentation.
*
* Phase 5 placeholder — real implementation queries time intervals across
* Patient → ServiceRequest → Observation → Procedure chains. The shared
* CXCAElements layer (chunk 8) will provide the timeAgo helpers.
*/
library CXCAD18SRecallSchedulingLogic version '0.0.1'
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'
parameter Today Date default Today()
// Placeholders — to be replaced with FHIR queries via the shared CXCAElements
// layer. Each parameter represents a per-patient timeout state.
parameter "HPVSampleResultTimedOut" Boolean default false
parameter "PositiveResultFollowUpTimedOut" Boolean default false
parameter "BiopsyResultTimedOut" Boolean default false
parameter "TreatmentAfterPositiveBiopsyTimedOut" Boolean default false
parameter "CytologySlideUnreadTimedOut" Boolean default false
parameter "FirstReminderUnresolvedAtSecondTimeout" Boolean default false
parameter "MissedScheduledExamination" Boolean default false
context Patient
// =============================================================================
// Recall trigger rules — one per A/641 section 2.3 timeout
// =============================================================================
/*
* @output: CXCA.D#DE38 "Recall: HPV sample result timeout (3 weeks)"
*/
define "Recall — HPV sample result timeout":
"HPVSampleResultTimedOut"
/*
* @output: CXCA.D#DE39 "Recall: positive result follow-up timeout (4 weeks)"
* The single most important trigger — fires for the LTFU population from
* the April 2026 Khan-Uul pilot.
*/
define "Recall — positive result follow-up timeout":
"PositiveResultFollowUpTimedOut"
/*
* @output: CXCA.D#DE40 "Recall: biopsy result timeout (4 weeks)"
*/
define "Recall — biopsy result timeout":
"BiopsyResultTimedOut"
/*
* @output: CXCA.D#DE41 "Recall: treatment timeout after positive biopsy (4 weeks)"
*/
define "Recall — treatment after positive biopsy timeout":
"TreatmentAfterPositiveBiopsyTimedOut"
/*
* @output: CXCA.D#DE42 "Recall: cytology slide unread timeout (2 weeks)"
*/
define "Recall — cytology slide unread timeout":
"CytologySlideUnreadTimedOut"
/*
* @output: CXCA.D#DE43 "Recall: second reminder (4 weeks after first)"
*/
define "Recall — second reminder needed":
"FirstReminderUnresolvedAtSecondTimeout"
/*
* @output: CXCA.D#DE44 "Recall: missed scheduled examination"
* No timeout — fires immediately once a missed appointment is detected.
*/
define "Recall — missed scheduled examination":
"MissedScheduledExamination"
/*
* @internal: any recall trigger fired
*/
define "Any recall trigger fired":
"Recall — HPV sample result timeout"
or "Recall — positive result follow-up timeout"
or "Recall — biopsy result timeout"
or "Recall — treatment after positive biopsy timeout"
or "Recall — cytology slide unread timeout"
or "Recall — second reminder needed"
or "Recall — missed scheduled examination"
</code></pre></td></tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr><th><b>Content: </b> application/elm+xml</th></tr>
<tr><td><pre><code>Encoded data (27068 characters)</code></pre></td></tr>
</table>
</td>
</tr>
</table>
</div>
</div>
</text>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability">
<valueCode value="computable"/>
</extension>
<url
value="http://smart.who.int/cxca/Library/CXCAD18SRecallSchedulingLogic"/>
<version value="0.0.1"/>
<name value="CXCAD18SRecallSchedulingLogic"/>
<title value="CXCAD18SRecallSchedulingLogic"/>
<status value="draft"/>
<experimental value="false"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="logic-library"/>
</coding>
</type>
<date value="2026-05-14T00:50:23+00:00"/>
<publisher value="Dan Heslinga (independent contributor)"/>
<contact>
<name value="Dan Heslinga (independent contributor)"/>
<telecom>
<system value="url"/>
<value value="https://github.com/dhes"/>
</telecom>
</contact>
<description
value="CQL logic library for the recall and re-call decision (CXCA.D18.S — scheduling). Encodes the seven timeout triggers from A/641 (2020) section 2.3 (HPV sample timeout, positive-result follow-up timeout, biopsy timeout, treatment-after-biopsy timeout, cytology unread timeout, second-reminder, missed scheduled exam). Each trigger maps to a CXCA.D recall-reason code (DE38–DE44). Source CQL is at input/cql/CXCAD18SRecallSchedulingLogic.cql."/>
<parameter>
<name value="Today"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="date"/>
</parameter>
<parameter>
<name value="HPVSampleResultTimedOut"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="PositiveResultFollowUpTimedOut"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="BiopsyResultTimedOut"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="TreatmentAfterPositiveBiopsyTimedOut"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="CytologySlideUnreadTimedOut"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="FirstReminderUnresolvedAtSecondTimeout"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="MissedScheduledExamination"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Patient"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Patient"/>
</parameter>
<parameter>
<name value="Recall — HPV sample result timeout"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Recall — positive result follow-up timeout"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Recall — biopsy result timeout"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Recall — treatment after positive biopsy timeout"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Recall — cytology slide unread timeout"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Recall — second reminder needed"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Recall — missed scheduled examination"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Any recall trigger fired"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<content>
<contentType value="text/cql"/>
<data
value="LyoKICogTGlicmFyeTogQ1hDQUQxOFNSZWNhbGxTY2hlZHVsaW5nTG9naWMKICoKICogRGVjaXNpb246IFNob3VsZCBhIHJlY2FsbCByZW1pbmRlciBiZSBpc3N1ZWQgZm9yIHRoaXMgcGF0aWVudD8KICogTDIgU291cmNlOiBBLzY0MSAoMjAyMCkgc2VjdGlvbiAyLjMg4oCUIHJlY2FsbCBhbmQgcmUtY2FsbCBzeXN0ZW0KICogVHJpZ2dlcjogUGVyaW9kaWMgYmF0Y2ggc3dlZXAgYWNyb3NzIHRoZSBzY3JlZW5pbmcgcmVnaXN0cnksIE9SIGVuY291bnRlci10aW1lIGNoZWNrCiAqCiAqIFRIRSBSRUNBTEwgVFJJR0dFUiBNQVRSSVggKHBlciBBLzY0MSBzZWN0aW9uIDIuMywgcC4gMjgpOgogKgogKiAgIFRyaWdnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ2xvY2sgc3RhcnRzIGF0ICAgICAgICB8IFRocmVzaG9sZAogKiAgIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgAogKiAgIEhQViByZXN1bHQgbm90IGluIHJlZ2lzdHJ5ICAgICAgICAgICAgICAgIHwgc2FtcGxlIGRpc3BhdGNoZWQgICAgICB8IDMgd2Vla3MKICogICBDeXRvbG9neSBzbGlkZSB1bnJlYWQgICAgICAgICAgICAgICAgICAgICB8IHNsaWRlIHJlY2VpdmVkIGF0IGxhYiAgfCAyIHdlZWtzCiAqICAgUG9zaXRpdmUgcmVzdWx0LCBubyBmb2xsb3ctdXAgZXhhbSAgICAgICAgfCByZXN1bHQgZW50ZXJlZCAgICAgICAgIHwgNCB3ZWVrcwogKiAgIEJpb3BzeSB1bnJlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGlzc3VlIHJlY2VpdmVkIGF0IGxhYiB8IDQgd2Vla3MKICogICBQb3NpdGl2ZSBiaW9wc3ksIG5vIHRyZWF0bWVudCByZWNvcmQgICAgICB8IGR4IGVudGVyZWQgICAgICAgICAgICAgfCA0IHdlZWtzCiAqICAgU2Vjb25kIHJlbWluZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxc3QgcmVtaW5kZXIgc2VudCAgICAgIHwgNCB3ZWVrcwogKiAgIENsaWVudCBtaXNzZWQgc2NoZWR1bGVkIGV4YW0gICAgICAgICAgICAgIHwgc2NoZWR1bGVkIGRhdGUgICAgICAgICB8IChpbW1lZGlhdGUpCiAqCiAqIEVhY2ggdHJpZ2dlciBtYXBzIHRvIGEgQ1hDQS5EIHJlY2FsbC1yZWFzb24gY29kZSAoREUzOOKAk0RFNDQpIHdoaWNoIGJlY29tZXMKICogdGhlIHJlYXNvbkNvZGUgb24gdGhlIGlzc3VlZCBDb21tdW5pY2F0aW9uUmVxdWVzdC4KICoKICogTUVUSE9ET0xPR1kgRUNITzoKICogVGhlIDE4NyBMVEZVIHdvbWVuIGZyb20gdGhlIEFwcmlsIDIwMjYgS2hhbi1VdWwgcGlsb3QgcmVwcmVzZW50IHRoZQogKiBlbXBpcmljYWwgbW90aXZhdGlvbiBmb3IgdGhpcyBsYXllci4gVGhlIERFMzkgdHJpZ2dlciAoInBvc2l0aXZlIHJlc3VsdCwKICogbm8gZm9sbG93LXVwIGV4YW0iKSBmaXJlcyBhdXRvbWF0aWNhbGx5IDQgd2Vla3MgYWZ0ZXIgYSBwb3NpdGl2ZSBIUFYKICogcmVzdWx0IHdpdGhvdXQgZm9sbG93LXVwIOKAlCBleGFjdGx5IHRoZSBtb21lbnQgd2hlbiBlYWNoIG9mIHRob3NlIDE4NwogKiB3b21lbiBzaG91bGQgaGF2ZSB0cmlnZ2VyZWQgYSByZW1pbmRlci4gVGhlIFBoYXNlIDQgTm90RG9uZSBwcm9maWxlCiAqIGNhcHR1cmVzIHRoZSAqb3V0Y29tZSogb2YgTFRGVTsgdGhpcyBsYXllciBjYXB0dXJlcyB0aGUgKnByb2Nlc3MqIHRoYXQKICogZWl0aGVyIHByZXZlbnRzIExURlUgb3Igc3VyZmFjZXMgaXQgZm9yIGV4cGxpY2l0IGRvY3VtZW50YXRpb24uCiAqCiAqIFBoYXNlIDUgcGxhY2Vob2xkZXIg4oCUIHJlYWwgaW1wbGVtZW50YXRpb24gcXVlcmllcyB0aW1lIGludGVydmFscyBhY3Jvc3MKICogUGF0aWVudCDihpIgU2VydmljZVJlcXVlc3Qg4oaSIE9ic2VydmF0aW9uIOKGkiBQcm9jZWR1cmUgY2hhaW5zLiBUaGUgc2hhcmVkCiAqIENYQ0FFbGVtZW50cyBsYXllciAoY2h1bmsgOCkgd2lsbCBwcm92aWRlIHRoZSB0aW1lQWdvIGhlbHBlcnMuCiAqLwoKbGlicmFyeSBDWENBRDE4U1JlY2FsbFNjaGVkdWxpbmdMb2dpYyB2ZXJzaW9uICcwLjAuMScKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKcGFyYW1ldGVyIFRvZGF5IERhdGUgZGVmYXVsdCBUb2RheSgpCgovLyBQbGFjZWhvbGRlcnMg4oCUIHRvIGJlIHJlcGxhY2VkIHdpdGggRkhJUiBxdWVyaWVzIHZpYSB0aGUgc2hhcmVkIENYQ0FFbGVtZW50cwovLyBsYXllci4gRWFjaCBwYXJhbWV0ZXIgcmVwcmVzZW50cyBhIHBlci1wYXRpZW50IHRpbWVvdXQgc3RhdGUuCnBhcmFtZXRlciAiSFBWU2FtcGxlUmVzdWx0VGltZWRPdXQiIEJvb2xlYW4gZGVmYXVsdCBmYWxzZQpwYXJhbWV0ZXIgIlBvc2l0aXZlUmVzdWx0Rm9sbG93VXBUaW1lZE91dCIgQm9vbGVhbiBkZWZhdWx0IGZhbHNlCnBhcmFtZXRlciAiQmlvcHN5UmVzdWx0VGltZWRPdXQiIEJvb2xlYW4gZGVmYXVsdCBmYWxzZQpwYXJhbWV0ZXIgIlRyZWF0bWVudEFmdGVyUG9zaXRpdmVCaW9wc3lUaW1lZE91dCIgQm9vbGVhbiBkZWZhdWx0IGZhbHNlCnBhcmFtZXRlciAiQ3l0b2xvZ3lTbGlkZVVucmVhZFRpbWVkT3V0IiBCb29sZWFuIGRlZmF1bHQgZmFsc2UKcGFyYW1ldGVyICJGaXJzdFJlbWluZGVyVW5yZXNvbHZlZEF0U2Vjb25kVGltZW91dCIgQm9vbGVhbiBkZWZhdWx0IGZhbHNlCnBhcmFtZXRlciAiTWlzc2VkU2NoZWR1bGVkRXhhbWluYXRpb24iIEJvb2xlYW4gZGVmYXVsdCBmYWxzZQoKY29udGV4dCBQYXRpZW50CgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBSZWNhbGwgdHJpZ2dlciBydWxlcyDigJQgb25lIHBlciBBLzY0MSBzZWN0aW9uIDIuMyB0aW1lb3V0Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgovKgogKiBAb3V0cHV0OiBDWENBLkQjREUzOCAiUmVjYWxsOiBIUFYgc2FtcGxlIHJlc3VsdCB0aW1lb3V0ICgzIHdlZWtzKSIKICovCmRlZmluZSAiUmVjYWxsIOKAlCBIUFYgc2FtcGxlIHJlc3VsdCB0aW1lb3V0IjoKICAiSFBWU2FtcGxlUmVzdWx0VGltZWRPdXQiCgovKgogKiBAb3V0cHV0OiBDWENBLkQjREUzOSAiUmVjYWxsOiBwb3NpdGl2ZSByZXN1bHQgZm9sbG93LXVwIHRpbWVvdXQgKDQgd2Vla3MpIgogKiBUaGUgc2luZ2xlIG1vc3QgaW1wb3J0YW50IHRyaWdnZXIg4oCUIGZpcmVzIGZvciB0aGUgTFRGVSBwb3B1bGF0aW9uIGZyb20KICogdGhlIEFwcmlsIDIwMjYgS2hhbi1VdWwgcGlsb3QuCiAqLwpkZWZpbmUgIlJlY2FsbCDigJQgcG9zaXRpdmUgcmVzdWx0IGZvbGxvdy11cCB0aW1lb3V0IjoKICAiUG9zaXRpdmVSZXN1bHRGb2xsb3dVcFRpbWVkT3V0IgoKLyoKICogQG91dHB1dDogQ1hDQS5EI0RFNDAgIlJlY2FsbDogYmlvcHN5IHJlc3VsdCB0aW1lb3V0ICg0IHdlZWtzKSIKICovCmRlZmluZSAiUmVjYWxsIOKAlCBiaW9wc3kgcmVzdWx0IHRpbWVvdXQiOgogICJCaW9wc3lSZXN1bHRUaW1lZE91dCIKCi8qCiAqIEBvdXRwdXQ6IENYQ0EuRCNERTQxICJSZWNhbGw6IHRyZWF0bWVudCB0aW1lb3V0IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSAoNCB3ZWVrcykiCiAqLwpkZWZpbmUgIlJlY2FsbCDigJQgdHJlYXRtZW50IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSB0aW1lb3V0IjoKICAiVHJlYXRtZW50QWZ0ZXJQb3NpdGl2ZUJpb3BzeVRpbWVkT3V0IgoKLyoKICogQG91dHB1dDogQ1hDQS5EI0RFNDIgIlJlY2FsbDogY3l0b2xvZ3kgc2xpZGUgdW5yZWFkIHRpbWVvdXQgKDIgd2Vla3MpIgogKi8KZGVmaW5lICJSZWNhbGwg4oCUIGN5dG9sb2d5IHNsaWRlIHVucmVhZCB0aW1lb3V0IjoKICAiQ3l0b2xvZ3lTbGlkZVVucmVhZFRpbWVkT3V0IgoKLyoKICogQG91dHB1dDogQ1hDQS5EI0RFNDMgIlJlY2FsbDogc2Vjb25kIHJlbWluZGVyICg0IHdlZWtzIGFmdGVyIGZpcnN0KSIKICovCmRlZmluZSAiUmVjYWxsIOKAlCBzZWNvbmQgcmVtaW5kZXIgbmVlZGVkIjoKICAiRmlyc3RSZW1pbmRlclVucmVzb2x2ZWRBdFNlY29uZFRpbWVvdXQiCgovKgogKiBAb3V0cHV0OiBDWENBLkQjREU0NCAiUmVjYWxsOiBtaXNzZWQgc2NoZWR1bGVkIGV4YW1pbmF0aW9uIgogKiBObyB0aW1lb3V0IOKAlCBmaXJlcyBpbW1lZGlhdGVseSBvbmNlIGEgbWlzc2VkIGFwcG9pbnRtZW50IGlzIGRldGVjdGVkLgogKi8KZGVmaW5lICJSZWNhbGwg4oCUIG1pc3NlZCBzY2hlZHVsZWQgZXhhbWluYXRpb24iOgogICJNaXNzZWRTY2hlZHVsZWRFeGFtaW5hdGlvbiIKCi8qCiAqIEBpbnRlcm5hbDogYW55IHJlY2FsbCB0cmlnZ2VyIGZpcmVkCiAqLwpkZWZpbmUgIkFueSByZWNhbGwgdHJpZ2dlciBmaXJlZCI6CiAgIlJlY2FsbCDigJQgSFBWIHNhbXBsZSByZXN1bHQgdGltZW91dCIKICAgIG9yICJSZWNhbGwg4oCUIHBvc2l0aXZlIHJlc3VsdCBmb2xsb3ctdXAgdGltZW91dCIKICAgIG9yICJSZWNhbGwg4oCUIGJpb3BzeSByZXN1bHQgdGltZW91dCIKICAgIG9yICJSZWNhbGwg4oCUIHRyZWF0bWVudCBhZnRlciBwb3NpdGl2ZSBiaW9wc3kgdGltZW91dCIKICAgIG9yICJSZWNhbGwg4oCUIGN5dG9sb2d5IHNsaWRlIHVucmVhZCB0aW1lb3V0IgogICAgb3IgIlJlY2FsbCDigJQgc2Vjb25kIHJlbWluZGVyIG5lZWRlZCIKICAgIG9yICJSZWNhbGwg4oCUIG1pc3NlZCBzY2hlZHVsZWQgZXhhbWluYXRpb24iCg=="/>
</content>
<content>
<contentType value="application/elm+xml"/>
<data
value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMjc4Ij4KICAgICAgICAgPGE6cz4vKgogKiBMaWJyYXJ5OiBDWENBRDE4U1JlY2FsbFNjaGVkdWxpbmdMb2dpYwogKgogKiBEZWNpc2lvbjogU2hvdWxkIGEgcmVjYWxsIHJlbWluZGVyIGJlIGlzc3VlZCBmb3IgdGhpcyBwYXRpZW50PwogKiBMMiBTb3VyY2U6IEEvNjQxICgyMDIwKSBzZWN0aW9uIDIuMyDigJQgcmVjYWxsIGFuZCByZS1jYWxsIHN5c3RlbQogKiBUcmlnZ2VyOiBQZXJpb2RpYyBiYXRjaCBzd2VlcCBhY3Jvc3MgdGhlIHNjcmVlbmluZyByZWdpc3RyeSwgT1IgZW5jb3VudGVyLXRpbWUgY2hlY2sKICoKICogVEhFIFJFQ0FMTCBUUklHR0VSIE1BVFJJWCAocGVyIEEvNjQxIHNlY3Rpb24gMi4zLCBwLiAyOCk6CiAqCiAqICAgVHJpZ2dlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDbG9jayBzdGFydHMgYXQgICAgICAgIHwgVGhyZXNob2xkCiAqICAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSACiAqICAgSFBWIHJlc3VsdCBub3QgaW4gcmVnaXN0cnkgICAgICAgICAgICAgICAgfCBzYW1wbGUgZGlzcGF0Y2hlZCAgICAgIHwgMyB3ZWVrcwogKiAgIEN5dG9sb2d5IHNsaWRlIHVucmVhZCAgICAgICAgICAgICAgICAgICAgIHwgc2xpZGUgcmVjZWl2ZWQgYXQgbGFiICB8IDIgd2Vla3MKICogICBQb3NpdGl2ZSByZXN1bHQsIG5vIGZvbGxvdy11cCBleGFtICAgICAgICB8IHJlc3VsdCBlbnRlcmVkICAgICAgICAgfCA0IHdlZWtzCiAqICAgQmlvcHN5IHVucmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aXNzdWUgcmVjZWl2ZWQgYXQgbGFiIHwgNCB3ZWVrcwogKiAgIFBvc2l0aXZlIGJpb3BzeSwgbm8gdHJlYXRtZW50IHJlY29yZCAgICAgIHwgZHggZW50ZXJlZCAgICAgICAgICAgICB8IDQgd2Vla3MKICogICBTZWNvbmQgcmVtaW5kZXIgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDFzdCByZW1pbmRlciBzZW50ICAgICAgfCA0IHdlZWtzCiAqICAgQ2xpZW50IG1pc3NlZCBzY2hlZHVsZWQgZXhhbSAgICAgICAgICAgICAgfCBzY2hlZHVsZWQgZGF0ZSAgICAgICAgIHwgKGltbWVkaWF0ZSkKICoKICogRWFjaCB0cmlnZ2VyIG1hcHMgdG8gYSBDWENBLkQgcmVjYWxsLXJlYXNvbiBjb2RlIChERTM44oCTREU0NCkgd2hpY2ggYmVjb21lcwogKiB0aGUgcmVhc29uQ29kZSBvbiB0aGUgaXNzdWVkIENvbW11bmljYXRpb25SZXF1ZXN0LgogKgogKiBNRVRIT0RPTE9HWSBFQ0hPOgogKiBUaGUgMTg3IExURlUgd29tZW4gZnJvbSB0aGUgQXByaWwgMjAyNiBLaGFuLVV1bCBwaWxvdCByZXByZXNlbnQgdGhlCiAqIGVtcGlyaWNhbCBtb3RpdmF0aW9uIGZvciB0aGlzIGxheWVyLiBUaGUgREUzOSB0cmlnZ2VyICgmcXVvdDtwb3NpdGl2ZSByZXN1bHQsCiAqIG5vIGZvbGxvdy11cCBleGFtJnF1b3Q7KSBmaXJlcyBhdXRvbWF0aWNhbGx5IDQgd2Vla3MgYWZ0ZXIgYSBwb3NpdGl2ZSBIUFYKICogcmVzdWx0IHdpdGhvdXQgZm9sbG93LXVwIOKAlCBleGFjdGx5IHRoZSBtb21lbnQgd2hlbiBlYWNoIG9mIHRob3NlIDE4NwogKiB3b21lbiBzaG91bGQgaGF2ZSB0cmlnZ2VyZWQgYSByZW1pbmRlci4gVGhlIFBoYXNlIDQgTm90RG9uZSBwcm9maWxlCiAqIGNhcHR1cmVzIHRoZSAqb3V0Y29tZSogb2YgTFRGVTsgdGhpcyBsYXllciBjYXB0dXJlcyB0aGUgKnByb2Nlc3MqIHRoYXQKICogZWl0aGVyIHByZXZlbnRzIExURlUgb3Igc3VyZmFjZXMgaXQgZm9yIGV4cGxpY2l0IGRvY3VtZW50YXRpb24uCiAqCiAqIFBoYXNlIDUgcGxhY2Vob2xkZXIg4oCUIHJlYWwgaW1wbGVtZW50YXRpb24gcXVlcmllcyB0aW1lIGludGVydmFscyBhY3Jvc3MKICogUGF0aWVudCDihpIgU2VydmljZVJlcXVlc3Qg4oaSIE9ic2VydmF0aW9uIOKGkiBQcm9jZWR1cmUgY2hhaW5zLiBUaGUgc2hhcmVkCiAqIENYQ0FFbGVtZW50cyBsYXllciAoY2h1bmsgOCkgd2lsbCBwcm92aWRlIHRoZSB0aW1lQWdvIGhlbHBlcnMuCiAqLwoKbGlicmFyeSBDWENBRDE4U1JlY2FsbFNjaGVkdWxpbmdMb2dpYyB2ZXJzaW9uICcwLjAuMSc8L2E6cz4KICAgICAgPC9hOnM+CiAgIDwvYW5ub3RhdGlvbj4KICAgPGlkZW50aWZpZXIgaWQ9IkNYQ0FEMThTUmVjYWxsU2NoZWR1bGluZ0xvZ2ljIiBzeXN0ZW09Imh0dHA6Ly9zbWFydC53aG8uaW50L2N4Y2EiIHZlcnNpb249IjAuMC4xIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB2ZXJzaW9uPSIxLjAuMCIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwNiIgbG9jYXRvcj0iMzk6MS0zOToyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgPGE6cz51c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSI0MToxLTQxOjM1IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vaGw3Lm9yZy9maGlyL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwOCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjQzOjEtNDM6MzYiIG5hbWU9IlRvZGF5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgVG9kYXkgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkZWZhdWx0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXkoKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjEzIiBsb2NhdG9yPSI0MzozMC00MzozNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIxNCIgbG9jYXRvcj0iNDM6MTctNDM6MjAiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTYiIGxvY2F0b3I9IjQ3OjEtNDc6NTciIG5hbWU9IkhQVlNhbXBsZVJlc3VsdFRpbWVkT3V0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgPGE6cz4vLyBQbGFjZWhvbGRlcnMg4oCUIHRvIGJlIHJlcGxhY2VkIHdpdGggRkhJUiBxdWVyaWVzIHZpYSB0aGUgc2hhcmVkIENYQ0FFbGVtZW50cwovLyBsYXllci4gRWFjaCBwYXJhbWV0ZXIgcmVwcmVzZW50cyBhIHBlci1wYXRpZW50IHRpbWVvdXQgc3RhdGUuCnBhcmFtZXRlciAmcXVvdDtIUFZTYW1wbGVSZXN1bHRUaW1lZE91dCZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMTgiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjE3Ij4gZGVmYXVsdCBmYWxzZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSIyMTciIGxvY2F0b3I9IjQ3OjUzLTQ3OjU3IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9ImZhbHNlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjQ3OjM3LTQ3OjQzIiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjIwIiBsb2NhdG9yPSI0ODoxLTQ4OjY0IiBuYW1lPSJQb3NpdGl2ZVJlc3VsdEZvbGxvd1VwVGltZWRPdXQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtQb3NpdGl2ZVJlc3VsdEZvbGxvd1VwVGltZWRPdXQmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyMSI+IGRlZmF1bHQgZmFsc2U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSI0ODo2MC00ODo2NCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjIyIiBsb2NhdG9yPSI0ODo0NC00ODo1MCIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyNCIgbG9jYXRvcj0iNDk6MS00OTo1NCIgbmFtZT0iQmlvcHN5UmVzdWx0VGltZWRPdXQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjQiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtCaW9wc3lSZXN1bHRUaW1lZE91dCZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMjYiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4gZGVmYXVsdCBmYWxzZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSIyMjUiIGxvY2F0b3I9IjQ5OjUwLTQ5OjU0IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9ImZhbHNlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMjYiIGxvY2F0b3I9IjQ5OjM0LTQ5OjQwIiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjI4IiBsb2NhdG9yPSI1MDoxLTUwOjcwIiBuYW1lPSJUcmVhdG1lbnRBZnRlclBvc2l0aXZlQmlvcHN5VGltZWRPdXQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtUcmVhdG1lbnRBZnRlclBvc2l0aXZlQmlvcHN5VGltZWRPdXQmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+IGRlZmF1bHQgZmFsc2U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjI5IiBsb2NhdG9yPSI1MDo2Ni01MDo3MCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjMwIiBsb2NhdG9yPSI1MDo1MC01MDo1NiIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iNTE6MS01MTo2MSIgbmFtZT0iQ3l0b2xvZ3lTbGlkZVVucmVhZFRpbWVkT3V0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjMyIj4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgJnF1b3Q7Q3l0b2xvZ3lTbGlkZVVucmVhZFRpbWVkT3V0JnF1b3Q7IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Qm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMzMiPiBkZWZhdWx0IGZhbHNlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxkZWZhdWx0IGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iNTE6NTctNTE6NjEiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0iZmFsc2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzNCIgbG9jYXRvcj0iNTE6NDEtNTE6NDciIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMzYiIGxvY2F0b3I9IjUyOjEtNTI6NzIiIG5hbWU9IkZpcnN0UmVtaW5kZXJVbnJlc29sdmVkQXRTZWNvbmRUaW1lb3V0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgJnF1b3Q7Rmlyc3RSZW1pbmRlclVucmVzb2x2ZWRBdFNlY29uZFRpbWVvdXQmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjM4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+IGRlZmF1bHQgZmFsc2U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjM3IiBsb2NhdG9yPSI1Mjo2OC01Mjo3MiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjM4IiBsb2NhdG9yPSI1Mjo1Mi01Mjo1OCIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0MCIgbG9jYXRvcj0iNTM6MS01Mzo2MCIgbmFtZT0iTWlzc2VkU2NoZWR1bGVkRXhhbWluYXRpb24iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtNaXNzZWRTY2hlZHVsZWRFeGFtaW5hdGlvbiZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDIiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4gZGVmYXVsdCBmYWxzZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSIyNDEiIGxvY2F0b3I9IjUzOjU2LTUzOjYwIiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9ImZhbHNlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNDIiIGxvY2F0b3I9IjUzOjQwLTUzOjQ2IiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iNTU6MS01NToxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhbElkPSIyNDUiIGxvY2F0b3I9IjU1OjEtNTU6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDYiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ0IiBsb2NhdG9yPSI1NToxLTU1OjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUwIiBsb2NhdG9yPSI2NDoxLTY1OjI3IiBuYW1lPSJSZWNhbGwg4oCUIEhQViBzYW1wbGUgcmVzdWx0IHRpbWVvdXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSImcXVvdDtSZWNhbGw6IEhQViBzYW1wbGUgcmVzdWx0IHRpbWVvdXQgKDMgd2Vla3MpJnF1b3Q7Ii8+CiAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4KICAgICAgICAgICAgICAgPGE6cz4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBSZWNhbGwgdHJpZ2dlciBydWxlcyDigJQgb25lIHBlciBBLzY0MSBzZWN0aW9uIDIuMyB0aW1lb3V0Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgovKgogKiBAb3V0cHV0OiBDWENBLkQjREUzOCAmcXVvdDtSZWNhbGw6IEhQViBzYW1wbGUgcmVzdWx0IHRpbWVvdXQgKDMgd2Vla3MpJnF1b3Q7CiAqLwpkZWZpbmUgJnF1b3Q7UmVjYWxsIOKAlCBIUFYgc2FtcGxlIHJlc3VsdCB0aW1lb3V0JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SFBWU2FtcGxlUmVzdWx0VGltZWRPdXQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1MSIgbG9jYXRvcj0iNjU6My02NToyNyIgbmFtZT0iSFBWU2FtcGxlUmVzdWx0VGltZWRPdXQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSI3MjoxLTczOjM0IiBuYW1lPSJSZWNhbGwg4oCUIHBvc2l0aXZlIHJlc3VsdCBmb2xsb3ctdXAgdGltZW91dCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9IiZxdW90O1JlY2FsbDogcG9zaXRpdmUgcmVzdWx0IGZvbGxvdy11cCB0aW1lb3V0ICg0IHdlZWtzKSZxdW90OyIvPgogICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKICogQG91dHB1dDogQ1hDQS5EI0RFMzkgJnF1b3Q7UmVjYWxsOiBwb3NpdGl2ZSByZXN1bHQgZm9sbG93LXVwIHRpbWVvdXQgKDQgd2Vla3MpJnF1b3Q7CiAqIFRoZSBzaW5nbGUgbW9zdCBpbXBvcnRhbnQgdHJpZ2dlciDigJQgZmlyZXMgZm9yIHRoZSBMVEZVIHBvcHVsYXRpb24gZnJvbQogKiB0aGUgQXByaWwgMjAyNiBLaGFuLVV1bCBwaWxvdC4KICovCmRlZmluZSAmcXVvdDtSZWNhbGwg4oCUIHBvc2l0aXZlIHJlc3VsdCBmb2xsb3ctdXAgdGltZW91dCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTUiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1Bvc2l0aXZlUmVzdWx0Rm9sbG93VXBUaW1lZE91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjU1IiBsb2NhdG9yPSI3MzozLTczOjM0IiBuYW1lPSJQb3NpdGl2ZVJlc3VsdEZvbGxvd1VwVGltZWRPdXQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSI3ODoxLTc5OjI0IiBuYW1lPSJSZWNhbGwg4oCUIGJpb3BzeSByZXN1bHQgdGltZW91dCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9IiZxdW90O1JlY2FsbDogYmlvcHN5IHJlc3VsdCB0aW1lb3V0ICg0IHdlZWtzKSZxdW90OyIvPgogICAgICAgICAgICA8YTpzIHI9IjI1OCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKICogQG91dHB1dDogQ1hDQS5EI0RFNDAgJnF1b3Q7UmVjYWxsOiBiaW9wc3kgcmVzdWx0IHRpbWVvdXQgKDQgd2Vla3MpJnF1b3Q7CiAqLwpkZWZpbmUgJnF1b3Q7UmVjYWxsIOKAlCBiaW9wc3kgcmVzdWx0IHRpbWVvdXQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjU5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtCaW9wc3lSZXN1bHRUaW1lZE91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjU5IiBsb2NhdG9yPSI3OTozLTc5OjI0IiBuYW1lPSJCaW9wc3lSZXN1bHRUaW1lZE91dCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNjIiIGxvY2F0b3I9Ijg0OjEtODU6NDAiIG5hbWU9IlJlY2FsbCDigJQgdHJlYXRtZW50IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSB0aW1lb3V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iJnF1b3Q7UmVjYWxsOiB0cmVhdG1lbnQgdGltZW91dCBhZnRlciBwb3NpdGl2ZSBiaW9wc3kgKDQgd2Vla3MpJnF1b3Q7Ii8+CiAgICAgICAgICAgIDxhOnMgcj0iMjYyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgogKiBAb3V0cHV0OiBDWENBLkQjREU0MSAmcXVvdDtSZWNhbGw6IHRyZWF0bWVudCB0aW1lb3V0IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSAoNCB3ZWVrcykmcXVvdDsKICovCmRlZmluZSAmcXVvdDtSZWNhbGwg4oCUIHRyZWF0bWVudCBhZnRlciBwb3NpdGl2ZSBiaW9wc3kgdGltZW91dCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjMiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RyZWF0bWVudEFmdGVyUG9zaXRpdmVCaW9wc3lUaW1lZE91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjYzIiBsb2NhdG9yPSI4NTozLTg1OjQwIiBuYW1lPSJUcmVhdG1lbnRBZnRlclBvc2l0aXZlQmlvcHN5VGltZWRPdXQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSI5MDoxLTkxOjMxIiBuYW1lPSJSZWNhbGwg4oCUIGN5dG9sb2d5IHNsaWRlIHVucmVhZCB0aW1lb3V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iJnF1b3Q7UmVjYWxsOiBjeXRvbG9neSBzbGlkZSB1bnJlYWQgdGltZW91dCAoMiB3ZWVrcykmcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyNjYiPgogICAgICAgICAgICAgICA8YTpzPi8qCiAqIEBvdXRwdXQ6IENYQ0EuRCNERTQyICZxdW90O1JlY2FsbDogY3l0b2xvZ3kgc2xpZGUgdW5yZWFkIHRpbWVvdXQgKDIgd2Vla3MpJnF1b3Q7CiAqLwpkZWZpbmUgJnF1b3Q7UmVjYWxsIOKAlCBjeXRvbG9neSBzbGlkZSB1bnJlYWQgdGltZW91dCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjciPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N5dG9sb2d5U2xpZGVVbnJlYWRUaW1lZE91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjY3IiBsb2NhdG9yPSI5MTozLTkxOjMxIiBuYW1lPSJDeXRvbG9neVNsaWRlVW5yZWFkVGltZWRPdXQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjcwIiBsb2NhdG9yPSI5NjoxLTk3OjQyIiBuYW1lPSJSZWNhbGwg4oCUIHNlY29uZCByZW1pbmRlciBuZWVkZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSImcXVvdDtSZWNhbGw6IHNlY29uZCByZW1pbmRlciAoNCB3ZWVrcyBhZnRlciBmaXJzdCkmcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyNzAiPgogICAgICAgICAgICAgICA8YTpzPi8qCiAqIEBvdXRwdXQ6IENYQ0EuRCNERTQzICZxdW90O1JlY2FsbDogc2Vjb25kIHJlbWluZGVyICg0IHdlZWtzIGFmdGVyIGZpcnN0KSZxdW90OwogKi8KZGVmaW5lICZxdW90O1JlY2FsbCDigJQgc2Vjb25kIHJlbWluZGVyIG5lZWRlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzEiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0ZpcnN0UmVtaW5kZXJVbnJlc29sdmVkQXRTZWNvbmRUaW1lb3V0JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNzEiIGxvY2F0b3I9Ijk3OjMtOTc6NDIiIG5hbWU9IkZpcnN0UmVtaW5kZXJVbnJlc29sdmVkQXRTZWNvbmRUaW1lb3V0IiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3NCIgbG9jYXRvcj0iMTAzOjEtMTA0OjMwIiBuYW1lPSJSZWNhbGwg4oCUIG1pc3NlZCBzY2hlZHVsZWQgZXhhbWluYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSImcXVvdDtSZWNhbGw6IG1pc3NlZCBzY2hlZHVsZWQgZXhhbWluYXRpb24mcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICA8YTpzPi8qCiAqIEBvdXRwdXQ6IENYQ0EuRCNERTQ0ICZxdW90O1JlY2FsbDogbWlzc2VkIHNjaGVkdWxlZCBleGFtaW5hdGlvbiZxdW90OwogKiBObyB0aW1lb3V0IOKAlCBmaXJlcyBpbW1lZGlhdGVseSBvbmNlIGEgbWlzc2VkIGFwcG9pbnRtZW50IGlzIGRldGVjdGVkLgogKi8KZGVmaW5lICZxdW90O1JlY2FsbCDigJQgbWlzc2VkIHNjaGVkdWxlZCBleGFtaW5hdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzUiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01pc3NlZFNjaGVkdWxlZEV4YW1pbmF0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjEwNDozLTEwNDozMCIgbmFtZT0iTWlzc2VkU2NoZWR1bGVkRXhhbWluYXRpb24iIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjc4IiBsb2NhdG9yPSIxMDk6MS0xMTY6NDYiIG5hbWU9IkFueSByZWNhbGwgdHJpZ2dlciBmaXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iYW55IHJlY2FsbCB0cmlnZ2VyIGZpcmVkIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjc4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgogKiBAaW50ZXJuYWw6IGFueSByZWNhbGwgdHJpZ2dlciBmaXJlZAogKi8KZGVmaW5lICZxdW90O0FueSByZWNhbGwgdHJpZ2dlciBmaXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlY2FsbCDigJQgSFBWIHNhbXBsZSByZXN1bHQgdGltZW91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIG9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UmVjYWxsIOKAlCBwb3NpdGl2ZSByZXN1bHQgZm9sbG93LXVwIHRpbWVvdXQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtSZWNhbGwg4oCUIGJpb3BzeSByZXN1bHQgdGltZW91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlY2FsbCDigJQgdHJlYXRtZW50IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSB0aW1lb3V0JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIG9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UmVjYWxsIOKAlCBjeXRvbG9neSBzbGlkZSB1bnJlYWQgdGltZW91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlY2FsbCDigJQgc2Vjb25kIHJlbWluZGVyIG5lZWRlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlY2FsbCDigJQgbWlzc2VkIHNjaGVkdWxlZCBleGFtaW5hdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3OSIgbG9jYXRvcj0iMTEwOjMtMTE2OjQ2IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjExMDozLTExNTo0MCIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjgxIiBsb2NhdG9yPSIxMTA6My0xMTQ6NDciIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4MiIgbG9jYXRvcj0iMTEwOjMtMTEzOjU3IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODMiIGxvY2F0b3I9IjExMDozLTExMjozOSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg0IiBsb2NhdG9yPSIxMTA6My0xMTE6NTEiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4NSIgbG9jYXRvcj0iMTEwOjMtMTEwOjM4IiBuYW1lPSJSZWNhbGwg4oCUIEhQViBzYW1wbGUgcmVzdWx0IHRpbWVvdXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4NiIgbG9jYXRvcj0iMTExOjgtMTExOjUxIiBuYW1lPSJSZWNhbGwg4oCUIHBvc2l0aXZlIHJlc3VsdCBmb2xsb3ctdXAgdGltZW91dCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODciIGxvY2F0b3I9IjExMjo4LTExMjozOSIgbmFtZT0iUmVjYWxsIOKAlCBiaW9wc3kgcmVzdWx0IHRpbWVvdXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg4IiBsb2NhdG9yPSIxMTM6OC0xMTM6NTciIG5hbWU9IlJlY2FsbCDigJQgdHJlYXRtZW50IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSB0aW1lb3V0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4OSIgbG9jYXRvcj0iMTE0OjgtMTE0OjQ3IiBuYW1lPSJSZWNhbGwg4oCUIGN5dG9sb2d5IHNsaWRlIHVucmVhZCB0aW1lb3V0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MCIgbG9jYXRvcj0iMTE1OjgtMTE1OjQwIiBuYW1lPSJSZWNhbGwg4oCUIHNlY29uZCByZW1pbmRlciBuZWVkZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkxIiBsb2NhdG9yPSIxMTY6OC0xMTY6NDYiIG5hbWU9IlJlY2FsbCDigJQgbWlzc2VkIHNjaGVkdWxlZCBleGFtaW5hdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg=="/>
</content>
</Library>