Draft dQM CMS Content Implementation Guide
2025.1.0 - CI Build

Draft dQM CMS Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2025.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/dqm-content-cms-2025/ and changes regularly. See the Directory of published versions

: NHSNGlycemicControlHypoglycemiaInitialPopulation - XML Representation

Active as of 2025-08-21

Raw xml | Download


<Library xmlns="http://hl7.org/fhir">
  <id value="NHSNGlycemicControlHypoglycemiaInitialPopulation"/>
  <meta>
    <profile
             value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"/>
    <profile
             value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary"/>
    <profile
             value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"/>
    <profile
             value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-executablelibrary"/>
    <profile
             value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"/>
    <profile
             value="http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library"/>
    <profile
             value="http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library"/>
  </meta>
  <language value="en"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <table class="narrative-table">
    <tbody>
<tr>


<th colspan="2" scope="row" class="row-header"><a name="metadata"> </a>Metadata</th>


</tr>

<tr>


<th scope="row" class="row-header">Title</th>



<td class="content-container">NHSNGlycemicControlHypoglycemiaInitialPopulation</td>


</tr>





<tr>


<th scope="row" class="row-header">Version</th>



<td class="content-container">1.1.000</td>


</tr>







  
<tr>


<th scope="row" class="row-header">Identifier</th>



<td class="content-container">NHSNGlycemicControlHypoglycemiaInitialPopulation</td>


</tr>






















<tr>


<th scope="row" class="row-header">Topic</th>



<td class="content-container">FHIR
</td>


</tr>

<tr>


<th scope="row" class="row-header">Topic</th>



<td class="content-container">CQL
</td>


</tr>








<tr>


<th scope="row" class="row-header">Steward (Publisher)</th>



<td class="content-container">Centers for Disease Control and Prevention (CDC)</td>


</tr>







<tr>


<th scope="row" class="row-header">Description</th>



<td class="content-container"><div><p>NHSNGlycemicControlHypoglycemiaInitialPopulation</p>
</div></td>


</tr>









<tr>


<th scope="row" class="row-header">Type</th>



<td class="content-container">
    <a href="http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html">http://terminology.hl7.org/CodeSystem/library-type</a>#logic-library


</td>


</tr>













<tr>


<th colspan="2" scope="row" class="row-header"><a name="parameters"> </a>Parameters</th>


</tr>


<tr>


<th scope="row" class="row-header">Parameter</th>



<td class="content-container">None</td>


</tr>








  <tr>


<th colspan="2" scope="row" class="row-header">Library Content</th>


</tr>
  
    
    <tr>
      <th scope="row" class="row-header">CQL Content</th>
      <td>
        <a name="cql-content"> </a>
        <pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
NOTE: For use by March 2026 US Realm Connectathon participants for internal use only. Not for use or distribution in commercial products.
*/
library NHSNGlycemicControlHypoglycemiaInitialPopulation version '1.1.000'

using USQualityCore version '0.1.0-cibuild'
using USCore version '6.1.0-derived'
using FHIR version '4.0.1'

include hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers
include hl7.fhir.uv.cql.FHIRCommon version '2.0.0' called FHIRCommon
include hl7.fhir.us.cql.USCoreCommon version '2.0.0-ballot' called USCoreCommon
include hl7.fhir.us.cql.USCoreElements version '2.0.0-ballot' called USCoreElements

include USQualityCoreCommon version '0.1.0-cibuild' called USQualityCoreCommon
include SupplementalDataElements version '6.1.000' called SDE
include CQMCommon version '5.1.000' called CQMCommon

codesystem &quot;ActCode&quot;: 'http://terminology.hl7.org/CodeSystem/v3-ActCode'
codesystem &quot;HSLOC&quot;: 'https://www.cdc.gov/nhsn/cdaportal/terminology/codesystem/hsloc.html'
codesystem &quot;LOINC&quot;: 'http://loinc.org'
codesystem &quot;RxNorm&quot;: 'https://www.nlm.nih.gov/research/umls/rxnorm/index.html'
codesystem &quot;SNOMEDCT&quot;: 'http://snomed.info/sct'

valueset &quot;Blood Glucose Laboratory and Point of Care Tests&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38'
valueset &quot;Diabetes Medications&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.58'
valueset &quot;Encounter Inpatient&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'
valueset &quot;Inpatient, Emergency, and Observation Locations&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.265'
valueset &quot;NHSN Inpatient Encounter Class Codes&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.274'

parameter &quot;Measurement Period&quot; Interval&lt;DateTime&gt;
  default Interval[@2026-01-01T00:00:00.000Z, @2027-01-01T00:00:00.000Z)

context Patient

// Initial Population


define &quot;Initial Population&quot;:
  ( &quot;Inpatient Encounters During Measurement Period&quot;
    union &quot;Encounters with Patient Hospital Locations&quot; ) InpatientEncounters
    with &quot;Antidiabetic Drugs Administered or Ordered&quot; ADD
      such that Coalesce(start of ADD.effective.toInterval(), ADD.authoredOn) during InpatientEncounters.&quot;hospitalizationWithObservation&quot; ( )
    where ( InpatientEncounters.status = 'finished'
        or InpatientEncounters.status = 'in-progress'
        or InpatientEncounters.status = 'triaged'
        or InpatientEncounters.status = 'onleave'
        or InpatientEncounters.status = 'entered-in-error'
    )

define &quot;Inpatient Encounters During Measurement Period&quot;:
  [Encounter: &quot;Encounter Inpatient&quot;] InpatientEncounters
    where InpatientEncounters.period ends during day of &quot;Measurement Period&quot;
      and ( InpatientEncounters.class ~ USQualityCoreCommon.&quot;inpatient non-acute&quot;
          or InpatientEncounters.class ~ USQualityCoreCommon.&quot;inpatient non-acute&quot;
          or InpatientEncounters.class ~ USQualityCoreCommon.&quot;short stay&quot;
          or InpatientEncounters.class ~ USQualityCoreCommon.&quot;inpatient acute&quot;
          or InpatientEncounters.class ~ USQualityCoreCommon.&quot;inpatient encounter&quot;
      )

define &quot;Encounters with Patient Hospital Locations&quot;:
  &quot;Inpatient Encounters During Measurement Period&quot; InpatientEncounter
    where exists ( InpatientEncounter.location HospitalLocation
        where HospitalLocation.location.getLocation ( ).type in &quot;Inpatient, Emergency, and Observation Locations&quot;
          and HospitalLocation.period during day of InpatientEncounter.period
    )

