Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: R5 Ballot - see ballot notes). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

Example Library/opioidcds-recommendation-07 (JSON)

Clinical Decision Support Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: Not linked to any defined compartments

Raw JSON (canonical form + also see JSON Format Specification)

Opioid CDS Recommendation 7 Logic

{
  "resourceType": "Library",
  "id": "opioidcds-recommendation-07",
  "text": {
    "status": "generated",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n      <h2>Participants</h2>\n      <table class=\"grid\">\n        <tr>\n          <td>Author</td>\n          <td>Kensaku Kawamoto, MD, PhD, MHS</td>\n        </tr>\n        <tr>\n          <td>Author</td>\n          <td>Bryn Rhodes</td>\n        </tr>\n        <tr>\n          <td>Author</td>\n          <td>Floyd Eisenberg, MD, MPH</td>\n        </tr>\n        <tr>\n          <td>Author</td>\n          <td>Robert McClure, MD, MPH</td>\n        </tr>\n      </table>\n      <h2>Related Artifacts</h2>\n      <table class=\"grid\">\n        <tr>\n          <td>Documentation</td>\n          <td>CDC guideline for prescribing opioids for chronic pain</td>\n          <td>\n            <p>\n              <code>\n                <a href=\"https://guidelines.gov/summaries/summary/50153/cdc-guideline-for-prescribing-opioids-for-chronic-pain---united-states-2016#420\">https://guidelines.gov/summaries/summary/50153/cdc-guideline-for-prescribing-opioids-for-chronic-pain---united-states-2016#420</a>\n              </code> (\n              <code/>)\n            </p>\n          </td>\n        </tr>\n        <tr>\n          <td>Depends On</td>\n          <td/>\n          <td>\n            <code>http://example.org/fhir/Library/opioidcds-common</code>\n          </td>\n        </tr>\n      </table>\n      <h2>Data Requirements</h2>\n      <table class=\"grid\">\n        <tr>\n          <td colspan=\"2\">\n            <b>Type</b>: \n            <a href=\"medicationrequest.html\">MedicationRequest</a>\n          </td>\n        </tr>\n        <tr style=\"background-color: #efefef\">\n          <td>Filter</td>\n          <td>Value</td>\n        </tr>\n        <tr>\n          <td>medicationCodeableConcept</td>\n          <td>In ValueSet \n            <a href=\"http://example.org/fhir/ValueSet/opioids-indicating-end-of-life\">http://example.org/fhir/ValueSet/opioids-indicating-end-of-life</a>\n          </td>\n        </tr>\n      </table>\n      <table class=\"grid\">\n        <tr>\n          <td colspan=\"2\">\n            <b>Type</b>: \n            <a href=\"procedure.html\">Procedure</a>\n          </td>\n        </tr>\n        <tr style=\"background-color: #efefef\">\n          <td>Filter</td>\n          <td>Value</td>\n        </tr>\n        <tr>\n          <td>code</td>\n          <td>One of these codes: </td>\n        </tr>\n      </table>\n      <table class=\"grid\">\n        <tr>\n          <td colspan=\"2\">\n            <b>Type</b>: \n            <a href=\"procedure.html\">Procedure</a>\n          </td>\n        </tr>\n        <tr style=\"background-color: #efefef\">\n          <td>Filter</td>\n          <td>Value</td>\n        </tr>\n        <tr>\n          <td>code</td>\n          <td>One of these codes: </td>\n        </tr>\n      </table>\n      <table class=\"grid\">\n        <tr>\n          <td colspan=\"2\">\n            <b>Type</b>: \n            <a href=\"medicationrequest.html\">MedicationRequest</a>\n          </td>\n        </tr>\n        <tr style=\"background-color: #efefef\">\n          <td>Filter</td>\n          <td>Value</td>\n        </tr>\n        <tr>\n          <td>medicationCodeableConcept</td>\n          <td>In ValueSet \n            <a href=\"http://example.org/fhir/ValueSet/opioids-abused-in-ambulatory-care\">http://example.org/fhir/ValueSet/opioids-abused-in-ambulatory-care</a>\n          </td>\n        </tr>\n      </table>\n      <table class=\"grid\">\n        <tr>\n          <td colspan=\"2\">\n            <b>Type</b>: \n            <a href=\"encounter.html\">Encounter</a>\n          </td>\n        </tr>\n      </table>\n      <h2>Contents</h2>\n      <p>\n        <code>application/elm+xml</code>\n      </p>\n      <pre>\n        <code class=\"language-xml\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;\n&lt;library xmlns=&quot;urn:hl7-org:elm:r1&quot; xmlns:t=&quot;urn:hl7-org:elm-types:r1&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:fhir=&quot;http://hl7.org/fhir&quot; xmlns:qdm43=&quot;urn:healthit-gov:qdm:v4_3&quot; xmlns:qdm53=&quot;urn:healthit-gov:qdm:v5_3&quot; xmlns:a=&quot;urn:hl7-org:cql-annotations:r1&quot;&gt;\n   &lt;annotation startLine=&quot;76&quot; startChar=&quot;3&quot; endLine=&quot;76&quot; endChar=&quot;51&quot; message=&quot;Could not resolve code path medicationCodeableConcept for the type of the retrieve FHIR.MedicationRequest.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;76&quot; startChar=&quot;3&quot; endLine=&quot;76&quot; endChar=&quot;51&quot; message=&quot;Could not resolve membership operator for terminology target of the retrieve.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;85&quot; startChar=&quot;4&quot; endLine=&quot;85&quot; endChar=&quot;53&quot; message=&quot;Could not resolve membership operator for terminology target of the retrieve.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;86&quot; startChar=&quot;13&quot; endLine=&quot;86&quot; endChar=&quot;52&quot; message=&quot;Could not resolve membership operator for terminology target of the retrieve.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;95&quot; startChar=&quot;3&quot; endLine=&quot;95&quot; endChar=&quot;66&quot; message=&quot;Could not resolve code path medicationCodeableConcept for the type of the retrieve FHIR.MedicationRequest.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;95&quot; startChar=&quot;3&quot; endLine=&quot;95&quot; endChar=&quot;66&quot; message=&quot;Could not resolve membership operator for terminology target of the retrieve.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;103&quot; startChar=&quot;10&quot; endLine=&quot;103&quot; endChar=&quot;70&quot; message=&quot;List-valued expression was demoted to a singleton.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;69&quot; startChar=&quot;59&quot; endLine=&quot;69&quot; endChar=&quot;88&quot; message=&quot;List-valued expression was demoted to a singleton.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;115&quot; startChar=&quot;6&quot; endLine=&quot;115&quot; endChar=&quot;35&quot; message=&quot;List-valued expression was demoted to a singleton.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;identifier id=&quot;OpioidCDS_STU4_REC_07&quot; version=&quot;0.1.0&quot;/&gt;\n   &lt;schemaIdentifier id=&quot;urn:hl7-org:elm&quot; version=&quot;r1&quot;/&gt;\n   &lt;usings&gt;\n      &lt;def localIdentifier=&quot;System&quot; uri=&quot;urn:hl7-org:elm-types:r1&quot;/&gt;\n      &lt;def localIdentifier=&quot;FHIR&quot; uri=&quot;http://hl7.org/fhir&quot; version=&quot;3.2.0&quot;/&gt;\n   &lt;/usings&gt;\n   &lt;includes&gt;\n      &lt;def localIdentifier=&quot;Common&quot; path=&quot;OpioidCDS_STU4_Common&quot; version=&quot;0.1.0&quot;/&gt;\n   &lt;/includes&gt;\n   &lt;parameters&gt;\n      &lt;def name=&quot;ContextPrescriptions&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;parameterTypeSpecifier xsi:type=&quot;ListTypeSpecifier&quot;&gt;\n            &lt;elementType name=&quot;fhir:MedicationRequest&quot; xsi:type=&quot;NamedTypeSpecifier&quot;/&gt;\n         &lt;/parameterTypeSpecifier&gt;\n      &lt;/def&gt;\n   &lt;/parameters&gt;\n   &lt;codeSystems&gt;\n      &lt;def name=&quot;SNOMED&quot; id=&quot;http://snomed.info/sct&quot; accessLevel=&quot;Public&quot;/&gt;\n   &lt;/codeSystems&gt;\n   &lt;codes&gt;\n      &lt;def name=&quot;Assessment of risk for opioid abuse&quot; id=&quot;454281000124100&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;codeSystem name=&quot;SNOMED&quot;/&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;High risk drug monitoring&quot; id=&quot;268525008&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;codeSystem name=&quot;SNOMED&quot;/&gt;\n      &lt;/def&gt;\n   &lt;/codes&gt;\n   &lt;statements&gt;\n      &lt;def name=&quot;Patient&quot; context=&quot;Patient&quot;&gt;\n         &lt;expression xsi:type=&quot;SingletonFrom&quot;&gt;\n            &lt;operand dataType=&quot;fhir:Patient&quot; xsi:type=&quot;Retrieve&quot;/&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Risk Assessment Interval&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression lowClosed=&quot;true&quot; highClosed=&quot;true&quot; xsi:type=&quot;Interval&quot;&gt;\n            &lt;low xsi:type=&quot;Subtract&quot;&gt;\n               &lt;operand xsi:type=&quot;Today&quot;/&gt;\n               &lt;operand value=&quot;91&quot; unit=&quot;days&quot; xsi:type=&quot;Quantity&quot;/&gt;\n            &lt;/low&gt;\n            &lt;high xsi:type=&quot;Subtract&quot;&gt;\n               &lt;operand xsi:type=&quot;Today&quot;/&gt;\n               &lt;operand value=&quot;1&quot; unit=&quot;day&quot; xsi:type=&quot;Quantity&quot;/&gt;\n            &lt;/high&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Encounter Interval&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression lowClosed=&quot;true&quot; highClosed=&quot;true&quot; xsi:type=&quot;Interval&quot;&gt;\n            &lt;low xsi:type=&quot;Subtract&quot;&gt;\n               &lt;operand xsi:type=&quot;Subtract&quot;&gt;\n                  &lt;operand xsi:type=&quot;Today&quot;/&gt;\n                  &lt;operand value=&quot;12&quot; unit=&quot;months&quot; xsi:type=&quot;Quantity&quot;/&gt;\n               &lt;/operand&gt;\n               &lt;operand value=&quot;1&quot; unit=&quot;days&quot; xsi:type=&quot;Quantity&quot;/&gt;\n            &lt;/low&gt;\n            &lt;high xsi:type=&quot;Subtract&quot;&gt;\n               &lt;operand xsi:type=&quot;Today&quot;/&gt;\n               &lt;operand value=&quot;1&quot; unit=&quot;day&quot; xsi:type=&quot;Quantity&quot;/&gt;\n            &lt;/high&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Validate Trigger Event&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Exists&quot;&gt;\n            &lt;operand xsi:type=&quot;Query&quot;&gt;\n               &lt;source alias=&quot;triggerScript&quot;&gt;\n                  &lt;expression name=&quot;ContextPrescriptions&quot; xsi:type=&quot;ParameterRef&quot;/&gt;\n               &lt;/source&gt;\n               &lt;where name=&quot;IsOpioidWithAmbulatoryAbusePotential&quot; libraryName=&quot;Common&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                  &lt;operand name=&quot;ToCode&quot; libraryName=&quot;Common&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                     &lt;operand xsi:type=&quot;Indexer&quot;&gt;\n                        &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                           &lt;source path=&quot;medication&quot; scope=&quot;triggerScript&quot; xsi:type=&quot;Property&quot;/&gt;\n                        &lt;/operand&gt;\n                        &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                     &lt;/operand&gt;\n                  &lt;/operand&gt;\n               &lt;/where&gt;\n            &lt;/operand&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Medications Indicating End Of Life&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;endOfLifeRx&quot;&gt;\n               &lt;expression dataType=&quot;fhir:MedicationRequest&quot; codeProperty=&quot;medicationCodeableConcept&quot; xsi:type=&quot;Retrieve&quot;&gt;\n                  &lt;codes name=&quot;End Of Life Opioids&quot; libraryName=&quot;Common&quot; xsi:type=&quot;ValueSetRef&quot;/&gt;\n               &lt;/expression&gt;\n            &lt;/source&gt;\n            &lt;where xsi:type=&quot;Equal&quot;&gt;\n               &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                  &lt;source path=&quot;status&quot; scope=&quot;endOfLifeRx&quot; xsi:type=&quot;Property&quot;/&gt;\n               &lt;/operand&gt;\n               &lt;operand valueType=&quot;t:String&quot; value=&quot;active&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/where&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Exclusion Criteria&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Exists&quot;&gt;\n            &lt;operand name=&quot;Medications Indicating End Of Life&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Opioid Risk Assessment in Past 90 Days&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;riskAssessment&quot;&gt;\n               &lt;expression xsi:type=&quot;Union&quot;&gt;\n                  &lt;operand dataType=&quot;fhir:Procedure&quot; codeProperty=&quot;code&quot; xsi:type=&quot;Retrieve&quot;&gt;\n                     &lt;codes name=&quot;Assessment of risk for opioid abuse&quot; xsi:type=&quot;CodeRef&quot;/&gt;\n                  &lt;/operand&gt;\n                  &lt;operand dataType=&quot;fhir:Procedure&quot; codeProperty=&quot;code&quot; xsi:type=&quot;Retrieve&quot;&gt;\n                     &lt;codes name=&quot;High risk drug monitoring&quot; xsi:type=&quot;CodeRef&quot;/&gt;\n                  &lt;/operand&gt;\n               &lt;/expression&gt;\n            &lt;/source&gt;\n            &lt;where xsi:type=&quot;In&quot;&gt;\n               &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                  &lt;source path=&quot;start&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source path=&quot;performed&quot; scope=&quot;riskAssessment&quot; xsi:type=&quot;Property&quot;/&gt;\n                  &lt;/source&gt;\n               &lt;/operand&gt;\n               &lt;operand name=&quot;Risk Assessment Interval&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/where&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Get Active Ambulatory Opioid Rx&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;Rx&quot;&gt;\n               &lt;expression dataType=&quot;fhir:MedicationRequest&quot; codeProperty=&quot;medicationCodeableConcept&quot; xsi:type=&quot;Retrieve&quot;&gt;\n                  &lt;codes name=&quot;Ambulatory Abuse Potential Opioids&quot; libraryName=&quot;Common&quot; xsi:type=&quot;ValueSetRef&quot;/&gt;\n               &lt;/expression&gt;\n            &lt;/source&gt;\n            &lt;where xsi:type=&quot;And&quot;&gt;\n               &lt;operand xsi:type=&quot;Equal&quot;&gt;\n                  &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source path=&quot;status&quot; scope=&quot;Rx&quot; xsi:type=&quot;Property&quot;/&gt;\n                  &lt;/operand&gt;\n                  &lt;operand valueType=&quot;t:String&quot; value=&quot;active&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;/operand&gt;\n               &lt;operand xsi:type=&quot;Equal&quot;&gt;\n                  &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                        &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                           &lt;operand xsi:type=&quot;Flatten&quot;&gt;\n                              &lt;operand xsi:type=&quot;Query&quot;&gt;\n                                 &lt;source alias=&quot;$this&quot;&gt;\n                                    &lt;expression path=&quot;category&quot; scope=&quot;Rx&quot; xsi:type=&quot;Property&quot;/&gt;\n                                 &lt;/source&gt;\n                                 &lt;where xsi:type=&quot;Not&quot;&gt;\n                                    &lt;operand xsi:type=&quot;IsNull&quot;&gt;\n                                       &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                                          &lt;source name=&quot;$this&quot; xsi:type=&quot;AliasRef&quot;/&gt;\n                                       &lt;/operand&gt;\n                                    &lt;/operand&gt;\n                                 &lt;/where&gt;\n                                 &lt;return&gt;\n                                    &lt;expression path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                                       &lt;source name=&quot;$this&quot; xsi:type=&quot;AliasRef&quot;/&gt;\n                                    &lt;/expression&gt;\n                                 &lt;/return&gt;\n                              &lt;/operand&gt;\n                           &lt;/operand&gt;\n                           &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                        &lt;/source&gt;\n                     &lt;/source&gt;\n                  &lt;/operand&gt;\n                  &lt;operand valueType=&quot;t:String&quot; value=&quot;outpatient&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;/operand&gt;\n            &lt;/where&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Encounter in past 12 months&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;E&quot;&gt;\n               &lt;expression dataType=&quot;fhir:Encounter&quot; xsi:type=&quot;Retrieve&quot;/&gt;\n            &lt;/source&gt;\n            &lt;where xsi:type=&quot;In&quot;&gt;\n               &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                  &lt;source path=&quot;start&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source path=&quot;period&quot; scope=&quot;E&quot; xsi:type=&quot;Property&quot;/&gt;\n                  &lt;/source&gt;\n               &lt;/operand&gt;\n               &lt;operand name=&quot;Encounter Interval&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/where&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Rx Active 7 of Past 10 Days With Encounter&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;And&quot;&gt;\n            &lt;operand xsi:type=&quot;SingletonFrom&quot;&gt;\n               &lt;operand name=&quot;ProbableDaysInRange&quot; libraryName=&quot;Common&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                  &lt;operand name=&quot;Get Active Ambulatory Opioid Rx&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                  &lt;operand valueType=&quot;t:Integer&quot; value=&quot;10&quot; xsi:type=&quot;Literal&quot;/&gt;\n                  &lt;operand valueType=&quot;t:Integer&quot; value=&quot;7&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;/operand&gt;\n            &lt;/operand&gt;\n            &lt;operand xsi:type=&quot;Exists&quot;&gt;\n               &lt;operand name=&quot;Encounter in past 12 months&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/operand&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Rx Active 63 of Past 90 Days&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression name=&quot;ProbableDaysInRange&quot; libraryName=&quot;Common&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n            &lt;operand name=&quot;Get Active Ambulatory Opioid Rx&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;operand valueType=&quot;t:Integer&quot; value=&quot;90&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;operand valueType=&quot;t:Integer&quot; value=&quot;63&quot; xsi:type=&quot;Literal&quot;/&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Inclusion Criteria&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;And&quot;&gt;\n            &lt;operand xsi:type=&quot;And&quot;&gt;\n               &lt;operand xsi:type=&quot;And&quot;&gt;\n                  &lt;operand name=&quot;Validate Trigger Event&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                  &lt;operand xsi:type=&quot;Not&quot;&gt;\n                     &lt;operand name=&quot;Exclusion Criteria&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                  &lt;/operand&gt;\n               &lt;/operand&gt;\n               &lt;operand xsi:type=&quot;Not&quot;&gt;\n                  &lt;operand xsi:type=&quot;Exists&quot;&gt;\n                     &lt;operand name=&quot;Opioid Risk Assessment in Past 90 Days&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                  &lt;/operand&gt;\n               &lt;/operand&gt;\n            &lt;/operand&gt;\n            &lt;operand xsi:type=&quot;Or&quot;&gt;\n               &lt;operand name=&quot;Rx Active 7 of Past 10 Days With Encounter&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n               &lt;operand xsi:type=&quot;SingletonFrom&quot;&gt;\n                  &lt;operand name=&quot;Rx Active 63 of Past 90 Days&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n               &lt;/operand&gt;\n            &lt;/operand&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Get Indicator&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression valueType=&quot;t:String&quot; value=&quot;warning&quot; xsi:type=&quot;Literal&quot;/&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Get Summary&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression valueType=&quot;t:String&quot; value=&quot;Patients on opioid therapy should be evaluated for benefits and harms within 1 to 4 weeks of starting opioid therapy and every 3 months or more subsequently.&quot; xsi:type=&quot;Literal&quot;/&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Get Detail&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;If&quot;&gt;\n            &lt;condition xsi:type=&quot;SingletonFrom&quot;&gt;\n               &lt;operand name=&quot;Rx Active 63 of Past 90 Days&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/condition&gt;\n            &lt;then valueType=&quot;t:String&quot; value=&quot;No evaluation for benefits and harms associated with opioid therapy has been performed for the patient in the past 3 months&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;else valueType=&quot;t:String&quot; value=&quot;No evaluation for benefits and harms has been performed for the patient starting opioid therapy&quot; xsi:type=&quot;Literal&quot;/&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n   &lt;/statements&gt;\n&lt;/library&gt;\n</code>\n      </pre>\n    </div>"
  },
  "identifier": [
    {
      "use": "official",
      "value": "OpioidCDS_REC_07"
    }
  ],
  "version": "0.1.0",
  "title": "Opioid CDS Logic for recommendation #7",
  "status": "active",
  "experimental": false,
  "type": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/library-type",
        "code": "logic-library",
        "display": "Logic Library"
      }
    ]
  },
  "date": "2018-03-25T13:49:09-06:00",
  "publisher": "Centers for Disease Control and Prevention (CDC)",
  "description": "Opioid decision support logic to evaluate benefits and harms with patients within 1 to 4 weeks of starting opioid therapy and harms of continued therapy with patients every 3 months or more frequently.",
  "useContext": [
    {
      "code": {
        "system": "http://terminology.hl7.org/CodeSystem/usage-context-type",
        "code": "focus",
        "display": "Clinical Focus"
      },
      "valueCodeableConcept": {
        "coding": [
          {
            "system": "http://snomed.info/sct",
            "code": "182888003",
            "display": "Medication requested (situation)"
          }
        ]
      }
    },
    {
      "code": {
        "system": "http://terminology.hl7.org/CodeSystem/usage-context-type",
        "code": "focus",
        "display": "Clinical Focus"
      },
      "valueCodeableConcept": {
        "coding": [
          {
            "system": "http://snomed.info/sct",
            "code": "82423001",
            "display": "Chronic pain (finding)"
          }
        ]
      }
    }
  ],
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "urn:iso:std:iso:3166",
          "code": "US",
          "display": "United States of America"
        }
      ]
    }
  ],
  "purpose": "The purpose of this library is to determine whether the patient has been evaluated for benefits and harms within 1 to 4 weeks of starting opioid therapy and every 3 months or more subsequently.",
  "usage": "This library is used to notify the prescriber/user whether an evaluation for benefits and harms associated with opioid therapy is recommended for the patient.",
  "copyright": "© CDC 2016+.",
  "topic": [
    {
      "text": "Opioid Prescribing"
    }
  ],
  "author": [
    {
      "name": "Kensaku Kawamoto, MD, PhD, MHS"
    },
    {
      "name": "Bryn Rhodes"
    },
    {
      "name": "Floyd Eisenberg, MD, MPH"
    },
    {
      "name": "Robert McClure, MD, MPH"
    }
  ],
  "relatedArtifact": [
    {
      "type": "documentation",
      "display": "CDC guideline for prescribing opioids for chronic pain",
      "document": {
        "url": "https://guidelines.gov/summaries/summary/50153/cdc-guideline-for-prescribing-opioids-for-chronic-pain---united-states-2016#420"
      }
    },
    {
      "type": "depends-on",
      "resource": "http://example.org/fhir/Library/opioidcds-common"
    }
  ],
  "dataRequirement": [
    {
      "type": "MedicationRequest",
      "codeFilter": [
        {
          "path": "medicationCodeableConcept",
          "valueSet": "http://example.org/fhir/ValueSet/opioids-indicating-end-of-life"
        }
      ]
    },
    {
      "type": "Procedure",
      "codeFilter": [
        {
          "path": "code"
        }
      ]
    },
    {
      "type": "Procedure",
      "codeFilter": [
        {
          "path": "code"
        }
      ]
    },
    {
      "type": "MedicationRequest",
      "codeFilter": [
        {
          "path": "medicationCodeableConcept",
          "valueSet": "http://example.org/fhir/ValueSet/opioids-abused-in-ambulatory-care"
        }
      ]
    },
    {
      "type": "Encounter"
    }
  ],
  "content": [
    {
      "contentType": "application/elm+xml",
      "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iNzYiIHN0YXJ0Q2hhcj0iMyIgZW5kTGluZT0iNzYiIGVuZENoYXI9IjUxIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBjb2RlIHBhdGggbWVkaWNhdGlvbkNvZGVhYmxlQ29uY2VwdCBmb3IgdGhlIHR5cGUgb2YgdGhlIHJldHJpZXZlIEZISVIuTWVkaWNhdGlvblJlcXVlc3QuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iNzYiIHN0YXJ0Q2hhcj0iMyIgZW5kTGluZT0iNzYiIGVuZENoYXI9IjUxIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9Ijg1IiBzdGFydENoYXI9IjQiIGVuZExpbmU9Ijg1IiBlbmRDaGFyPSI1MyIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI4NiIgc3RhcnRDaGFyPSIxMyIgZW5kTGluZT0iODYiIGVuZENoYXI9IjUyIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9Ijk1IiBzdGFydENoYXI9IjMiIGVuZExpbmU9Ijk1IiBlbmRDaGFyPSI2NiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgY29kZSBwYXRoIG1lZGljYXRpb25Db2RlYWJsZUNvbmNlcHQgZm9yIHRoZSB0eXBlIG9mIHRoZSByZXRyaWV2ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0LiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9Ijk1IiBzdGFydENoYXI9IjMiIGVuZExpbmU9Ijk1IiBlbmRDaGFyPSI2NiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIxMDMiIHN0YXJ0Q2hhcj0iMTAiIGVuZExpbmU9IjEwMyIgZW5kQ2hhcj0iNzAiIG1lc3NhZ2U9Ikxpc3QtdmFsdWVkIGV4cHJlc3Npb24gd2FzIGRlbW90ZWQgdG8gYSBzaW5nbGV0b24uIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iNjkiIHN0YXJ0Q2hhcj0iNTkiIGVuZExpbmU9IjY5IiBlbmRDaGFyPSI4OCIgbWVzc2FnZT0iTGlzdC12YWx1ZWQgZXhwcmVzc2lvbiB3YXMgZGVtb3RlZCB0byBhIHNpbmdsZXRvbi4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIxMTUiIHN0YXJ0Q2hhcj0iNiIgZW5kTGluZT0iMTE1IiBlbmRDaGFyPSIzNSIgbWVzc2FnZT0iTGlzdC12YWx1ZWQgZXhwcmVzc2lvbiB3YXMgZGVtb3RlZCB0byBhIHNpbmdsZXRvbi4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGlkZW50aWZpZXIgaWQ9Ik9waW9pZENEU19TVFU0X1JFQ18wNyIgdmVyc2lvbj0iMC4xLjAiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4yLjAiLz4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkNvbW1vbiIgcGF0aD0iT3Bpb2lkQ0RTX1NUVTRfQ29tbW9uIiB2ZXJzaW9uPSIwLjEuMCIvPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBuYW1lPSJDb250ZXh0UHJlc2NyaXB0aW9ucyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZSBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIG5hbWU9IlNOT01FRCIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgPC9jb2RlU3lzdGVtcz4KICAgPGNvZGVzPgogICAgICA8ZGVmIG5hbWU9IkFzc2Vzc21lbnQgb2YgcmlzayBmb3Igb3Bpb2lkIGFidXNlIiBpZD0iNDU0MjgxMDAwMTI0MTAwIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkhpZ2ggcmlzayBkcnVnIG1vbml0b3JpbmciIGlkPSIyNjg1MjUwMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRUQiLz4KICAgICAgPC9kZWY+CiAgIDwvY29kZXM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IlJpc2sgQXNzZXNzbWVudCBJbnRlcnZhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjkxIiB1bml0PSJkYXlzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciBJbnRlcnZhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEyIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXlzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IlZhbGlkYXRlIFRyaWdnZXIgRXZlbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0idHJpZ2dlclNjcmlwdCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNvbnRleHRQcmVzY3JpcHRpb25zIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8d2hlcmUgbmFtZT0iSXNPcGlvaWRXaXRoQW1idWxhdG9yeUFidXNlUG90ZW50aWFsIiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0NvZGUiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJ0cmlnZ2VyU2NyaXB0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTWVkaWNhdGlvbnMgSW5kaWNhdGluZyBFbmQgT2YgTGlmZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9ImVuZE9mTGlmZVJ4Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVuZCBPZiBMaWZlIE9waW9pZHMiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhdHVzIiBzY29wZT0iZW5kT2ZMaWZlUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iRXhjbHVzaW9uIENyaXRlcmlhIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lZGljYXRpb25zIEluZGljYXRpbmcgRW5kIE9mIExpZmUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iT3Bpb2lkIFJpc2sgQXNzZXNzbWVudCBpbiBQYXN0IDkwIERheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJyaXNrQXNzZXNzbWVudCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQXNzZXNzbWVudCBvZiByaXNrIGZvciBvcGlvaWQgYWJ1c2UiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIaWdoIHJpc2sgZHJ1ZyBtb25pdG9yaW5nIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJyaXNrQXNzZXNzbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlJpc2sgQXNzZXNzbWVudCBJbnRlcnZhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUngiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uQ29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQW1idWxhdG9yeSBBYnVzZSBQb3RlbnRpYWwgT3Bpb2lkcyIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhdHVzIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSW5kZXhlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJGbGF0dGVuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im91dHBhdGllbnQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgaW4gcGFzdCAxMiBtb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIEludGVydmFsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IlJ4IEFjdGl2ZSA3IG9mIFBhc3QgMTAgRGF5cyBXaXRoIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlByb2JhYmxlRGF5c0luUmFuZ2UiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldCBBY3RpdmUgQW1idWxhdG9yeSBPcGlvaWQgUngiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIgaW4gcGFzdCAxMiBtb250aHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJSeCBBY3RpdmUgNjMgb2YgUGFzdCA5MCBEYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUHJvYmFibGVEYXlzSW5SYW5nZSIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0IEFjdGl2ZSBBbWJ1bGF0b3J5IE9waW9pZCBSeCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI5MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI2MyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJJbmNsdXNpb24gQ3JpdGVyaWEiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWxpZGF0ZSBUcmlnZ2VyIEV2ZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRXhjbHVzaW9uIENyaXRlcmlhIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJPcGlvaWQgUmlzayBBc3Nlc3NtZW50IGluIFBhc3QgOTAgRGF5cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUnggQWN0aXZlIDcgb2YgUGFzdCAxMCBEYXlzIFdpdGggRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlJ4IEFjdGl2ZSA2MyBvZiBQYXN0IDkwIERheXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkdldCBJbmRpY2F0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0id2FybmluZyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iR2V0IFN1bW1hcnkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iUGF0aWVudHMgb24gb3Bpb2lkIHRoZXJhcHkgc2hvdWxkIGJlIGV2YWx1YXRlZCBmb3IgYmVuZWZpdHMgYW5kIGhhcm1zIHdpdGhpbiAxIHRvIDQgd2Vla3Mgb2Ygc3RhcnRpbmcgb3Bpb2lkIHRoZXJhcHkgYW5kIGV2ZXJ5IDMgbW9udGhzIG9yIG1vcmUgc3Vic2VxdWVudGx5LiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iR2V0IERldGFpbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJSeCBBY3RpdmUgNjMgb2YgUGFzdCA5MCBEYXlzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ik5vIGV2YWx1YXRpb24gZm9yIGJlbmVmaXRzIGFuZCBoYXJtcyBhc3NvY2lhdGVkIHdpdGggb3Bpb2lkIHRoZXJhcHkgaGFzIGJlZW4gcGVyZm9ybWVkIGZvciB0aGUgcGF0aWVudCBpbiB0aGUgcGFzdCAzIG1vbnRocyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPGVsc2UgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ik5vIGV2YWx1YXRpb24gZm9yIGJlbmVmaXRzIGFuZCBoYXJtcyBoYXMgYmVlbiBwZXJmb3JtZWQgZm9yIHRoZSBwYXRpZW50IHN0YXJ0aW5nIG9waW9pZCB0aGVyYXB5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K"
    }
  ]
}

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.