WHO Immunization Implementation Guide
1.0.0 - release

WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/tree/132/merge and changes regularly. See the Directory of published versions

: IMMZD2DTDTPElements - JSON Representation

Draft as of 2026-03-31

Raw json | Download

{
  "resourceType" : "Library",
  "id" : "IMMZD2DTDTPElements",
  "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" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n    <table class=\"grid dict\">\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Title: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZD2DTDTPElements</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZD2DTDTPElements</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">1.0.0</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Url: </b></th>\n            <td style=\"padding-left: 4px;\"><a href=\"Library-IMMZD2DTDTPElements.html\">IMMZD2DTDTPElements</a></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Status: </b></th>\n            <td style=\"padding-left: 4px;\">draft</td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Type: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                    \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>system: </b> <span><a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></span>\n                        </p>\n                        \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>code: </b> <span>logic-library</span>\n                        </p>\n                        \n                        \n                    \n                \n                \n            </td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Date: </b></th>\n            <td style=\"padding-left: 4px;\">2026-03-31 13:54:17+0000</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Publisher: </b></th>\n            <td style=\"padding-left: 4px;\">WHO</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Description: </b></th>\n            <td style=\"padding-left: 4px;\"><div><p>This library defines context-independent elements for DTP used throughout the Immunization CPG</p>\n</div></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Related Artifacts: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                \n                \n                <p><b>Dependencies</b></p>\n                <ul>\n                  \n                    <li><a href=\"Library-WHOConcepts.html\">WHOConcepts</a></li>\n                  \n                    <li><a href=\"Library-WHOCommon.html\">WHOCommon</a></li>\n                  \n                    <li><a href=\"Library-WHOElements.html\">WHOElements</a></li>\n                  \n                    <li><a href=\"Library-IMMZCommon.html\">IMMZCommon</a></li>\n                  \n                    <li><a href=\"Library-IMMZConcepts.html\">IMMZConcepts</a></li>\n                  \n                    <li><a href=\"Library-IMMZElements.html\">IMMZElements</a></li>\n                  \n                </ul>\n                \n                \n                \n                \n                \n            </td>\n        </tr>\n        \n\n        \n        <tr>\n          <th scope=\"row\"><b>Parameters: </b></th>\n          <td style=\"padding-left: 4px;\">\n            <table class=\"grid-dict\">\n              <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n              \n                <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>DTP Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>DTP Primary Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Number of DTP Primary Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 6 weeks</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No DTP primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is between 6 weeks and 1 year</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One DTP primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Date of Latest DTP Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest DTP dose was administered less than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest DTP dose was administered more than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Two DTP primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Three DTP primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Td Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Td Booster Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Number of Td Booster Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No tetanus and diphtheria booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 12 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than or equal to 12 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One tetanus and diphtheria booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 4 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than or equal to 4 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Two tetanus and diphtheria booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 9 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than or equal to 9 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Three tetanus and diphtheria booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Pertussis Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Pertussis Booster Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Number of Pertussis Booster Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No pertussis booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 1 year</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is between 1 year and 6 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest DTP dose was administered less than 6 months ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest DTP dose was administered more than 6 months ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than 6 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One pertussis booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than 1 year</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest DTP dose was administered less than 1 year ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest DTP dose was administered more than 1 year ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Date of Latest Td Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest tetanus and diphtheria dose was administered less than 1 year ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest tetanus and diphtheria dose was administered more than 1 year ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client is currently pregnant</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No tetanus and diphtheria booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One tetanus and diphtheria booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest tetanus and diphtheria dose was administered less than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest tetanus and diphtheria dose was administered more than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n            </table>\n          </td>\n        </tr>\n        \n\n        \n\n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n              <tr><td><pre><code class=\"language-cql\">\n/*\n  * Library: IMMZD2DTDTPElements\n  */\nlibrary IMMZD2DTDTPElements\n\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOConcepts\ninclude WHOCommon called WC\ninclude WHOElements called WE\n\ninclude IMMZCommon called Common\ninclude IMMZConcepts called Concepts\ninclude IMMZElements called Elements\n\n\ncontext Patient\n\n/*\n@internal: DTP containing Doses Administered to Patient\n*/\ndefine &quot;DTP Doses Administered to Patient&quot;:\n  Elements.&quot;Doses Administered to Patient&quot; I\n  where\n    I.vaccineCode in Concepts.&quot;DTP-containing vaccines&quot;\n\n/*\n@internal: DTP containing Doses Administered to Patient that are in the Primary series\n*/\ndefine &quot;DTP Primary Series Doses Administered to Patient&quot;:\n  &quot;DTP Doses Administered to Patient&quot;.seriesPrimary()\n\n/*\n@internal: Number of DTP Primary Series doses\n*/\ndefine &quot;Number of DTP Primary Series Doses Administered&quot;:\n  Count(&quot;DTP Primary Series Doses Administered to Patient&quot;)\n\n/*\n@input: Client's age is less than 6 weeks\n@pseudocode: Today's date − &quot;Date of birth&quot; &lt; 6 weeks\n@code: Client's age is less than 6 weeks-40\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine &quot;Client's age is less than 6 weeks&quot;:\n  Elements.&quot;Current Patient Age In Weeks&quot; &lt; 6\n\n/*\n@input: No DTP primary series doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 0\n@code: No DTP primary series doses were administered-123\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women\n*/\ndefine &quot;No DTP primary series doses were administered&quot;:\n  &quot;Number of DTP Primary Series Doses Administered&quot; = 0\n\n/*\n@input: Client's age is between 6 weeks and 1 year\n@pseudocode: 6 weeks ≤ Today's date − &quot;Date of birth&quot; &lt; 1 year\n@code: Client's age is between 6 weeks and 1 year-49\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine &quot;Client's age is between 6 weeks and 1 year&quot;:\n  6 &lt;= Elements.&quot;Current Patient Age In Weeks&quot;\n  and Elements.&quot;Current Patient Age In Years&quot; &lt; 1\n\n/*\n@input: One DTP primary series dose was administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1\n@code: One DTP primary series dose was administered-123\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;One DTP primary series dose was administered&quot;:\n  &quot;Number of DTP Primary Series Doses Administered&quot; = 1\n\n/*\n@input: The latest DTP dose was administered less than 4 weeks ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot;) &lt; 4 weeks\n@code: The latest DTP dose was administered less than 4 weeks ago-113\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;The latest DTP dose was administered less than 4 weeks ago&quot;:\n  &quot;Date of Latest DTP Dose&quot; is not null\n    and duration in weeks between &quot;Date of Latest DTP Dose&quot; and Now() &lt; 4\n\n/*\n@input: The latest DTP dose was administered more than 4 weeks ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot;) ≥ 4 weeks\n@code: The latest DTP dose was administered more than 4 weeks ago-113\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;The latest DTP dose was administered more than 4 weeks ago&quot;:\n  not(&quot;The latest DTP dose was administered less than 4 weeks ago&quot;)\n\n/*\n@input: Two DTP primary series doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 2\n@code: Two DTP primary series doses were administered-123\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;Two DTP primary series doses were administered&quot;:\n  &quot;Number of DTP Primary Series Doses Administered&quot; = 2\n\n/*\n@input: Three DTP primary series doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 3\n@code: Three DTP primary series doses were administered-123\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine &quot;Three DTP primary series doses were administered&quot;:\n  &quot;Number of DTP Primary Series Doses Administered&quot; = 3\n\n/*\n@input: No tetanus and diphtheria booster doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 0\n@code: No tetanus and diphtheria booster doses were administered-140\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n*/\ndefine &quot;No tetanus and diphtheria booster doses were administered&quot;:\n  &quot;Number of Td Booster Series Doses Administered&quot; = 0\n\n/*\n@input: Client's age is less than 12 months\n@pseudocode: Today's date − &quot;Date of birth&quot; &lt; 12 months\n@code: Client's age is less than 12 months-42\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine &quot;Client's age is less than 12 months&quot;:\n  Elements.&quot;Current Patient Age In Months&quot; &lt; 12\n\n/*\n@input: Client's age is more than or equal to 12 months\n@pseudocode: Today's date − &quot;Date of birth&quot; ≥ 12 months\n@code: Client's age is more than or equal to 12 months-42\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine &quot;Client's age is more than or equal to 12 months&quot;:\n  Elements.&quot;Current Patient Age In Months&quot; &gt;= 12\n\n/*\n@input: One tetanus and diphtheria booster dose was administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 1\n@code: One tetanus and diphtheria booster dose was administered-140\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine &quot;One tetanus and diphtheria booster dose was administered&quot;:\n  &quot;Number of Td Booster Series Doses Administered&quot; = 1\n\n/*\n@input: Client's age is less than 4 years\n@pseudocode: Today's date − &quot;Date of birth&quot; &lt; 4 years\n@code: Client's age is less than 4 years-40\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine &quot;Client's age is less than 4 years&quot;:\n  Elements.&quot;Current Patient Age In Years&quot; &lt; 4\n\n/*\n@input: Client's age is more than or equal to 4 years\n@pseudocode: Today's date − &quot;Date of birth&quot; ≥ 4 years\n@code: Client's age is more than or equal to 4 years-40\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine &quot;Client's age is more than or equal to 4 years&quot;:\n  Elements.&quot;Current Patient Age In Years&quot; &gt;= 4\n\n/*\n@input: Two tetanus and diphtheria booster doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 2\n@code: Two tetanus and diphtheria booster doses were administered-140\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine &quot;Two tetanus and diphtheria booster doses were administered&quot;:\n  &quot;Number of Td Booster Series Doses Administered&quot; = 2\n\n/*\n@input: Client's age is less than 9 years\n@pseudocode: Today's date − &quot;Date of birth&quot; &lt; 9 years\n@code: Client's age is less than 9 years-40\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine &quot;Client's age is less than 9 years&quot;:\n  Elements.&quot;Current Patient Age In Years&quot; &lt; 9\n\n/*\n@input: Client's age is more than or equal to 9 years\n@pseudocode: Today's date − &quot;Date of birth&quot; ≥ 9 years\n@code: Client's age is more than or equal to 9 years-40\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine &quot;Client's age is more than or equal to 9 years&quot;:\n  Elements.&quot;Current Patient Age In Years&quot; &gt;= 9\n\n/*\n@input: Three tetanus and diphtheria booster doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 3\n@code: Three tetanus and diphtheria booster doses were administered-140\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine &quot;Three tetanus and diphtheria booster doses were administered&quot;:\n  &quot;Number of Td Booster Series Doses Administered&quot; = 3\n\n/*\n@input: No pertussis booster doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Pertussis-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 0\n@code: No pertussis booster doses were administered-127\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;No pertussis booster doses were administered&quot;:\n  &quot;Number of Pertussis Booster Series Doses Administered&quot; = 0\n\n/*\n@input: Client's age is less than 1 year\n@pseudocode: Today's date − &quot;Date of birth&quot; &lt; 1 year\n@code: Client's age is less than 1 year-39\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine &quot;Client's age is less than 1 year&quot;:\n  Elements.&quot;Current Patient Age In Years&quot; &lt; 1\n\n/*\n@input: Client's age is between 1 year and 6 years\n@pseudocode: 1 year ≤ Today's date − &quot;Date of birth&quot; ≤ 6 years\n@code: Client's age is between 1 year and 6 years-49\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;Client's age is between 1 year and 6 years&quot;:\n  1 &lt;= Elements.&quot;Current Patient Age In Years&quot;\n  and Elements.&quot;Current Patient Age In Years&quot; &lt;= 6\n\n/*\n@input: The latest DTP dose was administered less than 6 months ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot;) &lt; 6 months\n@code: The latest DTP dose was administered less than 6 months ago-114\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;The latest DTP dose was administered less than 6 months ago&quot;:\n  &quot;Date of Latest DTP Dose&quot; is not null\n    and duration in months between &quot;Date of Latest DTP Dose&quot; and Now() &lt; 6\n\n/*\n@input: The latest DTP dose was administered more than 6 months ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot;) ≥ 6 months\n@code: The latest DTP dose was administered more than 6 months ago-114\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;The latest DTP dose was administered more than 6 months ago&quot;:\n  not(&quot;The latest DTP dose was administered less than 6 months ago&quot;)\n\n/*\n@input: Client's age is more than 6 years\n@pseudocode: Today's date − &quot;Date of birth&quot; &gt; 6 years\n@code: Client's age is more than 6 years-40\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;Client's age is more than 6 years&quot;:\n  Elements.&quot;Current Patient Age In Years&quot; &gt; 6\n\n/*\n@input: One pertussis booster dose was administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Pertussis-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 1\n@code: One pertussis booster dose was administered-127\n@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;One pertussis booster dose was administered&quot;:\n  &quot;Number of Pertussis Booster Series Doses Administered&quot; = 1\n\n/*\n@input: Client's age is more than 1 year\n@pseudocode: Today's date − &quot;Date of birth&quot; &gt; 1 year\n@code: Client's age is more than 1 year-39\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;Client's age is more than 1 year&quot;:\n  Elements.&quot;Current Patient Age In Years&quot; &gt;= 1\n\n/*\n@input: The latest DTP dose was administered less than 1 year ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot;) &lt; 1 year\n@code: The latest DTP dose was administered less than 1 year ago-112\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;The latest DTP dose was administered less than 1 year ago&quot;:\n  &quot;Date of Latest DTP Dose&quot; is not null\n    and duration in years between &quot;Date of Latest DTP Dose&quot; and Now() &lt; 1\n\n/*\n@input: The latest DTP dose was administered more than 1 year ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot;) ≥ 1 year\n@code: The latest DTP dose was administered more than 1 year ago-112\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine &quot;The latest DTP dose was administered more than 1 year ago&quot;:\n  not(&quot;The latest DTP dose was administered less than 1 year ago&quot;)\n\n/*\n@input: The latest tetanus and diphtheria dose was administered less than 1 year ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot;) &lt; 1 year\n@code: The latest tetanus and diphtheria dose was administered less than 1 year ago-131\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine &quot;The latest tetanus and diphtheria dose was administered less than 1 year ago&quot;:\n  &quot;Date of Latest Td Dose&quot; is not null\n    and duration in years between &quot;Date of Latest Td Dose&quot; and Now() &lt; 1\n\n/*\n@input: The latest tetanus and diphtheria dose was administered more than 1 year ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot;) ≥ 1 year\n@code: The latest tetanus and diphtheria dose was administered more than 1 year ago-131\n@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine &quot;The latest tetanus and diphtheria dose was administered more than 1 year ago&quot;:\n  not(&quot;The latest tetanus and diphtheria dose was administered less than 1 year ago&quot;)\n\n/*\n@input: Client is currently pregnant\n@pseudocode: &quot;Currently pregnant&quot; = TRUE\n@code: Client is currently pregnant-27\n@decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine &quot;Client is currently pregnant&quot;:\n  Elements.&quot;The client is pregnant&quot;\n\n/*\n@input: No tetanus and diphtheria booster dose was administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 0\n@code: No tetanus and diphtheria booster dose was administered-140\n@decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women\n*/\ndefine &quot;No tetanus and diphtheria booster dose was administered&quot;:\n  &quot;No tetanus and diphtheria booster doses were administered&quot;\n\n/*\n@input: One tetanus and diphtheria booster doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 1\n@code: One tetanus and diphtheria booster doses were administered-140\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n*/\ndefine &quot;One tetanus and diphtheria booster doses were administered&quot;:\n  &quot;One tetanus and diphtheria booster dose was administered&quot;\n\n/*\n@input: The latest tetanus and diphtheria dose was administered less than 4 weeks ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot;) &lt; 4 weeks\n@code: The latest tetanus and diphtheria dose was administered less than 4 weeks ago-132\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n*/\ndefine &quot;The latest tetanus and diphtheria dose was administered less than 4 weeks ago&quot;:\n  &quot;Date of Latest Td Dose&quot; is not null\n    and duration in weeks between &quot;Date of Latest Td Dose&quot; and Now() &lt; 4\n\n/*\n@input: The latest tetanus and diphtheria dose was administered more than 4 weeks ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot;) &gt; 4 weeks\n@code: The latest tetanus and diphtheria dose was administered more than 4 weeks ago-132\n@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n*/\ndefine &quot;The latest tetanus and diphtheria dose was administered more than 4 weeks ago&quot;:\n  not(&quot;The latest tetanus and diphtheria dose was administered less than 4 weeks ago&quot;)\n\n/*\n@internal: Td Doses Administered to Patient\n*/\ndefine &quot;Td Doses Administered to Patient&quot;:\n  Elements.&quot;Doses Administered to Patient&quot; I\n  where\n    I.vaccineCode in Concepts.&quot;Tetanus and diphtheria-containing vaccines&quot;\n\n/*\n@internal: Pertussis Doses Administered to Patient\n*/\ndefine &quot;Pertussis Doses Administered to Patient&quot;:\n  Elements.&quot;Doses Administered to Patient&quot; I\n  where\n    I.vaccineCode in Concepts.&quot;Pertussis-containing vaccines&quot;\n\n/*\n@internal: Date of Latest DTP Dose\n*/\ndefine &quot;Date of Latest DTP Dose&quot;:\n  date from start of &quot;DTP Doses Administered to Patient&quot;.mostRecent().occurrence.toInterval()\n\n/*\n@internal: Date of Latest Td Dose\n*/\ndefine &quot;Date of Latest Td Dose&quot;:\n  date from start of &quot;Td Doses Administered to Patient&quot;.mostRecent().occurrence.toInterval()\n\n/*\n@internal: Td Booster Series Doses Administered to Patient\n*/\ndefine &quot;Td Booster Series Doses Administered to Patient&quot;:\n  &quot;Td Doses Administered to Patient&quot;.seriesBooster()\n\n/*\n@internal: Number of Td Booster Series Doses Administered\n*/\ndefine &quot;Number of Td Booster Series Doses Administered&quot;:\n  Count(&quot;Td Booster Series Doses Administered to Patient&quot;)\n\n/*\n@internal: Pertussis Booster Series Doses Administered to Patient\n*/\ndefine &quot;Pertussis Booster Series Doses Administered to Patient&quot;:\n  &quot;Pertussis Doses Administered to Patient&quot;.seriesBooster()\n\n/*\n@internal: Number of Pertussis Booster Series Doses Administered\n*/\ndefine &quot;Number of Pertussis Booster Series Doses Administered&quot;:\n  Count(&quot;Pertussis Booster Series Doses Administered to Patient&quot;)\n</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n        \n    </table>\n</div>\n</div>"
  },
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
      "valueCode" : "computable"
    }
  ],
  "url" : "http://smart.who.int/immunizations/Library/IMMZD2DTDTPElements",
  "version" : "1.0.0",
  "name" : "IMMZD2DTDTPElements",
  "title" : "IMMZD2DTDTPElements",
  "status" : "draft",
  "experimental" : false,
  "type" : {
    "coding" : [
      {
        "system" : "http://terminology.hl7.org/CodeSystem/library-type",
        "code" : "logic-library"
      }
    ]
  },
  "date" : "2026-03-31T13:54:17+00:00",
  "publisher" : "WHO",
  "contact" : [
    {
      "name" : "WHO",
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://who.int"
        }
      ]
    }
  ],
  "description" : "This library defines context-independent elements for DTP used throughout the Immunization CPG",
  "relatedArtifact" : [
    {
      "type" : "depends-on",
      "display" : "Library WHOConcepts",
      "resource" : "http://smart.who.int/immunizations/Library/WHOConcepts"
    },
    {
      "type" : "depends-on",
      "display" : "Library WC",
      "resource" : "http://smart.who.int/immunizations/Library/WHOCommon"
    },
    {
      "type" : "depends-on",
      "display" : "Library WE",
      "resource" : "http://smart.who.int/immunizations/Library/WHOElements"
    },
    {
      "type" : "depends-on",
      "display" : "Library Common",
      "resource" : "http://smart.who.int/immunizations/Library/IMMZCommon"
    },
    {
      "type" : "depends-on",
      "display" : "Library Concepts",
      "resource" : "http://smart.who.int/immunizations/Library/IMMZConcepts"
    },
    {
      "type" : "depends-on",
      "display" : "Library Elements",
      "resource" : "http://smart.who.int/immunizations/Library/IMMZElements"
    }
  ],
  "parameter" : [
    {
      "name" : "Patient",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Patient"
    },
    {
      "name" : "DTP Doses Administered to Patient",
      "use" : "out",
      "min" : 0,
      "max" : "*",
      "type" : "Immunization"
    },
    {
      "name" : "DTP Primary Series Doses Administered to Patient",
      "use" : "out",
      "min" : 0,
      "max" : "*",
      "type" : "Immunization"
    },
    {
      "name" : "Number of DTP Primary Series Doses Administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "integer"
    },
    {
      "name" : "Client's age is less than 6 weeks",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "No DTP primary series doses were administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client's age is between 6 weeks and 1 year",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "One DTP primary series dose was administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Date of Latest DTP Dose",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "date"
    },
    {
      "name" : "The latest DTP dose was administered less than 4 weeks ago",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "The latest DTP dose was administered more than 4 weeks ago",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Two DTP primary series doses were administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Three DTP primary series doses were administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Td Doses Administered to Patient",
      "use" : "out",
      "min" : 0,
      "max" : "*",
      "type" : "Immunization"
    },
    {
      "name" : "Td Booster Series Doses Administered to Patient",
      "use" : "out",
      "min" : 0,
      "max" : "*",
      "type" : "Immunization"
    },
    {
      "name" : "Number of Td Booster Series Doses Administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "integer"
    },
    {
      "name" : "No tetanus and diphtheria booster doses were administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client's age is less than 12 months",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client's age is more than or equal to 12 months",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "One tetanus and diphtheria booster dose was administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client's age is less than 4 years",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client's age is more than or equal to 4 years",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Two tetanus and diphtheria booster doses were administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client's age is less than 9 years",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client's age is more than or equal to 9 years",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Three tetanus and diphtheria booster doses were administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Pertussis Doses Administered to Patient",
      "use" : "out",
      "min" : 0,
      "max" : "*",
      "type" : "Immunization"
    },
    {
      "name" : "Pertussis Booster Series Doses Administered to Patient",
      "use" : "out",
      "min" : 0,
      "max" : "*",
      "type" : "Immunization"
    },
    {
      "name" : "Number of Pertussis Booster Series Doses Administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "integer"
    },
    {
      "name" : "No pertussis booster doses were administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client's age is less than 1 year",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client's age is between 1 year and 6 years",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "The latest DTP dose was administered less than 6 months ago",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "The latest DTP dose was administered more than 6 months ago",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client's age is more than 6 years",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "One pertussis booster dose was administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client's age is more than 1 year",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "The latest DTP dose was administered less than 1 year ago",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "The latest DTP dose was administered more than 1 year ago",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Date of Latest Td Dose",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "date"
    },
    {
      "name" : "The latest tetanus and diphtheria dose was administered less than 1 year ago",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "The latest tetanus and diphtheria dose was administered more than 1 year ago",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Client is currently pregnant",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "No tetanus and diphtheria booster dose was administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "One tetanus and diphtheria booster doses were administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "The latest tetanus and diphtheria dose was administered less than 4 weeks ago",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "The latest tetanus and diphtheria dose was administered more than 4 weeks ago",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    }
  ],
  "content" : [
    {
      "contentType" : "text/cql",
      "data" : "Ci8qCiAgKiBMaWJyYXJ5OiBJTU1aRDJEVERUUEVsZW1lbnRzCiAgKi8KbGlicmFyeSBJTU1aRDJEVERUUEVsZW1lbnRzCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db25jZXB0cwppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0MKaW5jbHVkZSBXSE9FbGVtZW50cyBjYWxsZWQgV0UKCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgSU1NWkNvbmNlcHRzIGNhbGxlZCBDb25jZXB0cwppbmNsdWRlIElNTVpFbGVtZW50cyBjYWxsZWQgRWxlbWVudHMKCgpjb250ZXh0IFBhdGllbnQKCi8qCkBpbnRlcm5hbDogRFRQIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICJEVFAgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogIEVsZW1lbnRzLiJEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgSQogIHdoZXJlCiAgICBJLnZhY2NpbmVDb2RlIGluIENvbmNlcHRzLiJEVFAtY29udGFpbmluZyB2YWNjaW5lcyIKCi8qCkBpbnRlcm5hbDogRFRQIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdGhhdCBhcmUgaW4gdGhlIFByaW1hcnkgc2VyaWVzCiovCmRlZmluZSAiRFRQIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICAiRFRQIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5zZXJpZXNQcmltYXJ5KCkKCi8qCkBpbnRlcm5hbDogTnVtYmVyIG9mIERUUCBQcmltYXJ5IFNlcmllcyBkb3NlcwoqLwpkZWZpbmUgIk51bWJlciBvZiBEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIjoKICBDb3VudCgiRFRQIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IikKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA2IHdlZWtzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDYgd2Vla3MKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNiB3ZWVrcy00MApAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLk9uLXRpbWUgc3RhcnQ6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA2IHdlZWtzIjoKICBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBXZWVrcyIgPCA2CgovKgpAaW5wdXQ6IE5vIERUUCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJEVFAtY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAwCkBjb2RlOiBObyBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTIzCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuT24tdGltZSBzdGFydDogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5EZWxheWVkIG9yIGludGVycnVwdGVkIHNlcmllczogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLlByZWduYW5jeTogRGV0ZXJtaW5lIHdoZXRoZXIgRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMgYXJlIG5lZWRlZCBmb3IgcHJlZ25hbnQgd29tZW4KKi8KZGVmaW5lICJObyBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgRFRQIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAwCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDYgd2Vla3MgYW5kIDEgeWVhcgpAcHNldWRvY29kZTogNiB3ZWVrcyDiiaQgVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPCAxIHllYXIKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDYgd2Vla3MgYW5kIDEgeWVhci00OQpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLk9uLXRpbWUgc3RhcnQ6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIGJldHdlZW4gNiB3ZWVrcyBhbmQgMSB5ZWFyIjoKICA2IDw9IEVsZW1lbnRzLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFdlZWtzIgogIGFuZCBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPCAxCgovKgpAaW5wdXQ6IE9uZSBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkRUUC1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDEKQGNvZGU6IE9uZSBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyMwpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLk9uLXRpbWUgc3RhcnQ6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuRGVsYXllZCBvciBpbnRlcnJ1cHRlZCBzZXJpZXM6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICJPbmUgRFRQIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDEKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJEVFAtY29udGFpbmluZyB2YWNjaW5lcyIpIDwgNCB3ZWVrcwpAY29kZTogVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnby0xMTMKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5Pbi10aW1lIHN0YXJ0OiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLkRlbGF5ZWQgb3IgaW50ZXJydXB0ZWQgc2VyaWVzOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyI6CiAgIkRhdGUgb2YgTGF0ZXN0IERUUCBEb3NlIiBpcyBub3QgbnVsbAogICAgYW5kIGR1cmF0aW9uIGluIHdlZWtzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IERUUCBEb3NlIiBhbmQgTm93KCkgPCA0CgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMiKSDiiaUgNCB3ZWVrcwpAY29kZTogVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnby0xMTMKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5Pbi10aW1lIHN0YXJ0OiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLkRlbGF5ZWQgb3IgaW50ZXJydXB0ZWQgc2VyaWVzOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbyI6CiAgbm90KCJUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvIikKCi8qCkBpbnB1dDogVHdvIERUUCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJEVFAtY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAyCkBjb2RlOiBUd28gRFRQIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyMwpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLk9uLXRpbWUgc3RhcnQ6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuRGVsYXllZCBvciBpbnRlcnJ1cHRlZCBzZXJpZXM6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICJUd28gRFRQIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIERUUCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMgoKLyoKQGlucHV0OiBUaHJlZSBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMwpAY29kZTogVGhyZWUgRFRQIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyMwpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLk9uLXRpbWUgc3RhcnQ6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuRGVsYXllZCBvciBpbnRlcnJ1cHRlZCBzZXJpZXM6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5QcmVnbmFuY3k6IERldGVybWluZSB3aGV0aGVyIERUUC1jb250YWluaW5nIHZhY2NpbmVzIGFyZSBuZWVkZWQgZm9yIHByZWduYW50IHdvbWVuCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuUHJlZ25hbmN5IHN0YXJ0aW5nIHdpdGggMyBkb3NlczogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgMyBjaGlsZGhvb2QgRFRQIGRvc2VzCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuUHJlZ25hbmN5IHN0YXJ0aW5nIHdpdGggNCBkb3NlczogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgNCBjaGlsZGhvb2QgRFRQIGRvc2VzCiovCmRlZmluZSAiVGhyZWUgRFRQIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIERUUCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMwoKLyoKQGlucHV0OiBObyB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAwCkBjb2RlOiBObyB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTQwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuT24tdGltZSBzdGFydDogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5EZWxheWVkIG9yIGludGVycnVwdGVkIHNlcmllczogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLlByZWduYW5jeSBzdGFydGluZyB3aXRoIDMgZG9zZXM6IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgIk5vIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMAoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPCAxMiBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzLTQyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuT24tdGltZSBzdGFydDogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocyI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiA8IDEyCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaUgMTIgbW9udGhzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocy00MgpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLk9uLXRpbWUgc3RhcnQ6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMiOgogIEVsZW1lbnRzLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgPj0gMTIKCi8qCkBpbnB1dDogT25lIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAxCkBjb2RlOiBPbmUgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5Pbi10aW1lIHN0YXJ0OiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLkRlbGF5ZWQgb3IgaW50ZXJydXB0ZWQgc2VyaWVzOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuUHJlZ25hbmN5OiBEZXRlcm1pbmUgd2hldGhlciBEVFAtY29udGFpbmluZyB2YWNjaW5lcyBhcmUgbmVlZGVkIGZvciBwcmVnbmFudCB3b21lbgpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLlByZWduYW5jeSBzdGFydGluZyB3aXRoIDQgZG9zZXM6IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgIk9uZSB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFRkIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAxCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNCB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPCA0IHllYXJzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDQgeWVhcnMtNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5Pbi10aW1lIHN0YXJ0OiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNCB5ZWFycyI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIDwgNAoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDQgeWVhcnMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIOKJpSA0IHllYXJzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDQgeWVhcnMtNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5Pbi10aW1lIHN0YXJ0OiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gNCB5ZWFycyI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiID49IDQKCi8qCkBpbnB1dDogVHdvIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJCb29zdGVyIGRvc2UiKSA9IDIKQGNvZGU6IFR3byB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTQwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuT24tdGltZSBzdGFydDogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5EZWxheWVkIG9yIGludGVycnVwdGVkIHNlcmllczogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLlByZWduYW5jeTogRGV0ZXJtaW5lIHdoZXRoZXIgRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMgYXJlIG5lZWRlZCBmb3IgcHJlZ25hbnQgd29tZW4KQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5QcmVnbmFuY3kgc3RhcnRpbmcgd2l0aCAzIGRvc2VzOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5QcmVnbmFuY3kgc3RhcnRpbmcgd2l0aCA0IGRvc2VzOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCA0IGNoaWxkaG9vZCBEVFAgZG9zZXMKKi8KZGVmaW5lICJUd28gdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFRkIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAyCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPCA5IHllYXJzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDkgeWVhcnMtNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5Pbi10aW1lIHN0YXJ0OiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSB5ZWFycyI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIDwgOQoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDkgeWVhcnMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIOKJpSA5IHllYXJzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDkgeWVhcnMtNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5Pbi10aW1lIHN0YXJ0OiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gOSB5ZWFycyI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiID49IDkKCi8qCkBpbnB1dDogVGhyZWUgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIkJvb3N0ZXIgZG9zZSIpID0gMwpAY29kZTogVGhyZWUgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTE0MApAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLk9uLXRpbWUgc3RhcnQ6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuUHJlZ25hbmN5OiBEZXRlcm1pbmUgd2hldGhlciBEVFAtY29udGFpbmluZyB2YWNjaW5lcyBhcmUgbmVlZGVkIGZvciBwcmVnbmFudCB3b21lbgpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLlByZWduYW5jeSBzdGFydGluZyB3aXRoIDMgZG9zZXM6IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcwpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLlByZWduYW5jeSBzdGFydGluZyB3aXRoIDQgZG9zZXM6IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgIlRocmVlIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMwoKLyoKQGlucHV0OiBObyBwZXJ0dXNzaXMgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQZXJ0dXNzaXMtY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIkJvb3N0ZXIgZG9zZSIpID0gMApAY29kZTogTm8gcGVydHVzc2lzIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTI3CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuT24tdGltZSBzdGFydDogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5EZWxheWVkIG9yIGludGVycnVwdGVkIHNlcmllczogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQoqLwpkZWZpbmUgIk5vIHBlcnR1c3NpcyBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFBlcnR1c3NpcyBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMAoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEgeWVhcgpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPCAxIHllYXIKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMSB5ZWFyLTM5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuT24tdGltZSBzdGFydDogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEgeWVhciI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIDwgMQoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiAxIHllYXIgYW5kIDYgeWVhcnMKQHBzZXVkb2NvZGU6IDEgeWVhciDiiaQgVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omkIDYgeWVhcnMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDEgeWVhciBhbmQgNiB5ZWFycy00OQpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLk9uLXRpbWUgc3RhcnQ6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuRGVsYXllZCBvciBpbnRlcnJ1cHRlZCBzZXJpZXM6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiAxIHllYXIgYW5kIDYgeWVhcnMiOgogIDEgPD0gRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiCiAgYW5kIEVsZW1lbnRzLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiA8PSA2CgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNiBtb250aHMgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkRUUC1jb250YWluaW5nIHZhY2NpbmVzIikgPCA2IG1vbnRocwpAY29kZTogVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA2IG1vbnRocyBhZ28tMTE0CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuT24tdGltZSBzdGFydDogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5EZWxheWVkIG9yIGludGVycnVwdGVkIHNlcmllczogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNiBtb250aHMgYWdvIjoKICAiRGF0ZSBvZiBMYXRlc3QgRFRQIERvc2UiIGlzIG5vdCBudWxsCiAgICBhbmQgZHVyYXRpb24gaW4gbW9udGhzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IERUUCBEb3NlIiBhbmQgTm93KCkgPCA2CgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNiBtb250aHMgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkRUUC1jb250YWluaW5nIHZhY2NpbmVzIikg4omlIDYgbW9udGhzCkBjb2RlOiBUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDYgbW9udGhzIGFnby0xMTQKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5Pbi10aW1lIHN0YXJ0OiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLkRlbGF5ZWQgb3IgaW50ZXJydXB0ZWQgc2VyaWVzOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA2IG1vbnRocyBhZ28iOgogIG5vdCgiVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA2IG1vbnRocyBhZ28iKQoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDYgeWVhcnMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiID4gNiB5ZWFycwpAY29kZTogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA2IHllYXJzLTQwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuT24tdGltZSBzdGFydDogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5EZWxheWVkIG9yIGludGVycnVwdGVkIHNlcmllczogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNiB5ZWFycyI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiID4gNgoKLyoKQGlucHV0OiBPbmUgcGVydHVzc2lzIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBlcnR1c3Npcy1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAxCkBjb2RlOiBPbmUgcGVydHVzc2lzIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyNwpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLk9uLXRpbWUgc3RhcnQ6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuRGVsYXllZCBvciBpbnRlcnJ1cHRlZCBzZXJpZXM6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICJPbmUgcGVydHVzc2lzIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFBlcnR1c3NpcyBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMQoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDEgeWVhcgpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPiAxIHllYXIKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gMSB5ZWFyLTM5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuRGVsYXllZCBvciBpbnRlcnJ1cHRlZCBzZXJpZXM6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDEgeWVhciI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiID49IDEKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkRUUC1jb250YWluaW5nIHZhY2NpbmVzIikgPCAxIHllYXIKQGNvZGU6IFRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnby0xMTIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5EZWxheWVkIG9yIGludGVycnVwdGVkIHNlcmllczogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnbyI6CiAgIkRhdGUgb2YgTGF0ZXN0IERUUCBEb3NlIiBpcyBub3QgbnVsbAogICAgYW5kIGR1cmF0aW9uIGluIHllYXJzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IERUUCBEb3NlIiBhbmQgTm93KCkgPCAxCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMSB5ZWFyIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJEVFAtY29udGFpbmluZyB2YWNjaW5lcyIpIOKJpSAxIHllYXIKQGNvZGU6IFRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMSB5ZWFyIGFnby0xMTIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5EZWxheWVkIG9yIGludGVycnVwdGVkIHNlcmllczogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMSB5ZWFyIGFnbyI6CiAgbm90KCJUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28iKQoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZyB2YWNjaW5lcyIpIDwgMSB5ZWFyCkBjb2RlOiBUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvLTEzMQpAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLkRlbGF5ZWQgb3IgaW50ZXJydXB0ZWQgc2VyaWVzOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuUHJlZ25hbmN5IHN0YXJ0aW5nIHdpdGggMyBkb3NlczogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgMyBjaGlsZGhvb2QgRFRQIGRvc2VzCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuUHJlZ25hbmN5IHN0YXJ0aW5nIHdpdGggNCBkb3NlczogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgNCBjaGlsZGhvb2QgRFRQIGRvc2VzCiovCmRlZmluZSAiVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnbyI6CiAgIkRhdGUgb2YgTGF0ZXN0IFRkIERvc2UiIGlzIG5vdCBudWxsCiAgICBhbmQgZHVyYXRpb24gaW4geWVhcnMgYmV0d2VlbiAiRGF0ZSBvZiBMYXRlc3QgVGQgRG9zZSIgYW5kIE5vdygpIDwgMQoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAxIHllYXIgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZyB2YWNjaW5lcyIpIOKJpSAxIHllYXIKQGNvZGU6IFRoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28tMTMxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuRGVsYXllZCBvciBpbnRlcnJ1cHRlZCBzZXJpZXM6IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5QcmVnbmFuY3kgc3RhcnRpbmcgd2l0aCAzIGRvc2VzOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5QcmVnbmFuY3kgc3RhcnRpbmcgd2l0aCA0IGRvc2VzOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCA0IGNoaWxkaG9vZCBEVFAgZG9zZXMKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAxIHllYXIgYWdvIjoKICBub3QoIlRoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28iKQoKLyoKQGlucHV0OiBDbGllbnQgaXMgY3VycmVudGx5IHByZWduYW50CkBwc2V1ZG9jb2RlOiAiQ3VycmVudGx5IHByZWduYW50IiA9IFRSVUUKQGNvZGU6IENsaWVudCBpcyBjdXJyZW50bHkgcHJlZ25hbnQtMjcKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5QcmVnbmFuY3k6IERldGVybWluZSB3aGV0aGVyIERUUC1jb250YWluaW5nIHZhY2NpbmVzIGFyZSBuZWVkZWQgZm9yIHByZWduYW50IHdvbWVuCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuUHJlZ25hbmN5IHN0YXJ0aW5nIHdpdGggMyBkb3NlczogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgMyBjaGlsZGhvb2QgRFRQIGRvc2VzCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuUHJlZ25hbmN5IHN0YXJ0aW5nIHdpdGggNCBkb3NlczogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgNCBjaGlsZGhvb2QgRFRQIGRvc2VzCiovCmRlZmluZSAiQ2xpZW50IGlzIGN1cnJlbnRseSBwcmVnbmFudCI6CiAgRWxlbWVudHMuIlRoZSBjbGllbnQgaXMgcHJlZ25hbnQiCgovKgpAaW5wdXQ6IE5vIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAwCkBjb2RlOiBObyB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTE0MApAZGVjaXNpb246IElNTVouRDIuRFQuRFRQLlByZWduYW5jeTogRGV0ZXJtaW5lIHdoZXRoZXIgRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMgYXJlIG5lZWRlZCBmb3IgcHJlZ25hbnQgd29tZW4KKi8KZGVmaW5lICJObyB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTm8gdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIgoKLyoKQGlucHV0OiBPbmUgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIkJvb3N0ZXIgZG9zZSIpID0gMQpAY29kZTogT25lIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5QcmVnbmFuY3kgc3RhcnRpbmcgd2l0aCAzIGRvc2VzOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMKKi8KZGVmaW5lICJPbmUgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIjoKICAiT25lIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZyB2YWNjaW5lcyIpIDwgNCB3ZWVrcwpAY29kZTogVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28tMTMyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EVFAuUHJlZ25hbmN5IHN0YXJ0aW5nIHdpdGggMyBkb3NlczogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgMyBjaGlsZGhvb2QgRFRQIGRvc2VzCiovCmRlZmluZSAiVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iOgogICJEYXRlIG9mIExhdGVzdCBUZCBEb3NlIiBpcyBub3QgbnVsbAogICAgYW5kIGR1cmF0aW9uIGluIHdlZWtzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IFRkIERvc2UiIGFuZCBOb3coKSA8IDQKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzIikgPiA0IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnby0xMzIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRUUC5QcmVnbmFuY3kgc3RhcnRpbmcgd2l0aCAzIGRvc2VzOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbyI6CiAgbm90KCJUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyIpCgovKgpAaW50ZXJuYWw6IFRkIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50CiovCmRlZmluZSAiVGQgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogIEVsZW1lbnRzLiJEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgSQogIHdoZXJlCiAgICBJLnZhY2NpbmVDb2RlIGluIENvbmNlcHRzLiJUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcgdmFjY2luZXMiCgovKgpAaW50ZXJuYWw6IFBlcnR1c3NpcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudAoqLwpkZWZpbmUgIlBlcnR1c3NpcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgRWxlbWVudHMuIkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBJCiAgd2hlcmUKICAgIEkudmFjY2luZUNvZGUgaW4gQ29uY2VwdHMuIlBlcnR1c3Npcy1jb250YWluaW5nIHZhY2NpbmVzIgoKLyoKQGludGVybmFsOiBEYXRlIG9mIExhdGVzdCBEVFAgRG9zZQoqLwpkZWZpbmUgIkRhdGUgb2YgTGF0ZXN0IERUUCBEb3NlIjoKICBkYXRlIGZyb20gc3RhcnQgb2YgIkRUUCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIubW9zdFJlY2VudCgpLm9jY3VycmVuY2UudG9JbnRlcnZhbCgpCgovKgpAaW50ZXJuYWw6IERhdGUgb2YgTGF0ZXN0IFRkIERvc2UKKi8KZGVmaW5lICJEYXRlIG9mIExhdGVzdCBUZCBEb3NlIjoKICBkYXRlIGZyb20gc3RhcnQgb2YgIlRkIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5tb3N0UmVjZW50KCkub2NjdXJyZW5jZS50b0ludGVydmFsKCkKCi8qCkBpbnRlcm5hbDogVGQgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICJUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgIlRkIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5zZXJpZXNCb29zdGVyKCkKCi8qCkBpbnRlcm5hbDogTnVtYmVyIG9mIFRkIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZAoqLwpkZWZpbmUgIk51bWJlciBvZiBUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiOgogIENvdW50KCJUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIpCgovKgpAaW50ZXJuYWw6IFBlcnR1c3NpcyBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudAoqLwpkZWZpbmUgIlBlcnR1c3NpcyBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgIlBlcnR1c3NpcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIuc2VyaWVzQm9vc3RlcigpCgovKgpAaW50ZXJuYWw6IE51bWJlciBvZiBQZXJ0dXNzaXMgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkCiovCmRlZmluZSAiTnVtYmVyIG9mIFBlcnR1c3NpcyBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiOgogIENvdW50KCJQZXJ0dXNzaXMgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiKQo="
    }
  ]
}