define &quot;Antidiabetic Drugs Administered or Ordered&quot;:
  ( &quot;MedicationRequests&quot;
    union &quot;MedicationAdministrations&quot; ) MedReqOrAdmin
    where MedReqOrAdmin.getMedicationCode() in &quot;Diabetes Medications&quot;

//Supplemental Data Elements


define &quot;SDE Blood Glucose Observation&quot;:
  ( [&quot;LaboratoryResultObservation&quot;: &quot;Blood Glucose Laboratory and Point of Care Tests&quot;] GlucoseTest
      where exists ( &quot;Initial Population&quot; InitialPopulation
          where start of GlucoseTest.effective.toInterval ( ) during day of InitialPopulation.period
            or GlucoseTest.issued during day of InitialPopulation.period
      )
      return { GlucoseTest.id, GlucoseTest.extension, GlucoseTest.text, GlucoseTest.referenceRange, GlucoseTest.component, GlucoseTest.basedOn, GlucoseTest.partOf, GlucoseTest.category, GlucoseTest.status, GlucoseTest.subject, GlucoseTest.focus, GlucoseTest.encounter, GlucoseTest.effective, GlucoseTest.issued, GlucoseTest.performer, GlucoseTest.value, GlucoseTest.dataAbsentReason, GlucoseTest.interpretation, GlucoseTest.note, GlucoseTest.bodySite, GlucoseTest.method, GlucoseTest.specimen, GlucoseTest.device, GlucoseTest.hasMember, GlucoseTest.derivedFrom }
  )

define &quot;SDE Chief Complaint&quot;:
  &quot;Initial Population&quot; IP
    where exists ( IP.diagnosis InitialPopulationDiagnosis
        where InitialPopulationDiagnosis.use ~ FHIRCommon.&quot;CC&quot;
    )
    return { IP.id, IP.meta, IP.identifier, IP.status, IP.statusHistory, IP.class, IP.classHistory, IP.type, IP.serviceType, IP.priority, IP.subject, IP.period, IP.length, IP.reasonCode, IP.reasonReference, IP.diagnosis, IP.account, IP.hospitalization, IP.location, IP.partOf }

define &quot;Conditions&quot;:
  [&quot;ConditionProblemsHealthConcerns&quot;]
    union [&quot;ConditionEncounterDiagnosis&quot;]

define &quot;SDE Condition&quot;:
  [&quot;ConditionProblemsHealthConcerns&quot;] Diagnosis
    where exists ( &quot;Initial Population&quot; IP
        where Diagnosis.prevalenceInterval ( ) overlaps day of IP.period
    )
    return { Diagnosis.id, Diagnosis.meta, Diagnosis.clinicalStatus, Diagnosis.verificationStatus, Diagnosis.category, Diagnosis.severity, Diagnosis.code, Diagnosis.bodySite, Diagnosis.subject, Diagnosis.encounter.reference.getId(), Diagnosis.onset, Diagnosis.stage, Diagnosis.evidence, Diagnosis.note }

define &quot;SDE Coverage&quot;:
  [Coverage] Coverages
    where exists ( &quot;Initial Population&quot; IP
        where Coverages.period starts before or on day of IP.period
          and end of Coverages.period on or after day of end of IP.period
    )
    return { Coverages.id, Coverages.meta, Coverages.status, Coverages.type, Coverages.policyHolder, Coverages.subscriber, Coverages.subscriberId, Coverages.beneficiary, Coverages.dependent, Coverages.relationship, Coverages.period, Coverages.payor, Coverages.class, Coverages.order, Coverages.network, Coverages.subrogation, Coverages.contract }

define &quot;Encounters&quot;:
  [Encounter]

define &quot;SDE Encounter Locations&quot;:
  &quot;Initial Population&quot; IP
    where exists ( IP.location InitialPopulationLocation
        let types: ( InitialPopulationLocation.location ).getLocation ( ).type
        where exists ( types type
            where type in &quot;Inpatient, Emergency, and Observation Locations&quot;
        )
          and InitialPopulationLocation.period during IP.period
    )
    return { IP.id, IP.meta, IP.identifier, IP.status, IP.statusHistory, IP.class, IP.classHistory, IP.type, IP.serviceType, IP.priority, IP.subject, IP.period, IP.length, IP.reasonCode, IP.reasonReference, IP.diagnosis, IP.account, IP.hospitalization, IP.location, IP.partOf }

define &quot;Get Locations from Initial Population&quot;:
  flatten ( &quot;Initial Population&quot; IP
      let locationElements: IP.location
      return locationElements LE
        let locationReference: LE.location
        return ( locationReference.getLocation ( ) )
  )

define &quot;SDE Location&quot;:
  &quot;Get Locations from Initial Population&quot; Locations
    where exists &quot;Initial Population&quot;
      and Locations is not null
    return { Locations.id, Locations.meta, Locations.extension, Locations.status, Locations.operationalStatus, Locations.name, Locations.alias, Locations.description, Locations.mode, Locations.type, Locations.telecom, Locations.address, Locations.physicalType, Locations.position, Locations.managingOrganization, Locations.partOf, Locations.hoursOfOperation, Locations.availabilityExceptions, Locations.endpoint }

define &quot;SDE Initial Population Encounters&quot;:
  &quot;Initial Population&quot; IP
    return { IP.id, IP.meta, IP.identifier, IP.status, IP.statusHistory, IP.class, IP.classHistory, IP.type, IP.serviceType, IP.priority, IP.subject, IP.period, IP.length, IP.reasonCode, IP.reasonReference, IP.diagnosis, IP.account, IP.hospitalization, IP.location, IP.partOf }

define &quot;SDE Medication&quot;:
  ( &quot;MedicationRequests&quot;
    union &quot;MedicationAdministrations&quot; ) MedReqOrAdmin
    let medication: GetMedication(MedReqOrAdmin.medication as Reference)
    where medication is not null
      and exists ( &quot;Initial Population&quot; IP
          where Coalesce(MedReqOrAdmin.effective.toInterval(), MedReqOrAdmin.authoredOn.toInterval()) overlaps IP.&quot;hospitalizationWithObservation&quot; ( )
      )
    return { medication.id, medication.meta, medication.code, medication.status, medication.manufacturer, medication.form, medication.amount, medication.ingredient, medication.batch }

define function &quot;GetMedication&quot;(reference Reference):
  singleton from ( [Medication] Medication
      where reference.references ( Medication )
  )

