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

: HIV.IND.95 Logic - JSON Representation

Draft as of 2024-10-30

Raw json | Download

{
  "resourceType" : "Library",
  "id" : "HIVIND95Logic",
  "meta" : {
    "profile" : [
      🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
      "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
      "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
      "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"
    ]
  },
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: Library HIVIND95Logic</b></p><a name=\"HIVIND95Logic\"> </a><a name=\"hcHIVIND95Logic\"> </a><a name=\"HIVIND95Logic-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></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>Initial Population</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr><tr><td>Numerator</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr><tr><td>Denominator</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr></table><h2>Contents</h2><p><code>text/cql</code></p><pre><code class=\"language-sql\">/**\n * Library: HIV.IND.95 Logic\n * Ref No: CCA.3\n * Short Name: Invasive cervical cancer treatment\n *\n * Definition: % of women living with HIV diagnosed with invasive cancer who were treated\n *\n * Numerator: Number of women living with HIV who received treatment after being diagnosed with invasive cervical cancer\n * Numerator Calculation: COUNT of women with &quot;HIV status&quot;='HIV-positive' AND &quot;Cervical cancer diagnosis&quot;='Invasive cervical cancer' for a &quot;Date of diagnosis of cervical precancer lesions or invasive cervical cancer&quot; within the reporting period AND &quot;Invasive cervical cancer treatment method&quot; is NOT NULL\n * Numerator Exclusions: \n *\n * Denominator: Number of women living with HIV who were diagnosed with invasive cervical cancer\n * Denominator Calculation: COUNT of women with &quot;HIV status&quot;='HIV-positive' AND &quot;Cervical cancer diagnosis&quot;='Invasive cervical cancer' for a &quot;Date of diagnosis of cervical precancer lesions or invasive cervical cancer&quot; within the reporting period\n * Denominator Exclusions: \n *\n * Disaggregations:\n * •\u00a0Age (15–19, 20–24, 25–29, 30–49, 50+ years) \n *  • Invasive cervical cancer treatment episode (1st in lifetime, 2nd, 3rd, 4th, etc.) \n *  •\u00a0Treatment type (medical, surgical) \n *  •\u00a0Cities and other administrative areas of epidemiologic importance\n *\n * Disaggregation Elements: Age | Invasive cervical cancer treatment episode | Invasive cervical cancer treatment method\n *\n * Numerator and Denominator Elements:\n * Cervical cancer diagnosis \n *  Date of diagnosis of cervical precancer lesions or invasive cervical cancer \n *  HIV status \n *  Invasive cervical cancer treatment method\n *\n * Reference: Consolidated guidelines on person-centred HIV strategic information: strengthening routine data for impact. Geneva: World Health Organization; 2022\n * \n * Data Concepts:\n * HIV.A.DE17: Age | Calculated age (number of years) of the client based on date of birth\n * HIV.B.DE115: HIV status | HIV status reported after applying the national HIV testing algorithm. No single HIV test can provide an HIV-positive diagnosis.\n * HIV.B.DE116: HIV-positive | Client is HIV-positive\n * HIV.B.DE117: HIV-negative | Client is HIV-negative\n * HIV.B.DE118: Unknown | Client has unknown HIV status\n * HIV.D.DE705: Date of diagnosis of cervical precancer lesions or invasive cervical cancer | Date of diagnosis of cervical precancer lesions or invasive cervical cancer\n * HIV.D.DE709: Cervical cancer diagnosis | Type of cervical cancer diagnosis\n * HIV.D.DE710: Cervical precancer lesions | Client is diagnosed with cervical precancer lesions\n * HIV.D.DE711: Invasive cervical cancer | Client is diagnosed with invasive cervical cancer disease\n * HIV.D.DE730: Invasive cervical cancer treatment episode | Client's lifetime number of treatments for invasive cervical cancer\n * HIV.D.DE731: Invasive cervical cancer treatment method | Invasive cervical cancer treatment method\n * HIV.D.DE732: Conization | Invasive cervical cancer treatment method is a conization\n * HIV.D.DE733: Trachelectomy | Invasive cervical cancer treatment method is a trachelectomy\n * HIV.D.DE734: Hysterectomy | Invasive cervical cancer treatment method is a hysterectomy\n * HIV.D.DE735: Management of invasive cervical cancer | Invasive cervical cancer treatment method is management of invasive cervical cancer\n * HIV.D.DE736: Radiotherapy | Invasive cervical cancer treatment method is a radiotherapy\n * HIV.D.DE737: Chemotherapy | Invasive cervical cancer treatment method is a chemotherapy\n * HIV.D.DE738: Chemoradiation | Invasive cervical cancer treatment method is a chemoradiation\n * HIV.D.DE739: Other | Invasive cervical cancer treatment method is a not in list\n *\n * Additional Context\n * - what it measures: Progress towards increasing access to treatment for invasive cervical cancer for women living with HIV\n * - rationale: The purpose of this indicator is to assess trends in availability and access to treatment services for invasive cervical cancer for women living with HIV. In the longer run, it is expected that the number of women living with HIV who received treatment for invasive cervical cancer will plateau and slowly decrease, as screening programmes expand detection and treatment of precancerous lesions, and coverage of human papillomavirus (HPV) vaccination increases in line with the WHO Global Strategy 90–70–90 elimination targets.\n * - method: The number is generated from programmatic data from HIV or cervical cancer programmes, or from a national cancer registry, if HIV status is recorded there.\n * \n * Suggested Scoring Method: proportion | http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm\n */\n\nlibrary HIVIND95Logic\n\n// Included Libraries\nusing FHIR version '4.0.1'\n\ninclude HIVCommon version '0.0.1' called HIC\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOCommon called WCom\n\n// Indicator Definition\nparameter &quot;Measurement Period&quot; Interval&lt;Date&gt; default Interval[@2023-01-01, @2023-01-30]\n\ncontext Patient\n/* Populations */\n\n/*\n *Initial Population\n */\n\ndefine &quot;Initial Population&quot;:\n  true\n\n/**\n * Numerator\n * \n * Definition: Number of women living with HIV who received treatment after being diagnosed with invasive cervical cancer\n * Calculation: COUNT of women with &quot;HIV status&quot;='HIV-positive' AND &quot;Cervical cancer diagnosis&quot;='Invasive cervical cancer' for a &quot;Date of diagnosis of cervical precancer lesions or invasive cervical cancer&quot; within the reporting period AND &quot;Invasive cervical cancer treatment method&quot; is NOT NULL\n */\n\ndefine &quot;Numerator&quot;:\n  true\n\n\n/**\n * Denominator\n *\n * Definition: Number of women living with HIV who were diagnosed with invasive cervical cancer\n * Calculation: COUNT of women with &quot;HIV status&quot;='HIV-positive' AND &quot;Cervical cancer diagnosis&quot;='Invasive cervical cancer' for a &quot;Date of diagnosis of cervical precancer lesions or invasive cervical cancer&quot; within the reporting period\n */\n\ndefine &quot;Denominator&quot;:\n  true\n    \n\n/* end Populations */\n\n</code></pre><p><code>Content not shown - (</code><code>application/elm+xml</code>, size = 12Kb )</p></div>"
  },
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
      "valueCode" : "computable"
    }
  ],
  "url" : "http://smart.who.int/hiv/Library/HIVIND95Logic",
  "version" : "0.3.0",
  "name" : "HIVIND95Logic",
  "title" : "HIV.IND.95 Logic",
  "status" : "draft",
  "experimental" : true,
  "type" : {
    "coding" : [
      {
        "system" : "http://terminology.hl7.org/CodeSystem/library-type",
        "code" : "logic-library"
      }
    ]
  },
  "date" : "2024-10-30T19:04:31+00:00",
  "publisher" : "WHO",
  "contact" : [
    {
      "name" : "WHO",
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://who.int"
        }
      ]
    }
  ],
  "description" : "% of women living with HIV diagnosed with invasive cancer who were treated",
  "relatedArtifact" : [
    {
      "type" : "depends-on",
      "display" : "Library HIC",
      "resource" : "http://smart.who.int/hiv/Library/HIVCommon|0.0.1"
    },
    {
      "type" : "depends-on",
      "display" : "Library WCom",
      "resource" : "http://smart.who.int/hiv/Library/WHOCommon"
    }
  ],
  "parameter" : [
    {
      "name" : "Measurement Period",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "type" : "Period"
    },
    {
      "name" : "Patient",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Patient"
    },
    {
      "name" : "Initial Population",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Numerator",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Denominator",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    }
  ],
  "content" : [
    {
      "contentType" : "text/cql",
      "data" : "LyoqCiAqIExpYnJhcnk6IEhJVi5JTkQuOTUgTG9naWMKICogUmVmIE5vOiBDQ0EuMwogKiBTaG9ydCBOYW1lOiBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50CiAqCiAqIERlZmluaXRpb246ICUgb2Ygd29tZW4gbGl2aW5nIHdpdGggSElWIGRpYWdub3NlZCB3aXRoIGludmFzaXZlIGNhbmNlciB3aG8gd2VyZSB0cmVhdGVkCiAqCiAqIE51bWVyYXRvcjogTnVtYmVyIG9mIHdvbWVuIGxpdmluZyB3aXRoIEhJViB3aG8gcmVjZWl2ZWQgdHJlYXRtZW50IGFmdGVyIGJlaW5nIGRpYWdub3NlZCB3aXRoIGludmFzaXZlIGNlcnZpY2FsIGNhbmNlcgogKiBOdW1lcmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIHdvbWVuIHdpdGggIkhJViBzdGF0dXMiPSdISVYtcG9zaXRpdmUnIEFORCAiQ2VydmljYWwgY2FuY2VyIGRpYWdub3NpcyI9J0ludmFzaXZlIGNlcnZpY2FsIGNhbmNlcicgZm9yIGEgIkRhdGUgb2YgZGlhZ25vc2lzIG9mIGNlcnZpY2FsIHByZWNhbmNlciBsZXNpb25zIG9yIGludmFzaXZlIGNlcnZpY2FsIGNhbmNlciIgd2l0aGluIHRoZSByZXBvcnRpbmcgcGVyaW9kIEFORCAiSW52YXNpdmUgY2VydmljYWwgY2FuY2VyIHRyZWF0bWVudCBtZXRob2QiIGlzIE5PVCBOVUxMCiAqIE51bWVyYXRvciBFeGNsdXNpb25zOiAKICoKICogRGVub21pbmF0b3I6IE51bWJlciBvZiB3b21lbiBsaXZpbmcgd2l0aCBISVYgd2hvIHdlcmUgZGlhZ25vc2VkIHdpdGggaW52YXNpdmUgY2VydmljYWwgY2FuY2VyCiAqIERlbm9taW5hdG9yIENhbGN1bGF0aW9uOiBDT1VOVCBvZiB3b21lbiB3aXRoICJISVYgc3RhdHVzIj0nSElWLXBvc2l0aXZlJyBBTkQgIkNlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMiPSdJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXInIGZvciBhICJEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIiIHdpdGhpbiB0aGUgcmVwb3J0aW5nIHBlcmlvZAogKiBEZW5vbWluYXRvciBFeGNsdXNpb25zOiAKICoKICogRGlzYWdncmVnYXRpb25zOgogKiDigKLCoEFnZSAoMTXigJMxOSwgMjDigJMyNCwgMjXigJMyOSwgMzDigJM0OSwgNTArIHllYXJzKSAKICogIOKAoiBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IGVwaXNvZGUgKDFzdCBpbiBsaWZldGltZSwgMm5kLCAzcmQsIDR0aCwgZXRjLikgCiAqICDigKLCoFRyZWF0bWVudCB0eXBlIChtZWRpY2FsLCBzdXJnaWNhbCkgCiAqICDigKLCoENpdGllcyBhbmQgb3RoZXIgYWRtaW5pc3RyYXRpdmUgYXJlYXMgb2YgZXBpZGVtaW9sb2dpYyBpbXBvcnRhbmNlCiAqCiAqIERpc2FnZ3JlZ2F0aW9uIEVsZW1lbnRzOiBBZ2UgfCBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IGVwaXNvZGUgfCBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IG1ldGhvZAogKgogKiBOdW1lcmF0b3IgYW5kIERlbm9taW5hdG9yIEVsZW1lbnRzOgogKiBDZXJ2aWNhbCBjYW5jZXIgZGlhZ25vc2lzIAogKiAgRGF0ZSBvZiBkaWFnbm9zaXMgb2YgY2VydmljYWwgcHJlY2FuY2VyIGxlc2lvbnMgb3IgaW52YXNpdmUgY2VydmljYWwgY2FuY2VyIAogKiAgSElWIHN0YXR1cyAKICogIEludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQgbWV0aG9kCiAqCiAqIFJlZmVyZW5jZTogQ29uc29saWRhdGVkIGd1aWRlbGluZXMgb24gcGVyc29uLWNlbnRyZWQgSElWIHN0cmF0ZWdpYyBpbmZvcm1hdGlvbjogc3RyZW5ndGhlbmluZyByb3V0aW5lIGRhdGEgZm9yIGltcGFjdC4gR2VuZXZhOiBXb3JsZCBIZWFsdGggT3JnYW5pemF0aW9uOyAyMDIyCiAqIAogKiBEYXRhIENvbmNlcHRzOgogKiBISVYuQS5ERTE3OiBBZ2UgfCBDYWxjdWxhdGVkIGFnZSAobnVtYmVyIG9mIHllYXJzKSBvZiB0aGUgY2xpZW50IGJhc2VkIG9uIGRhdGUgb2YgYmlydGgKICogSElWLkIuREUxMTU6IEhJViBzdGF0dXMgfCBISVYgc3RhdHVzIHJlcG9ydGVkIGFmdGVyIGFwcGx5aW5nIHRoZSBuYXRpb25hbCBISVYgdGVzdGluZyBhbGdvcml0aG0uIE5vIHNpbmdsZSBISVYgdGVzdCBjYW4gcHJvdmlkZSBhbiBISVYtcG9zaXRpdmUgZGlhZ25vc2lzLgogKiBISVYuQi5ERTExNjogSElWLXBvc2l0aXZlIHwgQ2xpZW50IGlzIEhJVi1wb3NpdGl2ZQogKiBISVYuQi5ERTExNzogSElWLW5lZ2F0aXZlIHwgQ2xpZW50IGlzIEhJVi1uZWdhdGl2ZQogKiBISVYuQi5ERTExODogVW5rbm93biB8IENsaWVudCBoYXMgdW5rbm93biBISVYgc3RhdHVzCiAqIEhJVi5ELkRFNzA1OiBEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgfCBEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIKICogSElWLkQuREU3MDk6IENlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMgfCBUeXBlIG9mIGNlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMKICogSElWLkQuREU3MTA6IENlcnZpY2FsIHByZWNhbmNlciBsZXNpb25zIHwgQ2xpZW50IGlzIGRpYWdub3NlZCB3aXRoIGNlcnZpY2FsIHByZWNhbmNlciBsZXNpb25zCiAqIEhJVi5ELkRFNzExOiBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgfCBDbGllbnQgaXMgZGlhZ25vc2VkIHdpdGggaW52YXNpdmUgY2VydmljYWwgY2FuY2VyIGRpc2Vhc2UKICogSElWLkQuREU3MzA6IEludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQgZXBpc29kZSB8IENsaWVudCdzIGxpZmV0aW1lIG51bWJlciBvZiB0cmVhdG1lbnRzIGZvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIKICogSElWLkQuREU3MzE6IEludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQgbWV0aG9kIHwgSW52YXNpdmUgY2VydmljYWwgY2FuY2VyIHRyZWF0bWVudCBtZXRob2QKICogSElWLkQuREU3MzI6IENvbml6YXRpb24gfCBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IG1ldGhvZCBpcyBhIGNvbml6YXRpb24KICogSElWLkQuREU3MzM6IFRyYWNoZWxlY3RvbXkgfCBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IG1ldGhvZCBpcyBhIHRyYWNoZWxlY3RvbXkKICogSElWLkQuREU3MzQ6IEh5c3RlcmVjdG9teSB8IEludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQgbWV0aG9kIGlzIGEgaHlzdGVyZWN0b215CiAqIEhJVi5ELkRFNzM1OiBNYW5hZ2VtZW50IG9mIGludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB8IEludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQgbWV0aG9kIGlzIG1hbmFnZW1lbnQgb2YgaW52YXNpdmUgY2VydmljYWwgY2FuY2VyCiAqIEhJVi5ELkRFNzM2OiBSYWRpb3RoZXJhcHkgfCBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IG1ldGhvZCBpcyBhIHJhZGlvdGhlcmFweQogKiBISVYuRC5ERTczNzogQ2hlbW90aGVyYXB5IHwgSW52YXNpdmUgY2VydmljYWwgY2FuY2VyIHRyZWF0bWVudCBtZXRob2QgaXMgYSBjaGVtb3RoZXJhcHkKICogSElWLkQuREU3Mzg6IENoZW1vcmFkaWF0aW9uIHwgSW52YXNpdmUgY2VydmljYWwgY2FuY2VyIHRyZWF0bWVudCBtZXRob2QgaXMgYSBjaGVtb3JhZGlhdGlvbgogKiBISVYuRC5ERTczOTogT3RoZXIgfCBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IG1ldGhvZCBpcyBhIG5vdCBpbiBsaXN0CiAqCiAqIEFkZGl0aW9uYWwgQ29udGV4dAogKiAtIHdoYXQgaXQgbWVhc3VyZXM6IFByb2dyZXNzIHRvd2FyZHMgaW5jcmVhc2luZyBhY2Nlc3MgdG8gdHJlYXRtZW50IGZvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgZm9yIHdvbWVuIGxpdmluZyB3aXRoIEhJVgogKiAtIHJhdGlvbmFsZTogVGhlIHB1cnBvc2Ugb2YgdGhpcyBpbmRpY2F0b3IgaXMgdG8gYXNzZXNzIHRyZW5kcyBpbiBhdmFpbGFiaWxpdHkgYW5kIGFjY2VzcyB0byB0cmVhdG1lbnQgc2VydmljZXMgZm9yIGludmFzaXZlIGNlcnZpY2FsIGNhbmNlciBmb3Igd29tZW4gbGl2aW5nIHdpdGggSElWLiBJbiB0aGUgbG9uZ2VyIHJ1biwgaXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgbnVtYmVyIG9mIHdvbWVuIGxpdmluZyB3aXRoIEhJViB3aG8gcmVjZWl2ZWQgdHJlYXRtZW50IGZvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgd2lsbCBwbGF0ZWF1IGFuZCBzbG93bHkgZGVjcmVhc2UsIGFzIHNjcmVlbmluZyBwcm9ncmFtbWVzIGV4cGFuZCBkZXRlY3Rpb24gYW5kIHRyZWF0bWVudCBvZiBwcmVjYW5jZXJvdXMgbGVzaW9ucywgYW5kIGNvdmVyYWdlIG9mIGh1bWFuIHBhcGlsbG9tYXZpcnVzIChIUFYpIHZhY2NpbmF0aW9uIGluY3JlYXNlcyBpbiBsaW5lIHdpdGggdGhlIFdITyBHbG9iYWwgU3RyYXRlZ3kgOTDigJM3MOKAkzkwIGVsaW1pbmF0aW9uIHRhcmdldHMuCiAqIC0gbWV0aG9kOiBUaGUgbnVtYmVyIGlzIGdlbmVyYXRlZCBmcm9tIHByb2dyYW1tYXRpYyBkYXRhIGZyb20gSElWIG9yIGNlcnZpY2FsIGNhbmNlciBwcm9ncmFtbWVzLCBvciBmcm9tIGEgbmF0aW9uYWwgY2FuY2VyIHJlZ2lzdHJ5LCBpZiBISVYgc3RhdHVzIGlzIHJlY29yZGVkIHRoZXJlLgogKiAKICogU3VnZ2VzdGVkIFNjb3JpbmcgTWV0aG9kOiBwcm9wb3J0aW9uIHwgaHR0cDovL2hsNy5vcmcvZmhpci91cy9jcWZtZWFzdXJlcy9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb3BvcnRpb24tbWVhc3VyZS1jcWZtCiAqLwoKbGlicmFyeSBISVZJTkQ5NUxvZ2ljCgovLyBJbmNsdWRlZCBMaWJyYXJpZXMKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgSElWQ29tbW9uIHZlcnNpb24gJzAuMC4xJyBjYWxsZWQgSElDCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0NvbQoKLy8gSW5kaWNhdG9yIERlZmluaXRpb24KcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGU+IGRlZmF1bHQgSW50ZXJ2YWxbQDIwMjMtMDEtMDEsIEAyMDIzLTAxLTMwXQoKY29udGV4dCBQYXRpZW50Ci8qIFBvcHVsYXRpb25zICovCgovKgogKkluaXRpYWwgUG9wdWxhdGlvbgogKi8KCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKICB0cnVlCgovKioKICogTnVtZXJhdG9yCiAqIAogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2Ygd29tZW4gbGl2aW5nIHdpdGggSElWIHdobyByZWNlaXZlZCB0cmVhdG1lbnQgYWZ0ZXIgYmVpbmcgZGlhZ25vc2VkIHdpdGggaW52YXNpdmUgY2VydmljYWwgY2FuY2VyCiAqIENhbGN1bGF0aW9uOiBDT1VOVCBvZiB3b21lbiB3aXRoICJISVYgc3RhdHVzIj0nSElWLXBvc2l0aXZlJyBBTkQgIkNlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMiPSdJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXInIGZvciBhICJEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIiIHdpdGhpbiB0aGUgcmVwb3J0aW5nIHBlcmlvZCBBTkQgIkludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQgbWV0aG9kIiBpcyBOT1QgTlVMTAogKi8KCmRlZmluZSAiTnVtZXJhdG9yIjoKICB0cnVlCgoKLyoqCiAqIERlbm9taW5hdG9yCiAqCiAqIERlZmluaXRpb246IE51bWJlciBvZiB3b21lbiBsaXZpbmcgd2l0aCBISVYgd2hvIHdlcmUgZGlhZ25vc2VkIHdpdGggaW52YXNpdmUgY2VydmljYWwgY2FuY2VyCiAqIENhbGN1bGF0aW9uOiBDT1VOVCBvZiB3b21lbiB3aXRoICJISVYgc3RhdHVzIj0nSElWLXBvc2l0aXZlJyBBTkQgIkNlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMiPSdJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXInIGZvciBhICJEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIiIHdpdGhpbiB0aGUgcmVwb3J0aW5nIHBlcmlvZAogKi8KCmRlZmluZSAiRGVub21pbmF0b3IiOgogIHRydWUKICAgIAoKLyogZW5kIFBvcHVsYXRpb25zICovCgo="
    },
    {
      "contentType" : "application/elm+xml",
      "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iTm9uZSIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1JbmZvIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IlRoZSBmdW5jdGlvbiBGSElSSGVscGVycy5Ub0ludGVydmFsIGhhcyBtdWx0aXBsZSBvdmVybG9hZHMgYW5kIGR1ZSB0byB0aGUgU2lnbmF0dXJlTGV2ZWwgc2V0dGluZyAoTm9uZSksIHRoZSBvdmVybG9hZCBzaWduYXR1cmUgaXMgbm90IGJlaW5nIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuIFRoaXMgbWF5IHJlc3VsdCBpbiBhbWJpZ3VvdXMgZnVuY3Rpb24gcmVzb2x1dGlvbiBhdCBydW50aW1lLCBjb25zaWRlciBzZXR0aW5nIHRoZSBTaWduYXR1cmVMZXZlbCB0byBPdmVybG9hZHMgb3IgQWxsIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgaW5jbHVkZXMgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGNvcnJlY3Qgb3ZlcmxvYWQgc2VsZWN0aW9uIGF0IHJ1bnRpbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IlRoZSBmdW5jdGlvbiBGSElSSGVscGVycy5Ub0ludGVydmFsIGhhcyBtdWx0aXBsZSBvdmVybG9hZHMgYW5kIGR1ZSB0byB0aGUgU2lnbmF0dXJlTGV2ZWwgc2V0dGluZyAoTm9uZSksIHRoZSBvdmVybG9hZCBzaWduYXR1cmUgaXMgbm90IGJlaW5nIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuIFRoaXMgbWF5IHJlc3VsdCBpbiBhbWJpZ3VvdXMgZnVuY3Rpb24gcmVzb2x1dGlvbiBhdCBydW50aW1lLCBjb25zaWRlciBzZXR0aW5nIHRoZSBTaWduYXR1cmVMZXZlbCB0byBPdmVybG9hZHMgb3IgQWxsIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgaW5jbHVkZXMgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGNvcnJlY3Qgb3ZlcmxvYWQgc2VsZWN0aW9uIGF0IHJ1bnRpbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICA8YTpzIHI9IjE2Ij4KICAgICAgICAgPGE6cz4vKioKICogTGlicmFyeTogSElWLklORC45NSBMb2dpYwogKiBSZWYgTm86IENDQS4zCiAqIFNob3J0IE5hbWU6IEludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQKICoKICogRGVmaW5pdGlvbjogJSBvZiB3b21lbiBsaXZpbmcgd2l0aCBISVYgZGlhZ25vc2VkIHdpdGggaW52YXNpdmUgY2FuY2VyIHdobyB3ZXJlIHRyZWF0ZWQKICoKICogTnVtZXJhdG9yOiBOdW1iZXIgb2Ygd29tZW4gbGl2aW5nIHdpdGggSElWIHdobyByZWNlaXZlZCB0cmVhdG1lbnQgYWZ0ZXIgYmVpbmcgZGlhZ25vc2VkIHdpdGggaW52YXNpdmUgY2VydmljYWwgY2FuY2VyCiAqIE51bWVyYXRvciBDYWxjdWxhdGlvbjogQ09VTlQgb2Ygd29tZW4gd2l0aCAmcXVvdDtISVYgc3RhdHVzJnF1b3Q7PSdISVYtcG9zaXRpdmUnIEFORCAmcXVvdDtDZXJ2aWNhbCBjYW5jZXIgZGlhZ25vc2lzJnF1b3Q7PSdJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXInIGZvciBhICZxdW90O0RhdGUgb2YgZGlhZ25vc2lzIG9mIGNlcnZpY2FsIHByZWNhbmNlciBsZXNpb25zIG9yIGludmFzaXZlIGNlcnZpY2FsIGNhbmNlciZxdW90OyB3aXRoaW4gdGhlIHJlcG9ydGluZyBwZXJpb2QgQU5EICZxdW90O0ludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQgbWV0aG9kJnF1b3Q7IGlzIE5PVCBOVUxMCiAqIE51bWVyYXRvciBFeGNsdXNpb25zOiAKICoKICogRGVub21pbmF0b3I6IE51bWJlciBvZiB3b21lbiBsaXZpbmcgd2l0aCBISVYgd2hvIHdlcmUgZGlhZ25vc2VkIHdpdGggaW52YXNpdmUgY2VydmljYWwgY2FuY2VyCiAqIERlbm9taW5hdG9yIENhbGN1bGF0aW9uOiBDT1VOVCBvZiB3b21lbiB3aXRoICZxdW90O0hJViBzdGF0dXMmcXVvdDs9J0hJVi1wb3NpdGl2ZScgQU5EICZxdW90O0NlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMmcXVvdDs9J0ludmFzaXZlIGNlcnZpY2FsIGNhbmNlcicgZm9yIGEgJnF1b3Q7RGF0ZSBvZiBkaWFnbm9zaXMgb2YgY2VydmljYWwgcHJlY2FuY2VyIGxlc2lvbnMgb3IgaW52YXNpdmUgY2VydmljYWwgY2FuY2VyJnF1b3Q7IHdpdGhpbiB0aGUgcmVwb3J0aW5nIHBlcmlvZAogKiBEZW5vbWluYXRvciBFeGNsdXNpb25zOiAKICoKICogRGlzYWdncmVnYXRpb25zOgogKiDigKLCoEFnZSAoMTXigJMxOSwgMjDigJMyNCwgMjXigJMyOSwgMzDigJM0OSwgNTArIHllYXJzKSAKICogIOKAoiBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IGVwaXNvZGUgKDFzdCBpbiBsaWZldGltZSwgMm5kLCAzcmQsIDR0aCwgZXRjLikgCiAqICDigKLCoFRyZWF0bWVudCB0eXBlIChtZWRpY2FsLCBzdXJnaWNhbCkgCiAqICDigKLCoENpdGllcyBhbmQgb3RoZXIgYWRtaW5pc3RyYXRpdmUgYXJlYXMgb2YgZXBpZGVtaW9sb2dpYyBpbXBvcnRhbmNlCiAqCiAqIERpc2FnZ3JlZ2F0aW9uIEVsZW1lbnRzOiBBZ2UgfCBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IGVwaXNvZGUgfCBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IG1ldGhvZAogKgogKiBOdW1lcmF0b3IgYW5kIERlbm9taW5hdG9yIEVsZW1lbnRzOgogKiBDZXJ2aWNhbCBjYW5jZXIgZGlhZ25vc2lzIAogKiAgRGF0ZSBvZiBkaWFnbm9zaXMgb2YgY2VydmljYWwgcHJlY2FuY2VyIGxlc2lvbnMgb3IgaW52YXNpdmUgY2VydmljYWwgY2FuY2VyIAogKiAgSElWIHN0YXR1cyAKICogIEludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQgbWV0aG9kCiAqCiAqIFJlZmVyZW5jZTogQ29uc29saWRhdGVkIGd1aWRlbGluZXMgb24gcGVyc29uLWNlbnRyZWQgSElWIHN0cmF0ZWdpYyBpbmZvcm1hdGlvbjogc3RyZW5ndGhlbmluZyByb3V0aW5lIGRhdGEgZm9yIGltcGFjdC4gR2VuZXZhOiBXb3JsZCBIZWFsdGggT3JnYW5pemF0aW9uOyAyMDIyCiAqIAogKiBEYXRhIENvbmNlcHRzOgogKiBISVYuQS5ERTE3OiBBZ2UgfCBDYWxjdWxhdGVkIGFnZSAobnVtYmVyIG9mIHllYXJzKSBvZiB0aGUgY2xpZW50IGJhc2VkIG9uIGRhdGUgb2YgYmlydGgKICogSElWLkIuREUxMTU6IEhJViBzdGF0dXMgfCBISVYgc3RhdHVzIHJlcG9ydGVkIGFmdGVyIGFwcGx5aW5nIHRoZSBuYXRpb25hbCBISVYgdGVzdGluZyBhbGdvcml0aG0uIE5vIHNpbmdsZSBISVYgdGVzdCBjYW4gcHJvdmlkZSBhbiBISVYtcG9zaXRpdmUgZGlhZ25vc2lzLgogKiBISVYuQi5ERTExNjogSElWLXBvc2l0aXZlIHwgQ2xpZW50IGlzIEhJVi1wb3NpdGl2ZQogKiBISVYuQi5ERTExNzogSElWLW5lZ2F0aXZlIHwgQ2xpZW50IGlzIEhJVi1uZWdhdGl2ZQogKiBISVYuQi5ERTExODogVW5rbm93biB8IENsaWVudCBoYXMgdW5rbm93biBISVYgc3RhdHVzCiAqIEhJVi5ELkRFNzA1OiBEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgfCBEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIKICogSElWLkQuREU3MDk6IENlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMgfCBUeXBlIG9mIGNlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMKICogSElWLkQuREU3MTA6IENlcnZpY2FsIHByZWNhbmNlciBsZXNpb25zIHwgQ2xpZW50IGlzIGRpYWdub3NlZCB3aXRoIGNlcnZpY2FsIHByZWNhbmNlciBsZXNpb25zCiAqIEhJVi5ELkRFNzExOiBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgfCBDbGllbnQgaXMgZGlhZ25vc2VkIHdpdGggaW52YXNpdmUgY2VydmljYWwgY2FuY2VyIGRpc2Vhc2UKICogSElWLkQuREU3MzA6IEludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQgZXBpc29kZSB8IENsaWVudCdzIGxpZmV0aW1lIG51bWJlciBvZiB0cmVhdG1lbnRzIGZvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIKICogSElWLkQuREU3MzE6IEludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQgbWV0aG9kIHwgSW52YXNpdmUgY2VydmljYWwgY2FuY2VyIHRyZWF0bWVudCBtZXRob2QKICogSElWLkQuREU3MzI6IENvbml6YXRpb24gfCBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IG1ldGhvZCBpcyBhIGNvbml6YXRpb24KICogSElWLkQuREU3MzM6IFRyYWNoZWxlY3RvbXkgfCBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IG1ldGhvZCBpcyBhIHRyYWNoZWxlY3RvbXkKICogSElWLkQuREU3MzQ6IEh5c3RlcmVjdG9teSB8IEludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQgbWV0aG9kIGlzIGEgaHlzdGVyZWN0b215CiAqIEhJVi5ELkRFNzM1OiBNYW5hZ2VtZW50IG9mIGludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB8IEludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB0cmVhdG1lbnQgbWV0aG9kIGlzIG1hbmFnZW1lbnQgb2YgaW52YXNpdmUgY2VydmljYWwgY2FuY2VyCiAqIEhJVi5ELkRFNzM2OiBSYWRpb3RoZXJhcHkgfCBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IG1ldGhvZCBpcyBhIHJhZGlvdGhlcmFweQogKiBISVYuRC5ERTczNzogQ2hlbW90aGVyYXB5IHwgSW52YXNpdmUgY2VydmljYWwgY2FuY2VyIHRyZWF0bWVudCBtZXRob2QgaXMgYSBjaGVtb3RoZXJhcHkKICogSElWLkQuREU3Mzg6IENoZW1vcmFkaWF0aW9uIHwgSW52YXNpdmUgY2VydmljYWwgY2FuY2VyIHRyZWF0bWVudCBtZXRob2QgaXMgYSBjaGVtb3JhZGlhdGlvbgogKiBISVYuRC5ERTczOTogT3RoZXIgfCBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgdHJlYXRtZW50IG1ldGhvZCBpcyBhIG5vdCBpbiBsaXN0CiAqCiAqIEFkZGl0aW9uYWwgQ29udGV4dAogKiAtIHdoYXQgaXQgbWVhc3VyZXM6IFByb2dyZXNzIHRvd2FyZHMgaW5jcmVhc2luZyBhY2Nlc3MgdG8gdHJlYXRtZW50IGZvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgZm9yIHdvbWVuIGxpdmluZyB3aXRoIEhJVgogKiAtIHJhdGlvbmFsZTogVGhlIHB1cnBvc2Ugb2YgdGhpcyBpbmRpY2F0b3IgaXMgdG8gYXNzZXNzIHRyZW5kcyBpbiBhdmFpbGFiaWxpdHkgYW5kIGFjY2VzcyB0byB0cmVhdG1lbnQgc2VydmljZXMgZm9yIGludmFzaXZlIGNlcnZpY2FsIGNhbmNlciBmb3Igd29tZW4gbGl2aW5nIHdpdGggSElWLiBJbiB0aGUgbG9uZ2VyIHJ1biwgaXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgbnVtYmVyIG9mIHdvbWVuIGxpdmluZyB3aXRoIEhJViB3aG8gcmVjZWl2ZWQgdHJlYXRtZW50IGZvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgd2lsbCBwbGF0ZWF1IGFuZCBzbG93bHkgZGVjcmVhc2UsIGFzIHNjcmVlbmluZyBwcm9ncmFtbWVzIGV4cGFuZCBkZXRlY3Rpb24gYW5kIHRyZWF0bWVudCBvZiBwcmVjYW5jZXJvdXMgbGVzaW9ucywgYW5kIGNvdmVyYWdlIG9mIGh1bWFuIHBhcGlsbG9tYXZpcnVzIChIUFYpIHZhY2NpbmF0aW9uIGluY3JlYXNlcyBpbiBsaW5lIHdpdGggdGhlIFdITyBHbG9iYWwgU3RyYXRlZ3kgOTDigJM3MOKAkzkwIGVsaW1pbmF0aW9uIHRhcmdldHMuCiAqIC0gbWV0aG9kOiBUaGUgbnVtYmVyIGlzIGdlbmVyYXRlZCBmcm9tIHByb2dyYW1tYXRpYyBkYXRhIGZyb20gSElWIG9yIGNlcnZpY2FsIGNhbmNlciBwcm9ncmFtbWVzLCBvciBmcm9tIGEgbmF0aW9uYWwgY2FuY2VyIHJlZ2lzdHJ5LCBpZiBISVYgc3RhdHVzIGlzIHJlY29yZGVkIHRoZXJlLgogKiAKICogU3VnZ2VzdGVkIFNjb3JpbmcgTWV0aG9kOiBwcm9wb3J0aW9uIHwgaHR0cDovL2hsNy5vcmcvZmhpci91cy9jcWZtZWFzdXJlcy9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb3BvcnRpb24tbWVhc3VyZS1jcWZtCiAqLwoKbGlicmFyeSBISVZJTkQ5NUxvZ2ljPC9hOnM+CiAgICAgIDwvYTpzPgogICA8L2Fubm90YXRpb24+CiAgIDxpZGVudGlmaWVyIGlkPSJISVZJTkQ5NUxvZ2ljIiBzeXN0ZW09Imh0dHA6Ly9zbWFydC53aG8uaW50L2hpdiIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9IjY0OjEtNjQ6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEiPgogICAgICAgICAgICAgICA8YTpzPi8vIEluY2x1ZGVkIExpYnJhcmllcwp1c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMiIgbG9jYXRvcj0iNjY6MS02Njo0NCIgbG9jYWxJZGVudGlmaWVyPSJISUMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2hpdi9ISVZDb21tb24iIHZlcnNpb249IjAuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5ISVZDb21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzAuMC4xJyBjYWxsZWQgSElDPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjY3OjEtNjc6MzUiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9Imh0dHA6Ly9obDcub3JnL2ZoaXIvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMyI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9IjY5OjEtNjk6MjkiIGxvY2FsSWRlbnRpZmllcj0iV0NvbSIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaGl2L1dIT0NvbW1vbiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0NvbTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPHBhcmFtZXRlcnM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjcyOjEtNzI6ODgiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgPGE6cz4vLyBJbmRpY2F0b3IgRGVmaW5pdGlvbgpwYXJhbWV0ZXIgJnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGVmYXVsdCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1Ij5JbnRlcnZhbFtAMjAyMy0wMS0wMSwgQDIwMjMtMDEtMzBdPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSI3IiBsb2NhdG9yPSI3Mjo1NS03Mjo4OCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjcyOjY0LTcyOjc0IiB4c2k6dHlwZT0iRGF0ZSI+CiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSI2IiBsb2NhdG9yPSI3Mjo3Ny03Mjo4NyIgeHNpOnR5cGU9IkRhdGUiPgogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMjMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIzMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICA8L2RlZmF1bHQ+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjkiIGxvY2F0b3I9IjcyOjMyLTcyOjQ1IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSI4IiBsb2NhdG9yPSI3Mjo0MS03Mjo0NCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2F0b3I9Ijc0OjEtNzQ6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNzQ6MS03NDoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzQ6MS03NDoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyIiBsb2NhdG9yPSI4MToxLTgyOjYiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyIj4KICAgICAgICAgICAgICAgPGE6cyByPSIxMSI+LyogUG9wdWxhdGlvbnMgKi8KCi8qCiAqSW5pdGlhbCBQb3B1bGF0aW9uCiAqLwoKZGVmaW5lICZxdW90O0luaXRpYWwgUG9wdWxhdGlvbiZxdW90OzoKICB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExIiBsb2NhdG9yPSI4MjozLTgyOjYiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQiIGxvY2F0b3I9IjkxOjEtOTI6NiIgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzIj4vKioKICogTnVtZXJhdG9yCiAqIAogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2Ygd29tZW4gbGl2aW5nIHdpdGggSElWIHdobyByZWNlaXZlZCB0cmVhdG1lbnQgYWZ0ZXIgYmVpbmcgZGlhZ25vc2VkIHdpdGggaW52YXNpdmUgY2VydmljYWwgY2FuY2VyCiAqIENhbGN1bGF0aW9uOiBDT1VOVCBvZiB3b21lbiB3aXRoICZxdW90O0hJViBzdGF0dXMmcXVvdDs9J0hJVi1wb3NpdGl2ZScgQU5EICZxdW90O0NlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMmcXVvdDs9J0ludmFzaXZlIGNlcnZpY2FsIGNhbmNlcicgZm9yIGEgJnF1b3Q7RGF0ZSBvZiBkaWFnbm9zaXMgb2YgY2VydmljYWwgcHJlY2FuY2VyIGxlc2lvbnMgb3IgaW52YXNpdmUgY2VydmljYWwgY2FuY2VyJnF1b3Q7IHdpdGhpbiB0aGUgcmVwb3J0aW5nIHBlcmlvZCBBTkQgJnF1b3Q7SW52YXNpdmUgY2VydmljYWwgY2FuY2VyIHRyZWF0bWVudCBtZXRob2QmcXVvdDsgaXMgTk9UIE5VTEwKICovCgpkZWZpbmUgJnF1b3Q7TnVtZXJhdG9yJnF1b3Q7OgogIHRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTMiIGxvY2F0b3I9IjkyOjMtOTI6NiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNiIgbG9jYXRvcj0iMTAyOjEtMTAzOjYiIG5hbWU9IkRlbm9taW5hdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTYiPgogICAgICAgICAgICAgICA8YTpzIHI9IjE1Ij4vKioKICogRGVub21pbmF0b3IKICoKICogRGVmaW5pdGlvbjogTnVtYmVyIG9mIHdvbWVuIGxpdmluZyB3aXRoIEhJViB3aG8gd2VyZSBkaWFnbm9zZWQgd2l0aCBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIKICogQ2FsY3VsYXRpb246IENPVU5UIG9mIHdvbWVuIHdpdGggJnF1b3Q7SElWIHN0YXR1cyZxdW90Oz0nSElWLXBvc2l0aXZlJyBBTkQgJnF1b3Q7Q2VydmljYWwgY2FuY2VyIGRpYWdub3NpcyZxdW90Oz0nSW52YXNpdmUgY2VydmljYWwgY2FuY2VyJyBmb3IgYSAmcXVvdDtEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXImcXVvdDsgd2l0aGluIHRoZSByZXBvcnRpbmcgcGVyaW9kCiAqLwoKZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yJnF1b3Q7OgogIHRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjEwMzozLTEwMzo2IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K"
    }
  ]
}