define &quot;MedicationAdministrations&quot;:
  [MedicationAdministration]

define &quot;SDE Medication Administration&quot;:
  &quot;MedicationAdministrations&quot; MedAdministrations
    where exists ( &quot;Initial Population&quot; InitialPopulation
        where MedAdministrations.effective.toInterval ( ) overlaps InitialPopulation.&quot;hospitalizationWithObservation&quot; ( )
    )
    return { MedAdministrations.id, MedAdministrations.meta, MedAdministrations.instantiates, MedAdministrations.partOf, MedAdministrations.status, MedAdministrations.statusReason, MedAdministrations.category, MedAdministrations.medication, MedAdministrations.subject, MedAdministrations.context, MedAdministrations.supportingInformation, MedAdministrations.effective, MedAdministrations.performer, MedAdministrations.reasonCode, MedAdministrations.reasonReference, MedAdministrations.request, MedAdministrations.device, MedAdministrations.note, MedAdministrations.dosage }

define &quot;MedicationRequests&quot;:
  [MedicationRequest]

define &quot;SDE Medication Request&quot;:
  &quot;MedicationRequests&quot; MedRequests
    where exists ( &quot;Initial Population&quot; InitialPopulation
        where MedRequests.authoredOn during InitialPopulation.&quot;hospitalizationWithObservation&quot; ( )
    )
    return { MedRequests.id, MedRequests.meta, MedRequests.status, MedRequests.statusReason, MedRequests.intent, MedRequests.category, MedRequests.priority, MedRequests.doNotPerform, MedRequests.reported, MedRequests.medication, MedRequests.subject, MedRequests.encounter, MedRequests.authoredOn, MedRequests.requester, MedRequests.recorder, MedRequests.reasonCode, MedRequests.reasonReference, MedRequests.instantiatesCanonical, MedRequests.instantiatesUri, MedRequests.courseOfTherapyType, MedRequests.dosageInstruction }

define &quot;SDE Minimal Patient&quot;:
  [Patient] MinPt
    where exists &quot;Initial Population&quot;
    return { MinPt.id, MinPt.meta, MinPt.extension, MinPt.identifier, MinPt.active, MinPt.name, MinPt.telecom, MinPt.gender, MinPt.birthDate, MinPt.deceased, MinPt.address, MinPt.maritalStatus, MinPt.multipleBirth, MinPt.photo, MinPt.contact, MinPt.communication, MinPt.generalPractitioner, MinPt.managingOrganization, MinPt.link }

define &quot;SDE Service Request&quot;:
  [ServiceRequest] ServiceRequests
    where exists ( &quot;Initial Population&quot; InitialPopulation
        where ServiceRequests.authoredOn during InitialPopulation.period
    )
    return { ServiceRequests.id, ServiceRequests.meta, ServiceRequests.instantiatesCanonical, ServiceRequests.instantiatesUri, ServiceRequests.basedOn, ServiceRequests.replaces, ServiceRequests.requisition, ServiceRequests.status, ServiceRequests.intent, ServiceRequests.category, ServiceRequests.priority, ServiceRequests.doNotPerform, ServiceRequests.code, ServiceRequests.orderDetail, ServiceRequests.quantity, ServiceRequests.subject, ServiceRequests.encounter, ServiceRequests.occurrence, ServiceRequests.asNeeded, ServiceRequests.authoredOn, ServiceRequests.requester, ServiceRequests.performerType, ServiceRequests.performer, ServiceRequests.locationCode, ServiceRequests.reasonCode, ServiceRequests.reasonReference, ServiceRequests.insurance, ServiceRequests.bodySite, ServiceRequests.note, ServiceRequests.patientInstruction }

define &quot;SDE Ethnicity&quot;:
  SDE.&quot;SDE Ethnicity&quot;

define &quot;SDE Payer&quot;:
  SDE.&quot;SDE Payer&quot;

define &quot;SDE Race&quot;:
  SDE.&quot;SDE Race&quot;

define &quot;SDE Sex&quot;:
  SDE.&quot;SDE Sex&quot;</code></pre>
      </td>
    </tr>
    
  



<tr>
  <th colspan="2" scope="row" class="row-header">Generated using version 0.5.6 of the sample-content-ig Liquid templates</th>
</tr>

    </tbody>
  </table>
</div>
  </text>
  <extension
             url="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem">
    <valueReference>
      <reference value="Device/cqf-tooling"/>
    </valueReference>
  </extension>
  <url
       value="https://madie.cms.gov/Library/NHSNGlycemicControlHypoglycemiaInitialPopulation"/>
  <identifier>
    <use value="official"/>
    <system value="https://madie.cms.gov/login"/>
    <value value="NHSNGlycemicControlHypoglycemiaInitialPopulation"/>
  </identifier>
  <version value="1.1.000"/>
  <name value="NHSNGlycemicControlHypoglycemiaInitialPopulation"/>
  <title value="NHSNGlycemicControlHypoglycemiaInitialPopulation"/>
  <status value="active"/>
  <experimental value="false"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/>
      <code value="logic-library"/>
    </coding>
  </type>
  <date value="2025-08-21T20:27:13+00:00"/>
  <publisher value="Centers for Disease Control and Prevention (CDC)"/>
  <description value="NHSNGlycemicControlHypoglycemiaInitialPopulation"/>
  <topic>
    <text value="FHIR"/>
  </topic>
  <topic>
    <text value="CQL"/>
  </topic>
  <content>
    <contentType value="text/cql"/>
    <data
          value="LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBOSFNOR2x5Y2VtaWNDb250cm9sSHlwb2dseWNlbWlhSW5pdGlhbFBvcHVsYXRpb24gdmVyc2lvbiAnMS4xLjAwMCcKCnVzaW5nIFVTUXVhbGl0eUNvcmUgdmVyc2lvbiAnMC4xLjAtY2lidWlsZCcKdXNpbmcgVVNDb3JlIHZlcnNpb24gJzYuMS4wLWRlcml2ZWQnCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIGhsNy5maGlyLnV2LmNxbC5GSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJDb21tb24gdmVyc2lvbiAnMi4wLjAnIGNhbGxlZCBGSElSQ29tbW9uCmluY2x1ZGUgaGw3LmZoaXIudXMuY3FsLlVTQ29yZUNvbW1vbiB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBVU0NvcmVDb21tb24KaW5jbHVkZSBobDcuZmhpci51cy5jcWwuVVNDb3JlRWxlbWVudHMgdmVyc2lvbiAnMi4wLjAtYmFsbG90JyBjYWxsZWQgVVNDb3JlRWxlbWVudHMKCmluY2x1ZGUgVVNRdWFsaXR5Q29yZUNvbW1vbiB2ZXJzaW9uICcwLjEuMC1jaWJ1aWxkJyBjYWxsZWQgVVNRdWFsaXR5Q29yZUNvbW1vbgppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50cyB2ZXJzaW9uICc2LjEuMDAwJyBjYWxsZWQgU0RFCmluY2x1ZGUgQ1FNQ29tbW9uIHZlcnNpb24gJzUuMS4wMDAnIGNhbGxlZCBDUU1Db21tb24KCmNvZGVzeXN0ZW0gIkFjdENvZGUiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS92My1BY3RDb2RlJwpjb2Rlc3lzdGVtICJIU0xPQyI6ICdodHRwczovL3d3dy5jZGMuZ292L25oc24vY2RhcG9ydGFsL3Rlcm1pbm9sb2d5L2NvZGVzeXN0ZW0vaHNsb2MuaHRtbCcKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiUnhOb3JtIjogJ2h0dHBzOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtL2luZGV4Lmh0bWwnCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QnCgp2YWx1ZXNldCAiQmxvb2QgR2x1Y29zZSBMYWJvcmF0b3J5IGFuZCBQb2ludCBvZiBDYXJlIFRlc3RzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTE5MC4zOCcKdmFsdWVzZXQgIkRpYWJldGVzIE1lZGljYXRpb25zIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTE5MC41OCcKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiSW5wYXRpZW50LCBFbWVyZ2VuY3ksIGFuZCBPYnNlcnZhdGlvbiBMb2NhdGlvbnMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ2LjI2NScKdmFsdWVzZXQgIk5IU04gSW5wYXRpZW50IEVuY291bnRlciBDbGFzcyBDb2RlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEwNDYuMjc0JwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMjYtMDEtMDFUMDA6MDA6MDAuMDAwWiwgQDIwMjctMDEtMDFUMDA6MDA6MDAuMDAwWikKCmNvbnRleHQgUGF0aWVudAoKLy8gSW5pdGlhbCBQb3B1bGF0aW9uCgoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogICggIklucGF0aWVudCBFbmNvdW50ZXJzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiCiAgICB1bmlvbiAiRW5jb3VudGVycyB3aXRoIFBhdGllbnQgSG9zcGl0YWwgTG9jYXRpb25zIiApIElucGF0aWVudEVuY291bnRlcnMKICAgIHdpdGggIkFudGlkaWFiZXRpYyBEcnVncyBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgQURECiAgICAgIHN1Y2ggdGhhdCBDb2FsZXNjZShzdGFydCBvZiBBREQuZWZmZWN0aXZlLnRvSW50ZXJ2YWwoKSwgQURELmF1dGhvcmVkT24pIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXJzLiJob3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iICggKQogICAgd2hlcmUgKCBJbnBhdGllbnRFbmNvdW50ZXJzLnN0YXR1cyA9ICdmaW5pc2hlZCcKICAgICAgICBvciBJbnBhdGllbnRFbmNvdW50ZXJzLnN0YXR1cyA9ICdpbi1wcm9ncmVzcycKICAgICAgICBvciBJbnBhdGllbnRFbmNvdW50ZXJzLnN0YXR1cyA9ICd0cmlhZ2VkJwogICAgICAgIG9yIElucGF0aWVudEVuY291bnRlcnMuc3RhdHVzID0gJ29ubGVhdmUnCiAgICAgICAgb3IgSW5wYXRpZW50RW5jb3VudGVycy5zdGF0dXMgPSAnZW50ZXJlZC1pbi1lcnJvcicKICAgICkKCmRlZmluZSAiSW5wYXRpZW50IEVuY291bnRlcnMgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCI6CiAgW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBJbnBhdGllbnRFbmNvdW50ZXJzCiAgICB3aGVyZSBJbnBhdGllbnRFbmNvdW50ZXJzLnBlcmlvZCBlbmRzIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgYW5kICggSW5wYXRpZW50RW5jb3VudGVycy5jbGFzcyB+IFVTUXVhbGl0eUNvcmVDb21tb24uImlucGF0aWVudCBub24tYWN1dGUiCiAgICAgICAgICBvciBJbnBhdGllbnRFbmNvdW50ZXJzLmNsYXNzIH4gVVNRdWFsaXR5Q29yZUNvbW1vbi4iaW5wYXRpZW50IG5vbi1hY3V0ZSIKICAgICAgICAgIG9yIElucGF0aWVudEVuY291bnRlcnMuY2xhc3MgfiBVU1F1YWxpdHlDb3JlQ29tbW9uLiJzaG9ydCBzdGF5IgogICAgICAgICAgb3IgSW5wYXRpZW50RW5jb3VudGVycy5jbGFzcyB+IFVTUXVhbGl0eUNvcmVDb21tb24uImlucGF0aWVudCBhY3V0ZSIKICAgICAgICAgIG9yIElucGF0aWVudEVuY291bnRlcnMuY2xhc3MgfiBVU1F1YWxpdHlDb3JlQ29tbW9uLiJpbnBhdGllbnQgZW5jb3VudGVyIgogICAgICApCgpkZWZpbmUgIkVuY291bnRlcnMgd2l0aCBQYXRpZW50IEhvc3BpdGFsIExvY2F0aW9ucyI6CiAgIklucGF0aWVudCBFbmNvdW50ZXJzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIElucGF0aWVudEVuY291bnRlcgogICAgd2hlcmUgZXhpc3RzICggSW5wYXRpZW50RW5jb3VudGVyLmxvY2F0aW9uIEhvc3BpdGFsTG9jYXRpb24KICAgICAgICB3aGVyZSBIb3NwaXRhbExvY2F0aW9uLmxvY2F0aW9uLmdldExvY2F0aW9uICggKS50eXBlIGluICJJbnBhdGllbnQsIEVtZXJnZW5jeSwgYW5kIE9ic2VydmF0aW9uIExvY2F0aW9ucyIKICAgICAgICAgIGFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgZGF5IG9mIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkKCmRlZmluZSAiQW50aWRpYWJldGljIERydWdzIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIjoKICAoICJNZWRpY2F0aW9uUmVxdWVzdHMiCiAgICB1bmlvbiAiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucyIgKSBNZWRSZXFPckFkbWluCiAgICB3aGVyZSBNZWRSZXFPckFkbWluLmdldE1lZGljYXRpb25Db2RlKCkgaW4gIkRpYWJldGVzIE1lZGljYXRpb25zIgoKLy9TdXBwbGVtZW50YWwgRGF0YSBFbGVtZW50cwoKCmRlZmluZSAiU0RFIEJsb29kIEdsdWNvc2UgT2JzZXJ2YXRpb24iOgogICggWyJMYWJvcmF0b3J5UmVzdWx0T2JzZXJ2YXRpb24iOiAiQmxvb2QgR2x1Y29zZSBMYWJvcmF0b3J5IGFuZCBQb2ludCBvZiBDYXJlIFRlc3RzIl0gR2x1Y29zZVRlc3QKICAgICAgd2hlcmUgZXhpc3RzICggIkluaXRpYWwgUG9wdWxhdGlvbiIgSW5pdGlhbFBvcHVsYXRpb24KICAgICAgICAgIHdoZXJlIHN0YXJ0IG9mIEdsdWNvc2VUZXN0LmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBkdXJpbmcgZGF5IG9mIEluaXRpYWxQb3B1bGF0aW9uLnBlcmlvZAogICAgICAgICAgICBvciBHbHVjb3NlVGVzdC5pc3N1ZWQgZHVyaW5nIGRheSBvZiBJbml0aWFsUG9wdWxhdGlvbi5wZXJpb2QKICAgICAgKQogICAgICByZXR1cm4geyBHbHVjb3NlVGVzdC5pZCwgR2x1Y29zZVRlc3QuZXh0ZW5zaW9uLCBHbHVjb3NlVGVzdC50ZXh0LCBHbHVjb3NlVGVzdC5yZWZlcmVuY2VSYW5nZSwgR2x1Y29zZVRlc3QuY29tcG9uZW50LCBHbHVjb3NlVGVzdC5iYXNlZE9uLCBHbHVjb3NlVGVzdC5wYXJ0T2YsIEdsdWNvc2VUZXN0LmNhdGVnb3J5LCBHbHVjb3NlVGVzdC5zdGF0dXMsIEdsdWNvc2VUZXN0LnN1YmplY3QsIEdsdWNvc2VUZXN0LmZvY3VzLCBHbHVjb3NlVGVzdC5lbmNvdW50ZXIsIEdsdWNvc2VUZXN0LmVmZmVjdGl2ZSwgR2x1Y29zZVRlc3QuaXNzdWVkLCBHbHVjb3NlVGVzdC5wZXJmb3JtZXIsIEdsdWNvc2VUZXN0LnZhbHVlLCBHbHVjb3NlVGVzdC5kYXRhQWJzZW50UmVhc29uLCBHbHVjb3NlVGVzdC5pbnRlcnByZXRhdGlvbiwgR2x1Y29zZVRlc3Qubm90ZSwgR2x1Y29zZVRlc3QuYm9keVNpdGUsIEdsdWNvc2VUZXN0Lm1ldGhvZCwgR2x1Y29zZVRlc3Quc3BlY2ltZW4sIEdsdWNvc2VUZXN0LmRldmljZSwgR2x1Y29zZVRlc3QuaGFzTWVtYmVyLCBHbHVjb3NlVGVzdC5kZXJpdmVkRnJvbSB9CiAgKQoKZGVmaW5lICJTREUgQ2hpZWYgQ29tcGxhaW50IjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgZXhpc3RzICggSVAuZGlhZ25vc2lzIEluaXRpYWxQb3B1bGF0aW9uRGlhZ25vc2lzCiAgICAgICAgd2hlcmUgSW5pdGlhbFBvcHVsYXRpb25EaWFnbm9zaXMudXNlIH4gRkhJUkNvbW1vbi4iQ0MiCiAgICApCiAgICByZXR1cm4geyBJUC5pZCwgSVAubWV0YSwgSVAuaWRlbnRpZmllciwgSVAuc3RhdHVzLCBJUC5zdGF0dXNIaXN0b3J5LCBJUC5jbGFzcywgSVAuY2xhc3NIaXN0b3J5LCBJUC50eXBlLCBJUC5zZXJ2aWNlVHlwZSwgSVAucHJpb3JpdHksIElQLnN1YmplY3QsIElQLnBlcmlvZCwgSVAubGVuZ3RoLCBJUC5yZWFzb25Db2RlLCBJUC5yZWFzb25SZWZlcmVuY2UsIElQLmRpYWdub3NpcywgSVAuYWNjb3VudCwgSVAuaG9zcGl0YWxpemF0aW9uLCBJUC5sb2NhdGlvbiwgSVAucGFydE9mIH0KCmRlZmluZSAiQ29uZGl0aW9ucyI6CiAgWyJDb25kaXRpb25Qcm9ibGVtc0hlYWx0aENvbmNlcm5zIl0KICAgIHVuaW9uIFsiQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzIl0KCmRlZmluZSAiU0RFIENvbmRpdGlvbiI6CiAgWyJDb25kaXRpb25Qcm9ibGVtc0hlYWx0aENvbmNlcm5zIl0gRGlhZ25vc2lzCiAgICB3aGVyZSBleGlzdHMgKCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgICAgIHdoZXJlIERpYWdub3Npcy5wcmV2YWxlbmNlSW50ZXJ2YWwgKCApIG92ZXJsYXBzIGRheSBvZiBJUC5wZXJpb2QKICAgICkKICAgIHJldHVybiB7IERpYWdub3Npcy5pZCwgRGlhZ25vc2lzLm1ldGEsIERpYWdub3Npcy5jbGluaWNhbFN0YXR1cywgRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cywgRGlhZ25vc2lzLmNhdGVnb3J5LCBEaWFnbm9zaXMuc2V2ZXJpdHksIERpYWdub3Npcy5jb2RlLCBEaWFnbm9zaXMuYm9keVNpdGUsIERpYWdub3Npcy5zdWJqZWN0LCBEaWFnbm9zaXMuZW5jb3VudGVyLnJlZmVyZW5jZS5nZXRJZCgpLCBEaWFnbm9zaXMub25zZXQsIERpYWdub3Npcy5zdGFnZSwgRGlhZ25vc2lzLmV2aWRlbmNlLCBEaWFnbm9zaXMubm90ZSB9CgpkZWZpbmUgIlNERSBDb3ZlcmFnZSI6CiAgW0NvdmVyYWdlXSBDb3ZlcmFnZXMKICAgIHdoZXJlIGV4aXN0cyAoICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgICAgICAgd2hlcmUgQ292ZXJhZ2VzLnBlcmlvZCBzdGFydHMgYmVmb3JlIG9yIG9uIGRheSBvZiBJUC5wZXJpb2QKICAgICAgICAgIGFuZCBlbmQgb2YgQ292ZXJhZ2VzLnBlcmlvZCBvbiBvciBhZnRlciBkYXkgb2YgZW5kIG9mIElQLnBlcmlvZAogICAgKQogICAgcmV0dXJuIHsgQ292ZXJhZ2VzLmlkLCBDb3ZlcmFnZXMubWV0YSwgQ292ZXJhZ2VzLnN0YXR1cywgQ292ZXJhZ2VzLnR5cGUsIENvdmVyYWdlcy5wb2xpY3lIb2xkZXIsIENvdmVyYWdlcy5zdWJzY3JpYmVyLCBDb3ZlcmFnZXMuc3Vic2NyaWJlcklkLCBDb3ZlcmFnZXMuYmVuZWZpY2lhcnksIENvdmVyYWdlcy5kZXBlbmRlbnQsIENvdmVyYWdlcy5yZWxhdGlvbnNoaXAsIENvdmVyYWdlcy5wZXJpb2QsIENvdmVyYWdlcy5wYXlvciwgQ292ZXJhZ2VzLmNsYXNzLCBDb3ZlcmFnZXMub3JkZXIsIENvdmVyYWdlcy5uZXR3b3JrLCBDb3ZlcmFnZXMuc3Vicm9nYXRpb24sIENvdmVyYWdlcy5jb250cmFjdCB9CgpkZWZpbmUgIkVuY291bnRlcnMiOgogIFtFbmNvdW50ZXJdCgpkZWZpbmUgIlNERSBFbmNvdW50ZXIgTG9jYXRpb25zIjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgZXhpc3RzICggSVAubG9jYXRpb24gSW5pdGlhbFBvcHVsYXRpb25Mb2NhdGlvbgogICAgICAgIGxldCB0eXBlczogKCBJbml0aWFsUG9wdWxhdGlvbkxvY2F0aW9uLmxvY2F0aW9uICkuZ2V0TG9jYXRpb24gKCApLnR5cGUKICAgICAgICB3aGVyZSBleGlzdHMgKCB0eXBlcyB0eXBlCiAgICAgICAgICAgIHdoZXJlIHR5cGUgaW4gIklucGF0aWVudCwgRW1lcmdlbmN5LCBhbmQgT2JzZXJ2YXRpb24gTG9jYXRpb25zIgogICAgICAgICkKICAgICAgICAgIGFuZCBJbml0aWFsUG9wdWxhdGlvbkxvY2F0aW9uLnBlcmlvZCBkdXJpbmcgSVAucGVyaW9kCiAgICApCiAgICByZXR1cm4geyBJUC5pZCwgSVAubWV0YSwgSVAuaWRlbnRpZmllciwgSVAuc3RhdHVzLCBJUC5zdGF0dXNIaXN0b3J5LCBJUC5jbGFzcywgSVAuY2xhc3NIaXN0b3J5LCBJUC50eXBlLCBJUC5zZXJ2aWNlVHlwZSwgSVAucHJpb3JpdHksIElQLnN1YmplY3QsIElQLnBlcmlvZCwgSVAubGVuZ3RoLCBJUC5yZWFzb25Db2RlLCBJUC5yZWFzb25SZWZlcmVuY2UsIElQLmRpYWdub3NpcywgSVAuYWNjb3VudCwgSVAuaG9zcGl0YWxpemF0aW9uLCBJUC5sb2NhdGlvbiwgSVAucGFydE9mIH0KCmRlZmluZSAiR2V0IExvY2F0aW9ucyBmcm9tIEluaXRpYWwgUG9wdWxhdGlvbiI6CiAgZmxhdHRlbiAoICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgICAgIGxldCBsb2NhdGlvbkVsZW1lbnRzOiBJUC5sb2NhdGlvbgogICAgICByZXR1cm4gbG9jYXRpb25FbGVtZW50cyBMRQogICAgICAgIGxldCBsb2NhdGlvblJlZmVyZW5jZTogTEUubG9jYXRpb24KICAgICAgICByZXR1cm4gKCBsb2NhdGlvblJlZmVyZW5jZS5nZXRMb2NhdGlvbiAoICkgKQogICkKCmRlZmluZSAiU0RFIExvY2F0aW9uIjoKICAiR2V0IExvY2F0aW9ucyBmcm9tIEluaXRpYWwgUG9wdWxhdGlvbiIgTG9jYXRpb25zCiAgICB3aGVyZSBleGlzdHMgIkluaXRpYWwgUG9wdWxhdGlvbiIKICAgICAgYW5kIExvY2F0aW9ucyBpcyBub3QgbnVsbAogICAgcmV0dXJuIHsgTG9jYXRpb25zLmlkLCBMb2NhdGlvbnMubWV0YSwgTG9jYXRpb25zLmV4dGVuc2lvbiwgTG9jYXRpb25zLnN0YXR1cywgTG9jYXRpb25zLm9wZXJhdGlvbmFsU3RhdHVzLCBMb2NhdGlvbnMubmFtZSwgTG9jYXRpb25zLmFsaWFzLCBMb2NhdGlvbnMuZGVzY3JpcHRpb24sIExvY2F0aW9ucy5tb2RlLCBMb2NhdGlvbnMudHlwZSwgTG9jYXRpb25zLnRlbGVjb20sIExvY2F0aW9ucy5hZGRyZXNzLCBMb2NhdGlvbnMucGh5c2ljYWxUeXBlLCBMb2NhdGlvbnMucG9zaXRpb24sIExvY2F0aW9ucy5tYW5hZ2luZ09yZ2FuaXphdGlvbiwgTG9jYXRpb25zLnBhcnRPZiwgTG9jYXRpb25zLmhvdXJzT2ZPcGVyYXRpb24sIExvY2F0aW9ucy5hdmFpbGFiaWxpdHlFeGNlcHRpb25zLCBMb2NhdGlvbnMuZW5kcG9pbnQgfQoKZGVmaW5lICJTREUgSW5pdGlhbCBQb3B1bGF0aW9uIEVuY291bnRlcnMiOgogICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgICByZXR1cm4geyBJUC5pZCwgSVAubWV0YSwgSVAuaWRlbnRpZmllciwgSVAuc3RhdHVzLCBJUC5zdGF0dXNIaXN0b3J5LCBJUC5jbGFzcywgSVAuY2xhc3NIaXN0b3J5LCBJUC50eXBlLCBJUC5zZXJ2aWNlVHlwZSwgSVAucHJpb3JpdHksIElQLnN1YmplY3QsIElQLnBlcmlvZCwgSVAubGVuZ3RoLCBJUC5yZWFzb25Db2RlLCBJUC5yZWFzb25SZWZlcmVuY2UsIElQLmRpYWdub3NpcywgSVAuYWNjb3VudCwgSVAuaG9zcGl0YWxpemF0aW9uLCBJUC5sb2NhdGlvbiwgSVAucGFydE9mIH0KCmRlZmluZSAiU0RFIE1lZGljYXRpb24iOgogICggIk1lZGljYXRpb25SZXF1ZXN0cyIKICAgIHVuaW9uICJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25zIiApIE1lZFJlcU9yQWRtaW4KICAgIGxldCBtZWRpY2F0aW9uOiBHZXRNZWRpY2F0aW9uKE1lZFJlcU9yQWRtaW4ubWVkaWNhdGlvbiBhcyBSZWZlcmVuY2UpCiAgICB3aGVyZSBtZWRpY2F0aW9uIGlzIG5vdCBudWxsCiAgICAgIGFuZCBleGlzdHMgKCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgICAgICAgd2hlcmUgQ29hbGVzY2UoTWVkUmVxT3JBZG1pbi5lZmZlY3RpdmUudG9JbnRlcnZhbCgpLCBNZWRSZXFPckFkbWluLmF1dGhvcmVkT24udG9JbnRlcnZhbCgpKSBvdmVybGFwcyBJUC4iaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIiAoICkKICAgICAgKQogICAgcmV0dXJuIHsgbWVkaWNhdGlvbi5pZCwgbWVkaWNhdGlvbi5tZXRhLCBtZWRpY2F0aW9uLmNvZGUsIG1lZGljYXRpb24uc3RhdHVzLCBtZWRpY2F0aW9uLm1hbnVmYWN0dXJlciwgbWVkaWNhdGlvbi5mb3JtLCBtZWRpY2F0aW9uLmFtb3VudCwgbWVkaWNhdGlvbi5pbmdyZWRpZW50LCBtZWRpY2F0aW9uLmJhdGNoIH0KCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbiIocmVmZXJlbmNlIFJlZmVyZW5jZSk6CiAgc2luZ2xldG9uIGZyb20gKCBbTWVkaWNhdGlvbl0gTWVkaWNhdGlvbgogICAgICB3aGVyZSByZWZlcmVuY2UucmVmZXJlbmNlcyAoIE1lZGljYXRpb24gKQogICkKCmRlZmluZSAiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucyI6CiAgW01lZGljYXRpb25BZG1pbmlzdHJhdGlvbl0KCmRlZmluZSAiU0RFIE1lZGljYXRpb24gQWRtaW5pc3RyYXRpb24iOgogICJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25zIiBNZWRBZG1pbmlzdHJhdGlvbnMKICAgIHdoZXJlIGV4aXN0cyAoICJJbml0aWFsIFBvcHVsYXRpb24iIEluaXRpYWxQb3B1bGF0aW9uCiAgICAgICAgd2hlcmUgTWVkQWRtaW5pc3RyYXRpb25zLmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBvdmVybGFwcyBJbml0aWFsUG9wdWxhdGlvbi4iaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIiAoICkKICAgICkKICAgIHJldHVybiB7IE1lZEFkbWluaXN0cmF0aW9ucy5pZCwgTWVkQWRtaW5pc3RyYXRpb25zLm1ldGEsIE1lZEFkbWluaXN0cmF0aW9ucy5pbnN0YW50aWF0ZXMsIE1lZEFkbWluaXN0cmF0aW9ucy5wYXJ0T2YsIE1lZEFkbWluaXN0cmF0aW9ucy5zdGF0dXMsIE1lZEFkbWluaXN0cmF0aW9ucy5zdGF0dXNSZWFzb24sIE1lZEFkbWluaXN0cmF0aW9ucy5jYXRlZ29yeSwgTWVkQWRtaW5pc3RyYXRpb25zLm1lZGljYXRpb24sIE1lZEFkbWluaXN0cmF0aW9ucy5zdWJqZWN0LCBNZWRBZG1pbmlzdHJhdGlvbnMuY29udGV4dCwgTWVkQWRtaW5pc3RyYXRpb25zLnN1cHBvcnRpbmdJbmZvcm1hdGlvbiwgTWVkQWRtaW5pc3RyYXRpb25zLmVmZmVjdGl2ZSwgTWVkQWRtaW5pc3RyYXRpb25zLnBlcmZvcm1lciwgTWVkQWRtaW5pc3RyYXRpb25zLnJlYXNvbkNvZGUsIE1lZEFkbWluaXN0cmF0aW9ucy5yZWFzb25SZWZlcmVuY2UsIE1lZEFkbWluaXN0cmF0aW9ucy5yZXF1ZXN0LCBNZWRBZG1pbmlzdHJhdGlvbnMuZGV2aWNlLCBNZWRBZG1pbmlzdHJhdGlvbnMubm90ZSwgTWVkQWRtaW5pc3RyYXRpb25zLmRvc2FnZSB9CgpkZWZpbmUgIk1lZGljYXRpb25SZXF1ZXN0cyI6CiAgW01lZGljYXRpb25SZXF1ZXN0XQoKZGVmaW5lICJTREUgTWVkaWNhdGlvbiBSZXF1ZXN0IjoKICAiTWVkaWNhdGlvblJlcXVlc3RzIiBNZWRSZXF1ZXN0cwogICAgd2hlcmUgZXhpc3RzICggIkluaXRpYWwgUG9wdWxhdGlvbiIgSW5pdGlhbFBvcHVsYXRpb24KICAgICAgICB3aGVyZSBNZWRSZXF1ZXN0cy5hdXRob3JlZE9uIGR1cmluZyBJbml0aWFsUG9wdWxhdGlvbi4iaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIiAoICkKICAgICkKICAgIHJldHVybiB7IE1lZFJlcXVlc3RzLmlkLCBNZWRSZXF1ZXN0cy5tZXRhLCBNZWRSZXF1ZXN0cy5zdGF0dXMsIE1lZFJlcXVlc3RzLnN0YXR1c1JlYXNvbiwgTWVkUmVxdWVzdHMuaW50ZW50LCBNZWRSZXF1ZXN0cy5jYXRlZ29yeSwgTWVkUmVxdWVzdHMucHJpb3JpdHksIE1lZFJlcXVlc3RzLmRvTm90UGVyZm9ybSwgTWVkUmVxdWVzdHMucmVwb3J0ZWQsIE1lZFJlcXVlc3RzLm1lZGljYXRpb24sIE1lZFJlcXVlc3RzLnN1YmplY3QsIE1lZFJlcXVlc3RzLmVuY291bnRlciwgTWVkUmVxdWVzdHMuYXV0aG9yZWRPbiwgTWVkUmVxdWVzdHMucmVxdWVzdGVyLCBNZWRSZXF1ZXN0cy5yZWNvcmRlciwgTWVkUmVxdWVzdHMucmVhc29uQ29kZSwgTWVkUmVxdWVzdHMucmVhc29uUmVmZXJlbmNlLCBNZWRSZXF1ZXN0cy5pbnN0YW50aWF0ZXNDYW5vbmljYWwsIE1lZFJlcXVlc3RzLmluc3RhbnRpYXRlc1VyaSwgTWVkUmVxdWVzdHMuY291cnNlT2ZUaGVyYXB5VHlwZSwgTWVkUmVxdWVzdHMuZG9zYWdlSW5zdHJ1Y3Rpb24gfQoKZGVmaW5lICJTREUgTWluaW1hbCBQYXRpZW50IjoKICBbUGF0aWVudF0gTWluUHQKICAgIHdoZXJlIGV4aXN0cyAiSW5pdGlhbCBQb3B1bGF0aW9uIgogICAgcmV0dXJuIHsgTWluUHQuaWQsIE1pblB0Lm1ldGEsIE1pblB0LmV4dGVuc2lvbiwgTWluUHQuaWRlbnRpZmllciwgTWluUHQuYWN0aXZlLCBNaW5QdC5uYW1lLCBNaW5QdC50ZWxlY29tLCBNaW5QdC5nZW5kZXIsIE1pblB0LmJpcnRoRGF0ZSwgTWluUHQuZGVjZWFzZWQsIE1pblB0LmFkZHJlc3MsIE1pblB0Lm1hcml0YWxTdGF0dXMsIE1pblB0Lm11bHRpcGxlQmlydGgsIE1pblB0LnBob3RvLCBNaW5QdC5jb250YWN0LCBNaW5QdC5jb21tdW5pY2F0aW9uLCBNaW5QdC5nZW5lcmFsUHJhY3RpdGlvbmVyLCBNaW5QdC5tYW5hZ2luZ09yZ2FuaXphdGlvbiwgTWluUHQubGluayB9CgpkZWZpbmUgIlNERSBTZXJ2aWNlIFJlcXVlc3QiOgogIFtTZXJ2aWNlUmVxdWVzdF0gU2VydmljZVJlcXVlc3RzCiAgICB3aGVyZSBleGlzdHMgKCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJbml0aWFsUG9wdWxhdGlvbgogICAgICAgIHdoZXJlIFNlcnZpY2VSZXF1ZXN0cy5hdXRob3JlZE9uIGR1cmluZyBJbml0aWFsUG9wdWxhdGlvbi5wZXJpb2QKICAgICkKICAgIHJldHVybiB7IFNlcnZpY2VSZXF1ZXN0cy5pZCwgU2VydmljZVJlcXVlc3RzLm1ldGEsIFNlcnZpY2VSZXF1ZXN0cy5pbnN0YW50aWF0ZXNDYW5vbmljYWwsIFNlcnZpY2VSZXF1ZXN0cy5pbnN0YW50aWF0ZXNVcmksIFNlcnZpY2VSZXF1ZXN0cy5iYXNlZE9uLCBTZXJ2aWNlUmVxdWVzdHMucmVwbGFjZXMsIFNlcnZpY2VSZXF1ZXN0cy5yZXF1aXNpdGlvbiwgU2VydmljZVJlcXVlc3RzLnN0YXR1cywgU2VydmljZVJlcXVlc3RzLmludGVudCwgU2VydmljZVJlcXVlc3RzLmNhdGVnb3J5LCBTZXJ2aWNlUmVxdWVzdHMucHJpb3JpdHksIFNlcnZpY2VSZXF1ZXN0cy5kb05vdFBlcmZvcm0sIFNlcnZpY2VSZXF1ZXN0cy5jb2RlLCBTZXJ2aWNlUmVxdWVzdHMub3JkZXJEZXRhaWwsIFNlcnZpY2VSZXF1ZXN0cy5xdWFudGl0eSwgU2VydmljZVJlcXVlc3RzLnN1YmplY3QsIFNlcnZpY2VSZXF1ZXN0cy5lbmNvdW50ZXIsIFNlcnZpY2VSZXF1ZXN0cy5vY2N1cnJlbmNlLCBTZXJ2aWNlUmVxdWVzdHMuYXNOZWVkZWQsIFNlcnZpY2VSZXF1ZXN0cy5hdXRob3JlZE9uLCBTZXJ2aWNlUmVxdWVzdHMucmVxdWVzdGVyLCBTZXJ2aWNlUmVxdWVzdHMucGVyZm9ybWVyVHlwZSwgU2VydmljZVJlcXVlc3RzLnBlcmZvcm1lciwgU2VydmljZVJlcXVlc3RzLmxvY2F0aW9uQ29kZSwgU2VydmljZVJlcXVlc3RzLnJlYXNvbkNvZGUsIFNlcnZpY2VSZXF1ZXN0cy5yZWFzb25SZWZlcmVuY2UsIFNlcnZpY2VSZXF1ZXN0cy5pbnN1cmFuY2UsIFNlcnZpY2VSZXF1ZXN0cy5ib2R5U2l0ZSwgU2VydmljZVJlcXVlc3RzLm5vdGUsIFNlcnZpY2VSZXF1ZXN0cy5wYXRpZW50SW5zdHJ1Y3Rpb24gfQoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CiAgU0RFLiJTREUgUGF5ZXIiCgpkZWZpbmUgIlNERSBSYWNlIjoKICBTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKICBTREUuIlNERSBTZXgi"/>
    <url
         value="https://madie.cms.gov/Library-NHSNGlycemicControlHypoglycemiaInitialPopulation.cql"/>
  </content>
</Library>